Added PG and leveraged core CLI for SQL migrations (#269)
* Added PG and leveraged core CLI for SQL migrations * fixed pylint errors * Updated texts to show properly * fixed flake8 issues * renamed scenarios to more appropriate scenario inputs * added headers * Updated _help with project types
This commit is contained in:
Родитель
20bdd50671
Коммит
3a2ca20677
|
@ -9,20 +9,21 @@ helps['dms project create'] = """
|
||||||
type: command
|
type: command
|
||||||
short-summary: Create a migration Project which can contain multiple Tasks.
|
short-summary: Create a migration Project which can contain multiple Tasks.
|
||||||
long-summary: |
|
long-summary: |
|
||||||
This extension currently supports the following project configurations.
|
The following project configurations are supported:
|
||||||
-) source -> target :: data movement type
|
-) source -> target
|
||||||
1) SQL -> SQLDB :: One time
|
1) SQL -> SQLDB
|
||||||
2) MySQL -> AzureDbForMySql :: Continuous
|
2) MySQL -> AzureDbForMySql
|
||||||
|
3) PostgreSQL -> AzureDbForPostgreSQL
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
- name: --source-platform
|
- name: --source-platform
|
||||||
type: string
|
type: string
|
||||||
short-summary: >
|
short-summary: >
|
||||||
The type of server for the source database. The supported types are: SQL, MySQL.
|
The type of server for the source database. The supported types are: SQL, MySQL, PostgreSQL.
|
||||||
- name: --target-platform
|
- name: --target-platform
|
||||||
type: string
|
type: string
|
||||||
short-summary: >
|
short-summary: >
|
||||||
The type of service for the target database. The supported types are: SQLDB, AzureDbForMySql.
|
The type of service for the target database. The supported types are: SQLDB, AzureDbForMySql, AzureDbForPostgreSQL.
|
||||||
examples:
|
examples:
|
||||||
- name: Create a SQL Project for a DMS instance.
|
- name: Create a SQL Project for a DMS instance.
|
||||||
text: >
|
text: >
|
||||||
|
@ -32,15 +33,26 @@ helps['dms project create'] = """
|
||||||
helps['dms project task create'] = """
|
helps['dms project task create'] = """
|
||||||
type: command
|
type: command
|
||||||
short-summary: Create and start a migration Task.
|
short-summary: Create and start a migration Task.
|
||||||
|
long-summary: |
|
||||||
|
The following task configurations are supported:
|
||||||
|
-) source -> target :: task type
|
||||||
|
1) SQL -> SQLDB :: OfflineMigration
|
||||||
|
2) MySQL -> AzureDbForMySql :: OnlineMigration
|
||||||
|
3) PostgreSQL -> AzureDbForPostgreSQL :: OnlineMigration
|
||||||
|
|
||||||
parameters:
|
parameters:
|
||||||
|
- name: --task-type
|
||||||
|
type: string
|
||||||
|
short-summary: >
|
||||||
|
The type of data movement the task will support. The supported types are: OnlineMigration, OfflineMigration.
|
||||||
- name: --source-platform
|
- name: --source-platform
|
||||||
type: string
|
type: string
|
||||||
short-summary: >
|
short-summary: >
|
||||||
The type of server for the source database. The supported types are: SQL, MySQL.
|
The type of server for the source database. The supported types are: SQL, MySQL, PostgreSQL.
|
||||||
- name: --target-platform
|
- name: --target-platform
|
||||||
type: string
|
type: string
|
||||||
short-summary: >
|
short-summary: >
|
||||||
The type of server for the target database. The supported types are: SQLDB, AzureDbForMySql.
|
The type of server for the target database. The supported types are: SQLDB, AzureDbForMySql, AzureDbForPostgreSQL.
|
||||||
- name: --database-options-json
|
- name: --database-options-json
|
||||||
type: string
|
type: string
|
||||||
short-summary: >
|
short-summary: >
|
||||||
|
@ -68,10 +80,10 @@ helps['dms project task create'] = """
|
||||||
examples:
|
examples:
|
||||||
- name: Create and start a SQL Task which performs no validation checks.
|
- name: Create and start a SQL Task which performs no validation checks.
|
||||||
text: >
|
text: >
|
||||||
az dms project task create --database-options-json C:\\CLI Files\\databaseOptions.json -n mytask --project-name myproject -g myresourcegroup --service-name mydms --source-connection-json '{'dataSource': 'myserver', 'authentication': 'SqlAuthentication', 'encryptConnection': 'true', 'trustServerCertificate': 'true'}' --target-connection-json C:\\CLI Files\\targetConnection.json
|
az dms project task create --database-options-json C:\\CLI Files\\databaseOptions.json -n mytask --project-name myproject -g myresourcegroup --service-name mydms --source-connection-json '{'dataSource': 'myserver', 'authentication': 'SqlAuthentication', 'encryptConnection': 'true', 'trustServerCertificate': 'true'}' --target-connection-json C:\\CLI Files\\targetConnection.json --source-platform sql --target-platform sqldb --task-type offlinemigration
|
||||||
- name: Create and start a SQL Task which performs all validation checks.
|
- name: Create and start a SQL Task which performs all validation checks.
|
||||||
text: >
|
text: >
|
||||||
az dms project task create --database-options-json C:\\CLI Files\\databaseOptions.json -n mytask --project-name myproject -g myresourcegroup --service-name mydms --source-connection-json C:\\CLI Files\\sourceConnection.json --target-connection-json C:\\CLI Files\\targetConnection.json --enable-data-integrity-validation=True --enable-query-analysis-validation --enable-schema-validation
|
az dms project task create --database-options-json C:\\CLI Files\\databaseOptions.json -n mytask --project-name myproject -g myresourcegroup --service-name mydms --source-connection-json C:\\CLI Files\\sourceConnection.json --target-connection-json C:\\CLI Files\\targetConnection.json --enable-data-integrity-validation=True --enable-query-analysis-validation --enable-schema-validation --source-platform sql --target-platform sqldb --task-type offlinemigration
|
||||||
- name: For SQL, the format of the database options JSON object.
|
- name: For SQL, the format of the database options JSON object.
|
||||||
long-summary: |
|
long-summary: |
|
||||||
For SQL we support per table migrations. To use this, specify the tables names in the 'table_map' as below.
|
For SQL we support per table migrations. To use this, specify the tables names in the 'table_map' as below.
|
||||||
|
@ -90,7 +102,7 @@ helps['dms project task create'] = """
|
||||||
},
|
},
|
||||||
...n
|
...n
|
||||||
]
|
]
|
||||||
- name: For MySQL, the format of the database options JSON object.
|
- name: For MySQL and PostgreSQL, the format of the database options JSON object.
|
||||||
text: >
|
text: >
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
@ -117,11 +129,20 @@ helps['dms project task create'] = """
|
||||||
"serverName": "server name",
|
"serverName": "server name",
|
||||||
"port": 3306 // if this is missing, it will default to 3306
|
"port": 3306 // if this is missing, it will default to 3306
|
||||||
}
|
}
|
||||||
|
- name: The format of the connection JSON object for PostgreSQL connections.
|
||||||
|
text: >
|
||||||
|
{
|
||||||
|
"userName": "user name", // if this is missing or null, you will be prompted
|
||||||
|
"password": null, // if this is missing or null (highly recommended) you will be prompted
|
||||||
|
"serverName": "server name",
|
||||||
|
"databaseName": "database name", // if this is missing, it will default to the 'postgres' database
|
||||||
|
"port": 5432 // if this is missing, it will default to 5432
|
||||||
|
}
|
||||||
"""
|
"""
|
||||||
|
|
||||||
helps['dms project task cutover'] = """
|
helps['dms project task cutover'] = """
|
||||||
type: command
|
type: command
|
||||||
short-summary: For a continuous task, complete the migration by performing a cutover.
|
short-summary: For an online migration task, complete the migration by performing a cutover.
|
||||||
long-summary: |
|
long-summary: |
|
||||||
To see the result of the request, please use the 'task show' command:
|
To see the result of the request, please use the 'task show' command:
|
||||||
az dms project task show ... --expand command
|
az dms project task show ... --expand command
|
||||||
|
|
|
@ -12,11 +12,16 @@ def load_arguments(self, _):
|
||||||
name_arg_type = CLIArgumentType(options_list=['--name', '-n'], metavar='NAME')
|
name_arg_type = CLIArgumentType(options_list=['--name', '-n'], metavar='NAME')
|
||||||
|
|
||||||
with self.argument_context('dms project') as c:
|
with self.argument_context('dms project') as c:
|
||||||
c.argument('service_name', options_list=['--service-name'], help="The name of the Service.")
|
c.argument('service_name', options_list=['--service-name'],
|
||||||
c.argument('project_name', name_arg_type, help='The name of the Project.')
|
help="The name of the Service. DMS Service is an Azure instance that performs database migrations.")
|
||||||
|
c.argument('project_name', name_arg_type,
|
||||||
|
help='The name of the Project. DMS Project is a logical grouping that encompasses \
|
||||||
|
source database connection, target database connection and a list of databases to migrate.')
|
||||||
c.argument('tags', tags_type, help='A space-delimited list of tags in tag1[=value1]" format.')
|
c.argument('tags', tags_type, help='A space-delimited list of tags in tag1[=value1]" format.')
|
||||||
|
|
||||||
with self.argument_context('dms project task') as c:
|
with self.argument_context('dms project task') as c:
|
||||||
c.argument('service_name', options_list=['--service-name'], help="The name of the Service.")
|
c.argument('service_name', options_list=['--service-name'])
|
||||||
c.argument('project_name', options_list=['--project-name'])
|
c.argument('project_name', options_list=['--project-name'])
|
||||||
c.argument('task_name', name_arg_type, help='The name of the Task.')
|
c.argument('task_name', name_arg_type,
|
||||||
|
help='The name of the Task. DMS Task is the activity that performs a migration \
|
||||||
|
related task. There could be multiple Tasks associated to a Project. ')
|
||||||
|
|
|
@ -4,18 +4,19 @@
|
||||||
# --------------------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from azure.cli.core.util import get_file_json, shell_safe_json_parse
|
|
||||||
from knack.prompting import prompt, prompt_pass
|
from knack.prompting import prompt, prompt_pass
|
||||||
from azext_dms.vendored_sdks.datamigration.models import (Project,
|
from azext_dms.vendored_sdks.datamigration.models import (Project,
|
||||||
SqlConnectionInfo,
|
|
||||||
MySqlConnectionInfo,
|
MySqlConnectionInfo,
|
||||||
|
PostgreSqlConnectionInfo,
|
||||||
MigrateSyncCompleteCommandInput,
|
MigrateSyncCompleteCommandInput,
|
||||||
MigrateSqlServerSqlDbTaskProperties,
|
|
||||||
MigrateMySqlAzureDbForMySqlSyncTaskProperties,
|
MigrateMySqlAzureDbForMySqlSyncTaskProperties,
|
||||||
|
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties,
|
||||||
MigrateSyncCompleteCommandProperties)
|
MigrateSyncCompleteCommandProperties)
|
||||||
from azext_dms.scenarios import (get_migrate_sql_server_to_sqldb_input,
|
from azext_dms.scenario_inputs import (get_migrate_mysql_to_azuredbformysql_sync_input,
|
||||||
get_migrate_mysql_to_azuredbformysql_sync_input)
|
get_migrate_postgresql_to_azuredbforpostgresql_sync_input)
|
||||||
|
from azure.cli.core.util import get_file_json, shell_safe_json_parse
|
||||||
|
from azure.cli.command_modules.dms.custom import (create_or_update_project as core_create_or_update_project,
|
||||||
|
create_task as core_create_task)
|
||||||
|
|
||||||
|
|
||||||
# region Project
|
# region Project
|
||||||
|
@ -29,21 +30,40 @@ def create_or_update_project(
|
||||||
target_platform,
|
target_platform,
|
||||||
tags=None):
|
tags=None):
|
||||||
|
|
||||||
|
# Set inputs to lowercase
|
||||||
|
source_platform = source_platform.lower()
|
||||||
|
target_platform = target_platform.lower()
|
||||||
|
|
||||||
# Validation: Test scenario eligibility
|
# Validation: Test scenario eligibility
|
||||||
if not determine_scenario_eligibility(source_platform, target_platform):
|
if not determine_source_target_eligibility(source_platform, target_platform):
|
||||||
raise ValueError('The provided source-platform and target-platform combination is not appropriate. \n\
|
# If not an extension scenario, run CLI core method
|
||||||
The only supported scenarios are: \n\
|
# TODO: We currently don't have any CLI core code to perform any validations
|
||||||
1) Sql -> SqlDb \n\
|
# because of this we need to raise the error here.
|
||||||
2) MySql -> AzureDbForMySql')
|
try:
|
||||||
|
# TODO: Remove this check after validations are added to core
|
||||||
|
if source_platform != "sql" or target_platform != "sqldb":
|
||||||
|
raise ValueError
|
||||||
|
|
||||||
# Get the data movement type
|
core_res = core_create_or_update_project(
|
||||||
data_movement_type = get_data_movement_type(source_platform, target_platform)
|
client,
|
||||||
|
project_name,
|
||||||
|
service_name,
|
||||||
|
resource_group_name,
|
||||||
|
location,
|
||||||
|
source_platform,
|
||||||
|
target_platform,
|
||||||
|
tags)
|
||||||
|
except:
|
||||||
|
raise ValueError("The provided source-platform, target-platform combination is not appropriate. \n\
|
||||||
|
Please refer to the help file 'az dms project create -h' for the supported scenarios.")
|
||||||
|
else:
|
||||||
|
return core_res
|
||||||
|
|
||||||
|
# Run extension scenario
|
||||||
parameters = Project(location=location,
|
parameters = Project(location=location,
|
||||||
source_platform=source_platform,
|
source_platform=source_platform,
|
||||||
target_platform=target_platform,
|
target_platform=target_platform,
|
||||||
tags=tags,
|
tags=tags)
|
||||||
data_movement=data_movement_type)
|
|
||||||
|
|
||||||
return client.create_or_update(parameters=parameters,
|
return client.create_or_update(parameters=parameters,
|
||||||
group_name=resource_group_name,
|
group_name=resource_group_name,
|
||||||
|
@ -61,6 +81,7 @@ def create_task(
|
||||||
task_name,
|
task_name,
|
||||||
source_platform,
|
source_platform,
|
||||||
target_platform,
|
target_platform,
|
||||||
|
task_type,
|
||||||
source_connection_json,
|
source_connection_json,
|
||||||
target_connection_json,
|
target_connection_json,
|
||||||
database_options_json,
|
database_options_json,
|
||||||
|
@ -68,38 +89,70 @@ def create_task(
|
||||||
enable_data_integrity_validation=False,
|
enable_data_integrity_validation=False,
|
||||||
enable_query_analysis_validation=False):
|
enable_query_analysis_validation=False):
|
||||||
|
|
||||||
# Validation: Test scenario eligibility
|
# Set inputs to lowercase
|
||||||
if not determine_scenario_eligibility(source_platform, target_platform):
|
task_type = task_type.lower()
|
||||||
raise ValueError('The provided source-platform and target-platform combination is not appropriate. \n\
|
source_platform = source_platform.lower()
|
||||||
The only supported scenarios are: \n\
|
target_platform = target_platform.lower()
|
||||||
1) Sql -> SqlDb \n \
|
|
||||||
2) MySql -> AzureDbForMySql')
|
|
||||||
|
|
||||||
|
# Validation: Test scenario eligibility
|
||||||
|
if not determine_scenario_eligibility(source_platform, target_platform, task_type):
|
||||||
|
# If not an extension scenario, run CLI core method
|
||||||
|
# TODO: We currently don't have any CLI core code to perform any validations
|
||||||
|
# because of this we need to raise the error here.
|
||||||
|
try:
|
||||||
|
# CLI core doesnt currently support task types - it only supports offline migrations.
|
||||||
|
# TODO: Remove this check after task types are supported
|
||||||
|
if source_platform != "sql" or target_platform != "sqldb" or task_type != "offlinemigration":
|
||||||
|
raise ValueError
|
||||||
|
|
||||||
|
core_res = core_create_task(
|
||||||
|
client,
|
||||||
|
resource_group_name,
|
||||||
|
service_name,
|
||||||
|
project_name,
|
||||||
|
task_name,
|
||||||
|
source_connection_json,
|
||||||
|
target_connection_json,
|
||||||
|
database_options_json,
|
||||||
|
enable_schema_validation,
|
||||||
|
enable_data_integrity_validation,
|
||||||
|
enable_query_analysis_validation)
|
||||||
|
except:
|
||||||
|
raise ValueError("The provided source-platform, target-platform, and task-type \
|
||||||
|
combination is not appropriate. \n\
|
||||||
|
Please refer to the help file 'az dms project task create -h' for the supported scenarios.")
|
||||||
|
else:
|
||||||
|
return core_res
|
||||||
|
|
||||||
|
# Run extension scenario
|
||||||
|
|
||||||
|
# Source connection info
|
||||||
if os.path.exists(source_connection_json):
|
if os.path.exists(source_connection_json):
|
||||||
source_connection_json = get_file_json(source_connection_json)
|
source_connection_json = get_file_json(source_connection_json)
|
||||||
else:
|
else:
|
||||||
source_connection_json = shell_safe_json_parse(source_connection_json)
|
source_connection_json = shell_safe_json_parse(source_connection_json)
|
||||||
source_connection_info = create_connection(source_connection_json, "Source Database", source_platform)
|
source_connection_info = create_connection(source_connection_json, "Source Database", source_platform)
|
||||||
|
|
||||||
|
# Target connection info
|
||||||
if os.path.exists(target_connection_json):
|
if os.path.exists(target_connection_json):
|
||||||
target_connection_json = get_file_json(target_connection_json)
|
target_connection_json = get_file_json(target_connection_json)
|
||||||
else:
|
else:
|
||||||
target_connection_json = shell_safe_json_parse(target_connection_json)
|
target_connection_json = shell_safe_json_parse(target_connection_json)
|
||||||
target_connection_info = create_connection(target_connection_json, "Target Database", target_platform)
|
target_connection_info = create_connection(target_connection_json, "Target Database", target_platform)
|
||||||
|
|
||||||
|
# Database options
|
||||||
if os.path.exists(database_options_json):
|
if os.path.exists(database_options_json):
|
||||||
database_options_json = get_file_json(database_options_json)
|
database_options_json = get_file_json(database_options_json)
|
||||||
else:
|
else:
|
||||||
database_options_json = shell_safe_json_parse(database_options_json)
|
database_options_json = shell_safe_json_parse(database_options_json)
|
||||||
|
|
||||||
|
# Get the task properties
|
||||||
task_properties = get_task_migration_properties(database_options_json,
|
task_properties = get_task_migration_properties(database_options_json,
|
||||||
source_platform,
|
source_platform,
|
||||||
target_platform,
|
target_platform,
|
||||||
|
task_type,
|
||||||
source_connection_info,
|
source_connection_info,
|
||||||
target_connection_info,
|
target_connection_info)
|
||||||
enable_schema_validation,
|
|
||||||
enable_data_integrity_validation,
|
|
||||||
enable_query_analysis_validation)
|
|
||||||
|
|
||||||
return client.create_or_update(group_name=resource_group_name,
|
return client.create_or_update(group_name=resource_group_name,
|
||||||
service_name=service_name,
|
service_name=service_name,
|
||||||
|
@ -132,31 +185,22 @@ def cutover_sync_task(
|
||||||
|
|
||||||
|
|
||||||
# region Helper Methods
|
# region Helper Methods
|
||||||
def determine_scenario_eligibility(source_raw, target_raw):
|
def determine_scenario_eligibility(
|
||||||
source_type = source_raw.lower()
|
source_type,
|
||||||
target_type = target_raw.lower()
|
target_type,
|
||||||
|
task_type):
|
||||||
return (source_type == "sql" and target_type == "sqldb") or \
|
return (source_type == "mysql" and target_type == "azuredbformysql" and task_type == "onlinemigration") or \
|
||||||
(source_type == "mysql" and target_type == "azuredbformysql")
|
(source_type == "postgresql" and target_type == "azuredbforpostgresql" and task_type == "onlinemigration")
|
||||||
|
|
||||||
|
|
||||||
# As of now, we dont expose Sql continuous migrations.
|
def determine_source_target_eligibility(
|
||||||
# So we'll hard code the data movement type to simplify user interaction.
|
source_type,
|
||||||
# In the future, we can remove this method and add a validation in its stead.
|
target_type):
|
||||||
def get_data_movement_type(source_type, target_type):
|
return (source_type == "mysql" and target_type == "azuredbformysql") or \
|
||||||
source_type = source_type.lower()
|
(source_type == "postgresql" and target_type == "azuredbforpostgresql")
|
||||||
target_type = target_type.lower()
|
|
||||||
oneTime = "OneTimeMigration"
|
|
||||||
cont = "Continuous"
|
|
||||||
|
|
||||||
if source_type == "sql" and target_type == "sqldb":
|
|
||||||
return oneTime
|
|
||||||
return cont
|
|
||||||
|
|
||||||
|
|
||||||
def create_connection(connection_info_json, prompt_prefix, typeOfInfo):
|
def create_connection(connection_info_json, prompt_prefix, typeOfInfo):
|
||||||
typeOfInfo = typeOfInfo.lower()
|
|
||||||
|
|
||||||
user_name = connection_info_json.get('userName', None) or prompt(prompt_prefix + 'Username: ')
|
user_name = connection_info_json.get('userName', None) or prompt(prompt_prefix + 'Username: ')
|
||||||
password = connection_info_json.get('password', None) or prompt_pass(msg=prompt_prefix + 'Password: ')
|
password = connection_info_json.get('password', None) or prompt_pass(msg=prompt_prefix + 'Password: ')
|
||||||
server_name = connection_info_json.get('serverName', None)
|
server_name = connection_info_json.get('serverName', None)
|
||||||
|
@ -166,47 +210,35 @@ def create_connection(connection_info_json, prompt_prefix, typeOfInfo):
|
||||||
password=password,
|
password=password,
|
||||||
server_name=server_name,
|
server_name=server_name,
|
||||||
port=port)
|
port=port)
|
||||||
data_source = connection_info_json.get('dataSource', None)
|
|
||||||
authentication = connection_info_json.get('authentication', None)
|
database_name = connection_info_json.get('databaseName', "postgres")
|
||||||
encrypt_connection = connection_info_json.get('encryptConnection', None)
|
port = connection_info_json.get('port', 5432)
|
||||||
trust_server_certificate = connection_info_json.get('trustServerCertificate', None)
|
return PostgreSqlConnectionInfo(user_name=user_name,
|
||||||
additional_settings = connection_info_json.get('additionalSettings', None)
|
password=password,
|
||||||
return SqlConnectionInfo(user_name=user_name,
|
server_name=server_name,
|
||||||
password=password,
|
database_name=database_name,
|
||||||
data_source=data_source,
|
port=port)
|
||||||
authentication=authentication,
|
|
||||||
encrypt_connection=encrypt_connection,
|
|
||||||
trust_server_certificate=trust_server_certificate,
|
|
||||||
additional_settings=additional_settings)
|
|
||||||
|
|
||||||
|
|
||||||
def get_task_migration_properties(
|
def get_task_migration_properties(
|
||||||
database_options_json,
|
database_options_json,
|
||||||
source_raw,
|
source_type,
|
||||||
target_raw,
|
target_type,
|
||||||
|
task_type,
|
||||||
source_connection_info,
|
source_connection_info,
|
||||||
target_connection_info,
|
target_connection_info):
|
||||||
enable_schema_validation,
|
if source_type == 'mysql' and target_type == 'azuredbformysql' and task_type == "onlinemigration":
|
||||||
enable_data_integrity_validation,
|
|
||||||
enable_query_analysis_validation):
|
|
||||||
source_type = source_raw.lower()
|
|
||||||
target_type = target_raw.lower()
|
|
||||||
|
|
||||||
if source_type == 'sql' and target_type == 'sqldb':
|
|
||||||
TaskProperties = MigrateSqlServerSqlDbTaskProperties
|
|
||||||
task_input = get_migrate_sql_server_to_sqldb_input(
|
|
||||||
database_options_json,
|
|
||||||
source_connection_info,
|
|
||||||
target_connection_info,
|
|
||||||
enable_schema_validation,
|
|
||||||
enable_data_integrity_validation,
|
|
||||||
enable_query_analysis_validation)
|
|
||||||
elif source_type == 'mysql' and target_type == 'azuredbformysql':
|
|
||||||
TaskProperties = MigrateMySqlAzureDbForMySqlSyncTaskProperties
|
TaskProperties = MigrateMySqlAzureDbForMySqlSyncTaskProperties
|
||||||
task_input = get_migrate_mysql_to_azuredbformysql_sync_input(
|
GetInput = get_migrate_mysql_to_azuredbformysql_sync_input
|
||||||
database_options_json,
|
elif source_type == 'postgresql' and target_type == 'azuredbforpostgresql' and task_type == "onlinemigration":
|
||||||
source_connection_info,
|
TaskProperties = MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties
|
||||||
target_connection_info)
|
GetInput = get_migrate_postgresql_to_azuredbforpostgresql_sync_input
|
||||||
|
|
||||||
return TaskProperties(input=task_input)
|
task_input = GetInput(
|
||||||
|
database_options_json,
|
||||||
|
source_connection_info,
|
||||||
|
target_connection_info)
|
||||||
|
|
||||||
|
task_properties_params = {'input': task_input}
|
||||||
|
return TaskProperties(**task_properties_params)
|
||||||
# endregion
|
# endregion
|
||||||
|
|
|
@ -3,36 +3,10 @@
|
||||||
# Licensed under the MIT License. See License.txt in the project root for license information.
|
# Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
# --------------------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
from azext_dms.vendored_sdks.datamigration.models import (MigrationValidationOptions,
|
from azext_dms.vendored_sdks.datamigration.models import (MigrateMySqlAzureDbForMySqlSyncDatabaseInput,
|
||||||
MigrateSqlServerSqlDbDatabaseInput,
|
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput,
|
||||||
MigrateMySqlAzureDbForMySqlSyncDatabaseInput,
|
MigrateMySqlAzureDbForMySqlSyncTaskInput,
|
||||||
MigrateSqlServerSqlDbTaskInput,
|
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput)
|
||||||
MigrateMySqlAzureDbForMySqlSyncTaskInput)
|
|
||||||
|
|
||||||
|
|
||||||
def get_migrate_sql_server_to_sqldb_input(database_options_json,
|
|
||||||
source_connection_info,
|
|
||||||
target_connection_info,
|
|
||||||
enable_schema_validation,
|
|
||||||
enable_data_integrity_validation,
|
|
||||||
enable_query_analysis_validation):
|
|
||||||
validation_options = MigrationValidationOptions(enable_schema_validation=enable_schema_validation,
|
|
||||||
enable_data_integrity_validation=enable_data_integrity_validation,
|
|
||||||
enable_query_analysis_validation=enable_query_analysis_validation)
|
|
||||||
|
|
||||||
database_options = []
|
|
||||||
|
|
||||||
for d in database_options_json:
|
|
||||||
database_options.append(MigrateSqlServerSqlDbDatabaseInput(
|
|
||||||
name=d.get('name', None),
|
|
||||||
target_database_name=d.get('target_database_name', None),
|
|
||||||
make_source_db_read_only=d.get('make_source_db_read_only', None),
|
|
||||||
table_map=d.get('table_map', None)))
|
|
||||||
|
|
||||||
return MigrateSqlServerSqlDbTaskInput(source_connection_info=source_connection_info,
|
|
||||||
target_connection_info=target_connection_info,
|
|
||||||
selected_databases=database_options,
|
|
||||||
validation_options=validation_options)
|
|
||||||
|
|
||||||
|
|
||||||
def get_migrate_mysql_to_azuredbformysql_sync_input(database_options_json,
|
def get_migrate_mysql_to_azuredbformysql_sync_input(database_options_json,
|
||||||
|
@ -48,3 +22,18 @@ def get_migrate_mysql_to_azuredbformysql_sync_input(database_options_json,
|
||||||
return MigrateMySqlAzureDbForMySqlSyncTaskInput(source_connection_info=source_connection_info,
|
return MigrateMySqlAzureDbForMySqlSyncTaskInput(source_connection_info=source_connection_info,
|
||||||
target_connection_info=target_connection_info,
|
target_connection_info=target_connection_info,
|
||||||
selected_databases=database_options)
|
selected_databases=database_options)
|
||||||
|
|
||||||
|
|
||||||
|
def get_migrate_postgresql_to_azuredbforpostgresql_sync_input(database_options_json,
|
||||||
|
source_connection_info,
|
||||||
|
target_connection_info):
|
||||||
|
database_options = []
|
||||||
|
|
||||||
|
for d in database_options_json:
|
||||||
|
database_options.append(MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput(
|
||||||
|
name=d.get('name', None),
|
||||||
|
target_database_name=d.get('target_database_name', None)))
|
||||||
|
|
||||||
|
return MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput(source_connection_info=source_connection_info,
|
||||||
|
target_connection_info=target_connection_info,
|
||||||
|
selected_databases=database_options)
|
|
@ -47,7 +47,7 @@ class DataMigrationServiceClientConfiguration(AzureConfiguration):
|
||||||
|
|
||||||
super(DataMigrationServiceClientConfiguration, self).__init__(base_url)
|
super(DataMigrationServiceClientConfiguration, self).__init__(base_url)
|
||||||
|
|
||||||
self.add_user_agent('datamigrationserviceclient/{}'.format(VERSION))
|
self.add_user_agent('azure-mgmt-datamigration/{}'.format(VERSION))
|
||||||
self.add_user_agent('Azure-SDK-For-Python')
|
self.add_user_agent('Azure-SDK-For-Python')
|
||||||
|
|
||||||
self.credentials = credentials
|
self.credentials = credentials
|
||||||
|
@ -88,7 +88,6 @@ class DataMigrationServiceClient(object):
|
||||||
self._client = ServiceClient(self.config.credentials, self.config)
|
self._client = ServiceClient(self.config.credentials, self.config)
|
||||||
|
|
||||||
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
|
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
|
||||||
self.api_version = '2018-07-15-preview'
|
|
||||||
self._serialize = Serializer(client_models)
|
self._serialize = Serializer(client_models)
|
||||||
self._deserialize = Deserializer(client_models)
|
self._deserialize = Deserializer(client_models)
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ from .resource import Resource
|
||||||
from .get_tde_certificates_sql_task_output import GetTdeCertificatesSqlTaskOutput
|
from .get_tde_certificates_sql_task_output import GetTdeCertificatesSqlTaskOutput
|
||||||
from .selected_certificate_input import SelectedCertificateInput
|
from .selected_certificate_input import SelectedCertificateInput
|
||||||
from .file_share import FileShare
|
from .file_share import FileShare
|
||||||
|
from .postgre_sql_connection_info import PostgreSqlConnectionInfo
|
||||||
from .my_sql_connection_info import MySqlConnectionInfo
|
from .my_sql_connection_info import MySqlConnectionInfo
|
||||||
from .connection_info import ConnectionInfo
|
from .connection_info import ConnectionInfo
|
||||||
from .sql_connection_info import SqlConnectionInfo
|
from .sql_connection_info import SqlConnectionInfo
|
||||||
|
@ -36,6 +37,15 @@ from .migrate_sql_server_sql_db_sync_database_input import MigrateSqlServerSqlDb
|
||||||
from .validate_sync_migration_input_sql_server_task_input import ValidateSyncMigrationInputSqlServerTaskInput
|
from .validate_sync_migration_input_sql_server_task_input import ValidateSyncMigrationInputSqlServerTaskInput
|
||||||
from .validate_migration_input_sql_server_sql_db_sync_task_properties import ValidateMigrationInputSqlServerSqlDbSyncTaskProperties
|
from .validate_migration_input_sql_server_sql_db_sync_task_properties import ValidateMigrationInputSqlServerSqlDbSyncTaskProperties
|
||||||
from .sync_migration_database_error_event import SyncMigrationDatabaseErrorEvent
|
from .sync_migration_database_error_event import SyncMigrationDatabaseErrorEvent
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_database_error import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_error import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_table_level import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_database_level import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output_migration_level import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_database_input import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_input import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_properties import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties
|
||||||
from .migrate_my_sql_azure_db_for_my_sql_sync_task_output_database_error import MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError
|
from .migrate_my_sql_azure_db_for_my_sql_sync_task_output_database_error import MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError
|
||||||
from .migrate_my_sql_azure_db_for_my_sql_sync_task_output_error import MigrateMySqlAzureDbForMySqlSyncTaskOutputError
|
from .migrate_my_sql_azure_db_for_my_sql_sync_task_output_error import MigrateMySqlAzureDbForMySqlSyncTaskOutputError
|
||||||
from .migrate_my_sql_azure_db_for_my_sql_sync_task_output_table_level import MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel
|
from .migrate_my_sql_azure_db_for_my_sql_sync_task_output_table_level import MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel
|
||||||
|
@ -86,12 +96,6 @@ from .migrate_sql_server_sql_mi_task_output_migration_level import MigrateSqlSer
|
||||||
from .migrate_sql_server_sql_mi_task_output import MigrateSqlServerSqlMITaskOutput
|
from .migrate_sql_server_sql_mi_task_output import MigrateSqlServerSqlMITaskOutput
|
||||||
from .migrate_sql_server_sql_mi_task_input import MigrateSqlServerSqlMITaskInput
|
from .migrate_sql_server_sql_mi_task_input import MigrateSqlServerSqlMITaskInput
|
||||||
from .migrate_sql_server_sql_mi_task_properties import MigrateSqlServerSqlMITaskProperties
|
from .migrate_sql_server_sql_mi_task_properties import MigrateSqlServerSqlMITaskProperties
|
||||||
from .migration_table_metadata import MigrationTableMetadata
|
|
||||||
from .data_migration_project_metadata import DataMigrationProjectMetadata
|
|
||||||
from .my_sql_data_migration_project_metadata import MySqlDataMigrationProjectMetadata
|
|
||||||
from .get_project_details_my_sql_sql_task_output import GetProjectDetailsMySqlSqlTaskOutput
|
|
||||||
from .get_project_details_non_sql_task_input import GetProjectDetailsNonSqlTaskInput
|
|
||||||
from .get_project_details_my_sql_sql_task_properties import GetProjectDetailsMySqlSqlTaskProperties
|
|
||||||
from .connect_to_target_azure_db_for_my_sql_task_output import ConnectToTargetAzureDbForMySqlTaskOutput
|
from .connect_to_target_azure_db_for_my_sql_task_output import ConnectToTargetAzureDbForMySqlTaskOutput
|
||||||
from .connect_to_target_azure_db_for_my_sql_task_input import ConnectToTargetAzureDbForMySqlTaskInput
|
from .connect_to_target_azure_db_for_my_sql_task_input import ConnectToTargetAzureDbForMySqlTaskInput
|
||||||
from .connect_to_target_azure_db_for_my_sql_task_properties import ConnectToTargetAzureDbForMySqlTaskProperties
|
from .connect_to_target_azure_db_for_my_sql_task_properties import ConnectToTargetAzureDbForMySqlTaskProperties
|
||||||
|
@ -133,7 +137,6 @@ from .service_operation import ServiceOperation
|
||||||
from .quota_name import QuotaName
|
from .quota_name import QuotaName
|
||||||
from .quota import Quota
|
from .quota import Quota
|
||||||
from .name_availability_response import NameAvailabilityResponse
|
from .name_availability_response import NameAvailabilityResponse
|
||||||
from .project_artifacts_response import ProjectArtifactsResponse
|
|
||||||
from .available_service_sku_sku import AvailableServiceSkuSku
|
from .available_service_sku_sku import AvailableServiceSkuSku
|
||||||
from .available_service_sku_capacity import AvailableServiceSkuCapacity
|
from .available_service_sku_capacity import AvailableServiceSkuCapacity
|
||||||
from .available_service_sku import AvailableServiceSku
|
from .available_service_sku import AvailableServiceSku
|
||||||
|
@ -147,16 +150,16 @@ from .connect_to_source_my_sql_task_input import ConnectToSourceMySqlTaskInput
|
||||||
from .server_properties import ServerProperties
|
from .server_properties import ServerProperties
|
||||||
from .connect_to_source_non_sql_task_output import ConnectToSourceNonSqlTaskOutput
|
from .connect_to_source_non_sql_task_output import ConnectToSourceNonSqlTaskOutput
|
||||||
from .connect_to_source_my_sql_task_properties import ConnectToSourceMySqlTaskProperties
|
from .connect_to_source_my_sql_task_properties import ConnectToSourceMySqlTaskProperties
|
||||||
from .migrate_my_sql_sql_task_input import MigrateMySqlSqlTaskInput
|
from .database import Database
|
||||||
from .migrate_my_sql_sql_task_output import MigrateMySqlSqlTaskOutput
|
from .database_object_name import DatabaseObjectName
|
||||||
from .migrate_my_sql_sql_task_properties import MigrateMySqlSqlTaskProperties
|
from .migration_table_metadata import MigrationTableMetadata
|
||||||
|
from .data_migration_project_metadata import DataMigrationProjectMetadata
|
||||||
|
from .get_project_details_non_sql_task_input import GetProjectDetailsNonSqlTaskInput
|
||||||
|
from .non_sql_data_migration_table import NonSqlDataMigrationTable
|
||||||
|
from .non_sql_migration_task_input import NonSqlMigrationTaskInput
|
||||||
from .data_migration_error import DataMigrationError
|
from .data_migration_error import DataMigrationError
|
||||||
from .non_sql_data_migration_table_result import NonSqlDataMigrationTableResult
|
from .non_sql_data_migration_table_result import NonSqlDataMigrationTableResult
|
||||||
from .non_sql_migration_task_output import NonSqlMigrationTaskOutput
|
from .non_sql_migration_task_output import NonSqlMigrationTaskOutput
|
||||||
from .non_sql_data_migration_table import NonSqlDataMigrationTable
|
|
||||||
from .non_sql_migration_task_input import NonSqlMigrationTaskInput
|
|
||||||
from .database import Database
|
|
||||||
from .database_object_name import DatabaseObjectName
|
|
||||||
from .database_file_input import DatabaseFileInput
|
from .database_file_input import DatabaseFileInput
|
||||||
from .migrate_sql_server_sql_server_database_input import MigrateSqlServerSqlServerDatabaseInput
|
from .migrate_sql_server_sql_server_database_input import MigrateSqlServerSqlServerDatabaseInput
|
||||||
from .resource_sku_paged import ResourceSkuPaged
|
from .resource_sku_paged import ResourceSkuPaged
|
||||||
|
@ -174,7 +177,6 @@ from .data_migration_service_client_enums import (
|
||||||
BackupMode,
|
BackupMode,
|
||||||
SyncTableMigrationState,
|
SyncTableMigrationState,
|
||||||
SyncDatabaseMigrationReportingState,
|
SyncDatabaseMigrationReportingState,
|
||||||
SyncMigrationState,
|
|
||||||
ValidationStatus,
|
ValidationStatus,
|
||||||
Severity,
|
Severity,
|
||||||
UpdateActionType,
|
UpdateActionType,
|
||||||
|
@ -193,15 +195,14 @@ from .data_migration_service_client_enums import (
|
||||||
ProjectTargetPlatform,
|
ProjectTargetPlatform,
|
||||||
ProjectSourcePlatform,
|
ProjectSourcePlatform,
|
||||||
ProjectProvisioningState,
|
ProjectProvisioningState,
|
||||||
DataMovement,
|
|
||||||
NameCheckFailureReason,
|
NameCheckFailureReason,
|
||||||
ServiceScalability,
|
ServiceScalability,
|
||||||
ResourceSkuRestrictionsType,
|
ResourceSkuRestrictionsType,
|
||||||
ResourceSkuRestrictionsReasonCode,
|
ResourceSkuRestrictionsReasonCode,
|
||||||
ResourceSkuCapacityScaleType,
|
ResourceSkuCapacityScaleType,
|
||||||
MySqlTargetPlatformType,
|
MySqlTargetPlatformType,
|
||||||
ErrorType,
|
|
||||||
DataMigrationResultCode,
|
DataMigrationResultCode,
|
||||||
|
ErrorType,
|
||||||
)
|
)
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
@ -216,6 +217,7 @@ __all__ = [
|
||||||
'GetTdeCertificatesSqlTaskOutput',
|
'GetTdeCertificatesSqlTaskOutput',
|
||||||
'SelectedCertificateInput',
|
'SelectedCertificateInput',
|
||||||
'FileShare',
|
'FileShare',
|
||||||
|
'PostgreSqlConnectionInfo',
|
||||||
'MySqlConnectionInfo',
|
'MySqlConnectionInfo',
|
||||||
'ConnectionInfo',
|
'ConnectionInfo',
|
||||||
'SqlConnectionInfo',
|
'SqlConnectionInfo',
|
||||||
|
@ -232,6 +234,15 @@ __all__ = [
|
||||||
'ValidateSyncMigrationInputSqlServerTaskInput',
|
'ValidateSyncMigrationInputSqlServerTaskInput',
|
||||||
'ValidateMigrationInputSqlServerSqlDbSyncTaskProperties',
|
'ValidateMigrationInputSqlServerSqlDbSyncTaskProperties',
|
||||||
'SyncMigrationDatabaseErrorEvent',
|
'SyncMigrationDatabaseErrorEvent',
|
||||||
|
'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError',
|
||||||
|
'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError',
|
||||||
|
'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel',
|
||||||
|
'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel',
|
||||||
|
'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel',
|
||||||
|
'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput',
|
||||||
|
'MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput',
|
||||||
|
'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput',
|
||||||
|
'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties',
|
||||||
'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError',
|
'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError',
|
||||||
'MigrateMySqlAzureDbForMySqlSyncTaskOutputError',
|
'MigrateMySqlAzureDbForMySqlSyncTaskOutputError',
|
||||||
'MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel',
|
'MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel',
|
||||||
|
@ -282,12 +293,6 @@ __all__ = [
|
||||||
'MigrateSqlServerSqlMITaskOutput',
|
'MigrateSqlServerSqlMITaskOutput',
|
||||||
'MigrateSqlServerSqlMITaskInput',
|
'MigrateSqlServerSqlMITaskInput',
|
||||||
'MigrateSqlServerSqlMITaskProperties',
|
'MigrateSqlServerSqlMITaskProperties',
|
||||||
'MigrationTableMetadata',
|
|
||||||
'DataMigrationProjectMetadata',
|
|
||||||
'MySqlDataMigrationProjectMetadata',
|
|
||||||
'GetProjectDetailsMySqlSqlTaskOutput',
|
|
||||||
'GetProjectDetailsNonSqlTaskInput',
|
|
||||||
'GetProjectDetailsMySqlSqlTaskProperties',
|
|
||||||
'ConnectToTargetAzureDbForMySqlTaskOutput',
|
'ConnectToTargetAzureDbForMySqlTaskOutput',
|
||||||
'ConnectToTargetAzureDbForMySqlTaskInput',
|
'ConnectToTargetAzureDbForMySqlTaskInput',
|
||||||
'ConnectToTargetAzureDbForMySqlTaskProperties',
|
'ConnectToTargetAzureDbForMySqlTaskProperties',
|
||||||
|
@ -329,7 +334,6 @@ __all__ = [
|
||||||
'QuotaName',
|
'QuotaName',
|
||||||
'Quota',
|
'Quota',
|
||||||
'NameAvailabilityResponse',
|
'NameAvailabilityResponse',
|
||||||
'ProjectArtifactsResponse',
|
|
||||||
'AvailableServiceSkuSku',
|
'AvailableServiceSkuSku',
|
||||||
'AvailableServiceSkuCapacity',
|
'AvailableServiceSkuCapacity',
|
||||||
'AvailableServiceSku',
|
'AvailableServiceSku',
|
||||||
|
@ -343,16 +347,16 @@ __all__ = [
|
||||||
'ServerProperties',
|
'ServerProperties',
|
||||||
'ConnectToSourceNonSqlTaskOutput',
|
'ConnectToSourceNonSqlTaskOutput',
|
||||||
'ConnectToSourceMySqlTaskProperties',
|
'ConnectToSourceMySqlTaskProperties',
|
||||||
'MigrateMySqlSqlTaskInput',
|
'Database',
|
||||||
'MigrateMySqlSqlTaskOutput',
|
'DatabaseObjectName',
|
||||||
'MigrateMySqlSqlTaskProperties',
|
'MigrationTableMetadata',
|
||||||
|
'DataMigrationProjectMetadata',
|
||||||
|
'GetProjectDetailsNonSqlTaskInput',
|
||||||
|
'NonSqlDataMigrationTable',
|
||||||
|
'NonSqlMigrationTaskInput',
|
||||||
'DataMigrationError',
|
'DataMigrationError',
|
||||||
'NonSqlDataMigrationTableResult',
|
'NonSqlDataMigrationTableResult',
|
||||||
'NonSqlMigrationTaskOutput',
|
'NonSqlMigrationTaskOutput',
|
||||||
'NonSqlDataMigrationTable',
|
|
||||||
'NonSqlMigrationTaskInput',
|
|
||||||
'Database',
|
|
||||||
'DatabaseObjectName',
|
|
||||||
'DatabaseFileInput',
|
'DatabaseFileInput',
|
||||||
'MigrateSqlServerSqlServerDatabaseInput',
|
'MigrateSqlServerSqlServerDatabaseInput',
|
||||||
'ResourceSkuPaged',
|
'ResourceSkuPaged',
|
||||||
|
@ -369,7 +373,6 @@ __all__ = [
|
||||||
'BackupMode',
|
'BackupMode',
|
||||||
'SyncTableMigrationState',
|
'SyncTableMigrationState',
|
||||||
'SyncDatabaseMigrationReportingState',
|
'SyncDatabaseMigrationReportingState',
|
||||||
'SyncMigrationState',
|
|
||||||
'ValidationStatus',
|
'ValidationStatus',
|
||||||
'Severity',
|
'Severity',
|
||||||
'UpdateActionType',
|
'UpdateActionType',
|
||||||
|
@ -388,13 +391,12 @@ __all__ = [
|
||||||
'ProjectTargetPlatform',
|
'ProjectTargetPlatform',
|
||||||
'ProjectSourcePlatform',
|
'ProjectSourcePlatform',
|
||||||
'ProjectProvisioningState',
|
'ProjectProvisioningState',
|
||||||
'DataMovement',
|
|
||||||
'NameCheckFailureReason',
|
'NameCheckFailureReason',
|
||||||
'ServiceScalability',
|
'ServiceScalability',
|
||||||
'ResourceSkuRestrictionsType',
|
'ResourceSkuRestrictionsType',
|
||||||
'ResourceSkuRestrictionsReasonCode',
|
'ResourceSkuRestrictionsReasonCode',
|
||||||
'ResourceSkuCapacityScaleType',
|
'ResourceSkuCapacityScaleType',
|
||||||
'MySqlTargetPlatformType',
|
'MySqlTargetPlatformType',
|
||||||
'ErrorType',
|
|
||||||
'DataMigrationResultCode',
|
'DataMigrationResultCode',
|
||||||
|
'ErrorType',
|
||||||
]
|
]
|
||||||
|
|
|
@ -19,13 +19,12 @@ class ConnectToSourceMySqlTaskInput(Model):
|
||||||
:type source_connection_info:
|
:type source_connection_info:
|
||||||
~azure.mgmt.datamigration.models.MySqlConnectionInfo
|
~azure.mgmt.datamigration.models.MySqlConnectionInfo
|
||||||
:param target_platform: Target Platform for the migration. Possible values
|
:param target_platform: Target Platform for the migration. Possible values
|
||||||
include: 'SqlServer', 'AzureDbForMySQL'
|
include: 'AzureDbForMySQL'
|
||||||
:type target_platform: str or
|
:type target_platform: str or
|
||||||
~azure.mgmt.datamigration.models.MySqlTargetPlatformType
|
~azure.mgmt.datamigration.models.MySqlTargetPlatformType
|
||||||
:param check_permissions_group: Permission group for validations. Possible
|
:param check_permissions_group: Permission group for validations. Possible
|
||||||
values include: 'Default', 'MigrationFromSqlServerToAzureDB',
|
values include: 'Default', 'MigrationFromSqlServerToAzureDB',
|
||||||
'MigrationFromSqlServerToAzureMI', 'MigrationFromMySQLToSQL',
|
'MigrationFromSqlServerToAzureMI', 'MigrationFromMySQLToAzureDBForMySQL'
|
||||||
'MigrationFromMySQLToAzureDB', 'MigrationFromMySQLToAzureDBForMySQL'
|
|
||||||
:type check_permissions_group: str or
|
:type check_permissions_group: str or
|
||||||
~azure.mgmt.datamigration.models.ServerLevelPermissionsGroup
|
~azure.mgmt.datamigration.models.ServerLevelPermissionsGroup
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -13,8 +13,8 @@ from .project_task_properties import ProjectTaskProperties
|
||||||
|
|
||||||
|
|
||||||
class ConnectToSourceSqlServerSyncTaskProperties(ProjectTaskProperties):
|
class ConnectToSourceSqlServerSyncTaskProperties(ProjectTaskProperties):
|
||||||
"""Properties for the task that validates connection to SQL Server and also
|
"""Properties for the task that validates connection to SQL Server and source
|
||||||
validates source server requirements.
|
server requirements for online migration.
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
Variables are only populated by the server, and will be ignored when
|
||||||
sending a request.
|
sending a request.
|
||||||
|
|
|
@ -22,8 +22,7 @@ class ConnectToSourceSqlServerTaskInput(Model):
|
||||||
~azure.mgmt.datamigration.models.SqlConnectionInfo
|
~azure.mgmt.datamigration.models.SqlConnectionInfo
|
||||||
:param check_permissions_group: Permission group for validations. Possible
|
:param check_permissions_group: Permission group for validations. Possible
|
||||||
values include: 'Default', 'MigrationFromSqlServerToAzureDB',
|
values include: 'Default', 'MigrationFromSqlServerToAzureDB',
|
||||||
'MigrationFromSqlServerToAzureMI', 'MigrationFromMySQLToSQL',
|
'MigrationFromSqlServerToAzureMI', 'MigrationFromMySQLToAzureDBForMySQL'
|
||||||
'MigrationFromMySQLToAzureDB', 'MigrationFromMySQLToAzureDBForMySQL'
|
|
||||||
:type check_permissions_group: str or
|
:type check_permissions_group: str or
|
||||||
~azure.mgmt.datamigration.models.ServerLevelPermissionsGroup
|
~azure.mgmt.datamigration.models.ServerLevelPermissionsGroup
|
||||||
:param collect_logins: Flag for whether to collect logins from source
|
:param collect_logins: Flag for whether to collect logins from source
|
||||||
|
|
|
@ -13,7 +13,7 @@ from .connect_to_source_sql_server_task_output import ConnectToSourceSqlServerTa
|
||||||
|
|
||||||
|
|
||||||
class ConnectToSourceSqlServerTaskOutputAgentJobLevel(ConnectToSourceSqlServerTaskOutput):
|
class ConnectToSourceSqlServerTaskOutputAgentJobLevel(ConnectToSourceSqlServerTaskOutput):
|
||||||
"""AgentJob level output for the task that validates connection to SQL Server
|
"""Agent Job level output for the task that validates connection to SQL Server
|
||||||
and also validates source server requirements.
|
and also validates source server requirements.
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
Variables are only populated by the server, and will be ignored when
|
||||||
|
@ -23,15 +23,15 @@ class ConnectToSourceSqlServerTaskOutputAgentJobLevel(ConnectToSourceSqlServerTa
|
||||||
:vartype id: str
|
:vartype id: str
|
||||||
:param result_type: Constant filled by server.
|
:param result_type: Constant filled by server.
|
||||||
:type result_type: str
|
:type result_type: str
|
||||||
:ivar name: AgentJob name
|
:ivar name: Agent Job name
|
||||||
:vartype name: str
|
:vartype name: str
|
||||||
:ivar job_category: The type of AgentJob.
|
:ivar job_category: The type of Agent Job.
|
||||||
:vartype job_category: str
|
:vartype job_category: str
|
||||||
:ivar is_enabled: The state of the original AgentJob.
|
:ivar is_enabled: The state of the original Agent Job.
|
||||||
:vartype is_enabled: bool
|
:vartype is_enabled: bool
|
||||||
:ivar job_owner: The owner of the AgentJob
|
:ivar job_owner: The owner of the Agent Job
|
||||||
:vartype job_owner: str
|
:vartype job_owner: str
|
||||||
:ivar last_executed_on: UTC Date and time when the AgentJob was last
|
:ivar last_executed_on: UTC Date and time when the Agent Job was last
|
||||||
executed.
|
executed.
|
||||||
:vartype last_executed_on: datetime
|
:vartype last_executed_on: datetime
|
||||||
:ivar validation_errors: Validation errors
|
:ivar validation_errors: Validation errors
|
||||||
|
|
|
@ -13,10 +13,10 @@ from msrest.serialization import Model
|
||||||
|
|
||||||
|
|
||||||
class ConnectToTargetSqlSqlDbSyncTaskInput(Model):
|
class ConnectToTargetSqlSqlDbSyncTaskInput(Model):
|
||||||
"""Input for the task that validates connection to SQL DB and target server
|
"""Input for the task that validates connection to Azure SQL DB and target
|
||||||
requirements.
|
server requirements.
|
||||||
|
|
||||||
:param source_connection_info: Connection information for Source SQL
|
:param source_connection_info: Connection information for source SQL
|
||||||
Server
|
Server
|
||||||
:type source_connection_info:
|
:type source_connection_info:
|
||||||
~azure.mgmt.datamigration.models.SqlConnectionInfo
|
~azure.mgmt.datamigration.models.SqlConnectionInfo
|
||||||
|
|
|
@ -14,7 +14,7 @@ from .project_task_properties import ProjectTaskProperties
|
||||||
|
|
||||||
class ConnectToTargetSqlSqlDbSyncTaskProperties(ProjectTaskProperties):
|
class ConnectToTargetSqlSqlDbSyncTaskProperties(ProjectTaskProperties):
|
||||||
"""Properties for the task that validates connection to SQL DB and target
|
"""Properties for the task that validates connection to SQL DB and target
|
||||||
server requirements for sync scenario.
|
server requirements for online migration.
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
Variables are only populated by the server, and will be ignored when
|
||||||
sending a request.
|
sending a request.
|
||||||
|
|
|
@ -16,7 +16,8 @@ class ConnectionInfo(Model):
|
||||||
"""Defines the connection properties of a server.
|
"""Defines the connection properties of a server.
|
||||||
|
|
||||||
You probably want to use the sub-classes and not this class directly. Known
|
You probably want to use the sub-classes and not this class directly. Known
|
||||||
sub-classes are: MySqlConnectionInfo, SqlConnectionInfo
|
sub-classes are: PostgreSqlConnectionInfo, MySqlConnectionInfo,
|
||||||
|
SqlConnectionInfo
|
||||||
|
|
||||||
:param user_name: User name
|
:param user_name: User name
|
||||||
:type user_name: str
|
:type user_name: str
|
||||||
|
@ -37,7 +38,7 @@ class ConnectionInfo(Model):
|
||||||
}
|
}
|
||||||
|
|
||||||
_subtype_map = {
|
_subtype_map = {
|
||||||
'type': {'MySqlConnectionInfo': 'MySqlConnectionInfo', 'SqlConnectionInfo': 'SqlConnectionInfo'}
|
'type': {'PostgreSqlConnectionInfo': 'PostgreSqlConnectionInfo', 'MySqlConnectionInfo': 'MySqlConnectionInfo', 'SqlConnectionInfo': 'SqlConnectionInfo'}
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, user_name=None, password=None):
|
def __init__(self, user_name=None, password=None):
|
||||||
|
|
|
@ -13,7 +13,7 @@ from .tracked_resource import TrackedResource
|
||||||
|
|
||||||
|
|
||||||
class DataMigrationService(TrackedResource):
|
class DataMigrationService(TrackedResource):
|
||||||
"""A Data Migration Service resource.
|
"""A Database Migration Service resource.
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
Variables are only populated by the server, and will be ignored when
|
||||||
sending a request.
|
sending a request.
|
||||||
|
|
|
@ -77,16 +77,6 @@ class SyncDatabaseMigrationReportingState(Enum):
|
||||||
failed = "FAILED"
|
failed = "FAILED"
|
||||||
|
|
||||||
|
|
||||||
class SyncMigrationState(Enum):
|
|
||||||
|
|
||||||
undefined = "UNDEFINED"
|
|
||||||
validating = "VALIDATING"
|
|
||||||
pending = "PENDING"
|
|
||||||
complete = "COMPLETE"
|
|
||||||
action_required = "ACTION_REQUIRED"
|
|
||||||
failed = "FAILED"
|
|
||||||
|
|
||||||
|
|
||||||
class ValidationStatus(Enum):
|
class ValidationStatus(Enum):
|
||||||
|
|
||||||
default = "Default"
|
default = "Default"
|
||||||
|
@ -219,8 +209,6 @@ class ServerLevelPermissionsGroup(Enum):
|
||||||
default = "Default"
|
default = "Default"
|
||||||
migration_from_sql_server_to_azure_db = "MigrationFromSqlServerToAzureDB"
|
migration_from_sql_server_to_azure_db = "MigrationFromSqlServerToAzureDB"
|
||||||
migration_from_sql_server_to_azure_mi = "MigrationFromSqlServerToAzureMI"
|
migration_from_sql_server_to_azure_mi = "MigrationFromSqlServerToAzureMI"
|
||||||
migration_from_my_sql_to_sql = "MigrationFromMySQLToSQL"
|
|
||||||
migration_from_my_sql_to_azure_db = "MigrationFromMySQLToAzureDB"
|
|
||||||
migration_from_my_sql_to_azure_db_for_my_sql = "MigrationFromMySQLToAzureDBForMySQL"
|
migration_from_my_sql_to_azure_db_for_my_sql = "MigrationFromMySQLToAzureDBForMySQL"
|
||||||
|
|
||||||
|
|
||||||
|
@ -255,6 +243,7 @@ class ProjectTargetPlatform(Enum):
|
||||||
sqldb = "SQLDB"
|
sqldb = "SQLDB"
|
||||||
sqlmi = "SQLMI"
|
sqlmi = "SQLMI"
|
||||||
azure_db_for_my_sql = "AzureDbForMySql"
|
azure_db_for_my_sql = "AzureDbForMySql"
|
||||||
|
azure_db_for_postgre_sql = "AzureDbForPostgreSql"
|
||||||
unknown = "Unknown"
|
unknown = "Unknown"
|
||||||
|
|
||||||
|
|
||||||
|
@ -262,6 +251,7 @@ class ProjectSourcePlatform(Enum):
|
||||||
|
|
||||||
sql = "SQL"
|
sql = "SQL"
|
||||||
my_sql = "MySQL"
|
my_sql = "MySQL"
|
||||||
|
postgre_sql = "PostgreSql"
|
||||||
unknown = "Unknown"
|
unknown = "Unknown"
|
||||||
|
|
||||||
|
|
||||||
|
@ -271,12 +261,6 @@ class ProjectProvisioningState(Enum):
|
||||||
succeeded = "Succeeded"
|
succeeded = "Succeeded"
|
||||||
|
|
||||||
|
|
||||||
class DataMovement(Enum):
|
|
||||||
|
|
||||||
one_time_migration = "OneTimeMigration"
|
|
||||||
continuous = "Continuous"
|
|
||||||
|
|
||||||
|
|
||||||
class NameCheckFailureReason(Enum):
|
class NameCheckFailureReason(Enum):
|
||||||
|
|
||||||
already_exists = "AlreadyExists"
|
already_exists = "AlreadyExists"
|
||||||
|
@ -310,17 +294,9 @@ class ResourceSkuCapacityScaleType(Enum):
|
||||||
|
|
||||||
class MySqlTargetPlatformType(Enum):
|
class MySqlTargetPlatformType(Enum):
|
||||||
|
|
||||||
sql_server = "SqlServer"
|
|
||||||
azure_db_for_my_sql = "AzureDbForMySQL"
|
azure_db_for_my_sql = "AzureDbForMySQL"
|
||||||
|
|
||||||
|
|
||||||
class ErrorType(Enum):
|
|
||||||
|
|
||||||
default = "Default"
|
|
||||||
warning = "Warning"
|
|
||||||
error = "Error"
|
|
||||||
|
|
||||||
|
|
||||||
class DataMigrationResultCode(Enum):
|
class DataMigrationResultCode(Enum):
|
||||||
|
|
||||||
initial = "Initial"
|
initial = "Initial"
|
||||||
|
@ -329,3 +305,10 @@ class DataMigrationResultCode(Enum):
|
||||||
object_not_exists_in_target = "ObjectNotExistsInTarget"
|
object_not_exists_in_target = "ObjectNotExistsInTarget"
|
||||||
target_object_is_inaccessible = "TargetObjectIsInaccessible"
|
target_object_is_inaccessible = "TargetObjectIsInaccessible"
|
||||||
fatal_error = "FatalError"
|
fatal_error = "FatalError"
|
||||||
|
|
||||||
|
|
||||||
|
class ErrorType(Enum):
|
||||||
|
|
||||||
|
default = "Default"
|
||||||
|
warning = "Warning"
|
||||||
|
error = "Error"
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
# coding=utf-8
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
# Licensed under the MIT License. See License.txt in the project root for
|
|
||||||
# license information.
|
|
||||||
#
|
|
||||||
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
||||||
# Changes may cause incorrect behavior and will be lost if the code is
|
|
||||||
# regenerated.
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
from msrest.serialization import Model
|
|
||||||
|
|
||||||
|
|
||||||
class GetProjectDetailsMySqlSqlTaskOutput(Model):
|
|
||||||
"""Output for task that reads information from project artifacts for MySQL as
|
|
||||||
source.
|
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
|
||||||
sending a request.
|
|
||||||
|
|
||||||
:ivar id: Result identifier
|
|
||||||
:vartype id: str
|
|
||||||
:ivar migration_project_metadata: Metadata obtained from project
|
|
||||||
:vartype migration_project_metadata:
|
|
||||||
~azure.mgmt.datamigration.models.MySqlDataMigrationProjectMetadata
|
|
||||||
"""
|
|
||||||
|
|
||||||
_validation = {
|
|
||||||
'id': {'readonly': True},
|
|
||||||
'migration_project_metadata': {'readonly': True},
|
|
||||||
}
|
|
||||||
|
|
||||||
_attribute_map = {
|
|
||||||
'id': {'key': 'id', 'type': 'str'},
|
|
||||||
'migration_project_metadata': {'key': 'migrationProjectMetadata', 'type': 'MySqlDataMigrationProjectMetadata'},
|
|
||||||
}
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super(GetProjectDetailsMySqlSqlTaskOutput, self).__init__()
|
|
||||||
self.id = None
|
|
||||||
self.migration_project_metadata = None
|
|
|
@ -19,7 +19,7 @@ class GetUserTablesSqlSyncTaskInput(Model):
|
||||||
:param source_connection_info: Connection information for SQL Server
|
:param source_connection_info: Connection information for SQL Server
|
||||||
:type source_connection_info:
|
:type source_connection_info:
|
||||||
~azure.mgmt.datamigration.models.SqlConnectionInfo
|
~azure.mgmt.datamigration.models.SqlConnectionInfo
|
||||||
:param target_connection_info: Connection information for SQL Server
|
:param target_connection_info: Connection information for SQL DB
|
||||||
:type target_connection_info:
|
:type target_connection_info:
|
||||||
~azure.mgmt.datamigration.models.SqlConnectionInfo
|
~azure.mgmt.datamigration.models.SqlConnectionInfo
|
||||||
:param selected_source_databases: List of source database names to collect
|
:param selected_source_databases: List of source database names to collect
|
||||||
|
|
|
@ -14,34 +14,34 @@ from msrest.serialization import Model
|
||||||
|
|
||||||
class MigrateMySqlAzureDbForMySqlSyncTaskInput(Model):
|
class MigrateMySqlAzureDbForMySqlSyncTaskInput(Model):
|
||||||
"""Input for the task that migrates MySQL databases to Azure Database for
|
"""Input for the task that migrates MySQL databases to Azure Database for
|
||||||
MySQL with continuous sync.
|
MySQL for online migrations.
|
||||||
|
|
||||||
:param selected_databases: Databases to migrate
|
:param source_connection_info: Connection information for source MySQL
|
||||||
:type selected_databases:
|
:type source_connection_info:
|
||||||
list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlSyncDatabaseInput]
|
~azure.mgmt.datamigration.models.MySqlConnectionInfo
|
||||||
:param target_connection_info: Connection information for target Azure
|
:param target_connection_info: Connection information for target Azure
|
||||||
Database for MySQL
|
Database for MySQL
|
||||||
:type target_connection_info:
|
:type target_connection_info:
|
||||||
~azure.mgmt.datamigration.models.MySqlConnectionInfo
|
~azure.mgmt.datamigration.models.MySqlConnectionInfo
|
||||||
:param source_connection_info: Connection information for source MySQL
|
:param selected_databases: Databases to migrate
|
||||||
:type source_connection_info:
|
:type selected_databases:
|
||||||
~azure.mgmt.datamigration.models.MySqlConnectionInfo
|
list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlSyncDatabaseInput]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_validation = {
|
_validation = {
|
||||||
'selected_databases': {'required': True},
|
|
||||||
'target_connection_info': {'required': True},
|
|
||||||
'source_connection_info': {'required': True},
|
'source_connection_info': {'required': True},
|
||||||
|
'target_connection_info': {'required': True},
|
||||||
|
'selected_databases': {'required': True},
|
||||||
}
|
}
|
||||||
|
|
||||||
_attribute_map = {
|
_attribute_map = {
|
||||||
'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateMySqlAzureDbForMySqlSyncDatabaseInput]'},
|
|
||||||
'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MySqlConnectionInfo'},
|
|
||||||
'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'},
|
'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'},
|
||||||
|
'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MySqlConnectionInfo'},
|
||||||
|
'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateMySqlAzureDbForMySqlSyncDatabaseInput]'},
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, selected_databases, target_connection_info, source_connection_info):
|
def __init__(self, source_connection_info, target_connection_info, selected_databases):
|
||||||
super(MigrateMySqlAzureDbForMySqlSyncTaskInput, self).__init__()
|
super(MigrateMySqlAzureDbForMySqlSyncTaskInput, self).__init__()
|
||||||
self.selected_databases = selected_databases
|
|
||||||
self.target_connection_info = target_connection_info
|
|
||||||
self.source_connection_info = source_connection_info
|
self.source_connection_info = source_connection_info
|
||||||
|
self.target_connection_info = target_connection_info
|
||||||
|
self.selected_databases = selected_databases
|
||||||
|
|
|
@ -14,7 +14,7 @@ from msrest.serialization import Model
|
||||||
|
|
||||||
class MigrateMySqlAzureDbForMySqlSyncTaskOutput(Model):
|
class MigrateMySqlAzureDbForMySqlSyncTaskOutput(Model):
|
||||||
"""Output for the task that migrates MySQL databases to Azure Database for
|
"""Output for the task that migrates MySQL databases to Azure Database for
|
||||||
MySQL with continuous sync.
|
MySQL for online migrations.
|
||||||
|
|
||||||
You probably want to use the sub-classes and not this class directly. Known
|
You probably want to use the sub-classes and not this class directly. Known
|
||||||
sub-classes are: MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError,
|
sub-classes are: MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError,
|
||||||
|
|
|
@ -26,10 +26,6 @@ class MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel(MigrateMySqlAzureD
|
||||||
:vartype started_on: datetime
|
:vartype started_on: datetime
|
||||||
:ivar ended_on: Migration end time
|
:ivar ended_on: Migration end time
|
||||||
:vartype ended_on: datetime
|
:vartype ended_on: datetime
|
||||||
:ivar state: Current state of migration. Possible values include:
|
|
||||||
'UNDEFINED', 'VALIDATING', 'PENDING', 'COMPLETE', 'ACTION_REQUIRED',
|
|
||||||
'FAILED'
|
|
||||||
:vartype state: str or ~azure.mgmt.datamigration.models.SyncMigrationState
|
|
||||||
:ivar source_server_version: Source server version
|
:ivar source_server_version: Source server version
|
||||||
:vartype source_server_version: str
|
:vartype source_server_version: str
|
||||||
:ivar source_server: Source server name
|
:ivar source_server: Source server name
|
||||||
|
@ -45,7 +41,6 @@ class MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel(MigrateMySqlAzureD
|
||||||
'result_type': {'required': True},
|
'result_type': {'required': True},
|
||||||
'started_on': {'readonly': True},
|
'started_on': {'readonly': True},
|
||||||
'ended_on': {'readonly': True},
|
'ended_on': {'readonly': True},
|
||||||
'state': {'readonly': True},
|
|
||||||
'source_server_version': {'readonly': True},
|
'source_server_version': {'readonly': True},
|
||||||
'source_server': {'readonly': True},
|
'source_server': {'readonly': True},
|
||||||
'target_server_version': {'readonly': True},
|
'target_server_version': {'readonly': True},
|
||||||
|
@ -57,7 +52,6 @@ class MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel(MigrateMySqlAzureD
|
||||||
'result_type': {'key': 'resultType', 'type': 'str'},
|
'result_type': {'key': 'resultType', 'type': 'str'},
|
||||||
'started_on': {'key': 'startedOn', 'type': 'iso-8601'},
|
'started_on': {'key': 'startedOn', 'type': 'iso-8601'},
|
||||||
'ended_on': {'key': 'endedOn', 'type': 'iso-8601'},
|
'ended_on': {'key': 'endedOn', 'type': 'iso-8601'},
|
||||||
'state': {'key': 'state', 'type': 'str'},
|
|
||||||
'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'},
|
'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'},
|
||||||
'source_server': {'key': 'sourceServer', 'type': 'str'},
|
'source_server': {'key': 'sourceServer', 'type': 'str'},
|
||||||
'target_server_version': {'key': 'targetServerVersion', 'type': 'str'},
|
'target_server_version': {'key': 'targetServerVersion', 'type': 'str'},
|
||||||
|
@ -68,7 +62,6 @@ class MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel(MigrateMySqlAzureD
|
||||||
super(MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, self).__init__()
|
super(MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, self).__init__()
|
||||||
self.started_on = None
|
self.started_on = None
|
||||||
self.ended_on = None
|
self.ended_on = None
|
||||||
self.state = None
|
|
||||||
self.source_server_version = None
|
self.source_server_version = None
|
||||||
self.source_server = None
|
self.source_server = None
|
||||||
self.target_server_version = None
|
self.target_server_version = None
|
||||||
|
|
|
@ -32,7 +32,7 @@ class MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel(MigrateMySqlAzureDbFor
|
||||||
:vartype cdc_update_counter: str
|
:vartype cdc_update_counter: str
|
||||||
:ivar cdc_delete_counter: Number of applied deletes
|
:ivar cdc_delete_counter: Number of applied deletes
|
||||||
:vartype cdc_delete_counter: str
|
:vartype cdc_delete_counter: str
|
||||||
:ivar full_load_est_finish_time: Estimate to finish FullLoad
|
:ivar full_load_est_finish_time: Estimate to finish full load
|
||||||
:vartype full_load_est_finish_time: datetime
|
:vartype full_load_est_finish_time: datetime
|
||||||
:ivar full_load_started_on: Full load start time
|
:ivar full_load_started_on: Full load start time
|
||||||
:vartype full_load_started_on: datetime
|
:vartype full_load_started_on: datetime
|
||||||
|
|
|
@ -14,7 +14,7 @@ from .project_task_properties import ProjectTaskProperties
|
||||||
|
|
||||||
class MigrateMySqlAzureDbForMySqlSyncTaskProperties(ProjectTaskProperties):
|
class MigrateMySqlAzureDbForMySqlSyncTaskProperties(ProjectTaskProperties):
|
||||||
"""Properties for the task that migrates MySQL databases to Azure Database for
|
"""Properties for the task that migrates MySQL databases to Azure Database for
|
||||||
MySQL with continuous sync.
|
MySQL for online migrations.
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
Variables are only populated by the server, and will be ignored when
|
||||||
sending a request.
|
sending a request.
|
||||||
|
|
|
@ -1,57 +0,0 @@
|
||||||
# coding=utf-8
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
# Licensed under the MIT License. See License.txt in the project root for
|
|
||||||
# license information.
|
|
||||||
#
|
|
||||||
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
||||||
# Changes may cause incorrect behavior and will be lost if the code is
|
|
||||||
# regenerated.
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
from .non_sql_migration_task_input import NonSqlMigrationTaskInput
|
|
||||||
|
|
||||||
|
|
||||||
class MigrateMySqlSqlTaskInput(NonSqlMigrationTaskInput):
|
|
||||||
"""Input for task that migrates MySQL databases to Azure and SQL Server
|
|
||||||
databases.
|
|
||||||
|
|
||||||
:param target_connection_info: Information for connecting to target
|
|
||||||
:type target_connection_info:
|
|
||||||
~azure.mgmt.datamigration.models.SqlConnectionInfo
|
|
||||||
:param target_database_name: Target database name
|
|
||||||
:type target_database_name: str
|
|
||||||
:param project_name: Name of the migration project
|
|
||||||
:type project_name: str
|
|
||||||
:param project_location: An URL that points to the drop location to access
|
|
||||||
project artifacts
|
|
||||||
:type project_location: str
|
|
||||||
:param selected_tables: Metadata of the tables selected for migration
|
|
||||||
:type selected_tables:
|
|
||||||
list[~azure.mgmt.datamigration.models.NonSqlDataMigrationTable]
|
|
||||||
:param source_connection_info: Information for connecting to MySQL source
|
|
||||||
:type source_connection_info:
|
|
||||||
~azure.mgmt.datamigration.models.MySqlConnectionInfo
|
|
||||||
"""
|
|
||||||
|
|
||||||
_validation = {
|
|
||||||
'target_connection_info': {'required': True},
|
|
||||||
'target_database_name': {'required': True},
|
|
||||||
'project_name': {'required': True},
|
|
||||||
'project_location': {'required': True},
|
|
||||||
'selected_tables': {'required': True},
|
|
||||||
'source_connection_info': {'required': True},
|
|
||||||
}
|
|
||||||
|
|
||||||
_attribute_map = {
|
|
||||||
'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'},
|
|
||||||
'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'},
|
|
||||||
'project_name': {'key': 'projectName', 'type': 'str'},
|
|
||||||
'project_location': {'key': 'projectLocation', 'type': 'str'},
|
|
||||||
'selected_tables': {'key': 'selectedTables', 'type': '[NonSqlDataMigrationTable]'},
|
|
||||||
'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'},
|
|
||||||
}
|
|
||||||
|
|
||||||
def __init__(self, target_connection_info, target_database_name, project_name, project_location, selected_tables, source_connection_info):
|
|
||||||
super(MigrateMySqlSqlTaskInput, self).__init__(target_connection_info=target_connection_info, target_database_name=target_database_name, project_name=project_name, project_location=project_location, selected_tables=selected_tables)
|
|
||||||
self.source_connection_info = source_connection_info
|
|
|
@ -1,57 +0,0 @@
|
||||||
# coding=utf-8
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
# Licensed under the MIT License. See License.txt in the project root for
|
|
||||||
# license information.
|
|
||||||
#
|
|
||||||
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
||||||
# Changes may cause incorrect behavior and will be lost if the code is
|
|
||||||
# regenerated.
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
from .non_sql_migration_task_output import NonSqlMigrationTaskOutput
|
|
||||||
|
|
||||||
|
|
||||||
class MigrateMySqlSqlTaskOutput(NonSqlMigrationTaskOutput):
|
|
||||||
"""Output for task that migrates MySQL databases to Azure and SQL Server
|
|
||||||
databases.
|
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
|
||||||
sending a request.
|
|
||||||
|
|
||||||
:ivar id: Result identifier
|
|
||||||
:vartype id: str
|
|
||||||
:ivar started_on: Migration start time
|
|
||||||
:vartype started_on: datetime
|
|
||||||
:ivar ended_on: Migration end time
|
|
||||||
:vartype ended_on: datetime
|
|
||||||
:ivar status: Current state of migration. Possible values include:
|
|
||||||
'Default', 'Connecting', 'SourceAndTargetSelected', 'SelectLogins',
|
|
||||||
'Configured', 'Running', 'Error', 'Stopped', 'Completed',
|
|
||||||
'CompletedWithWarnings'
|
|
||||||
:vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus
|
|
||||||
:ivar data_migration_table_results: Results of the migration. The key
|
|
||||||
contains the table name and the value the table result object
|
|
||||||
:vartype data_migration_table_results: dict[str,
|
|
||||||
~azure.mgmt.datamigration.models.NonSqlDataMigrationTableResult]
|
|
||||||
:ivar progress_message: Message about the progress of the migration
|
|
||||||
:vartype progress_message: str
|
|
||||||
:ivar source_server_name: Name of source server
|
|
||||||
:vartype source_server_name: str
|
|
||||||
:ivar target_server_name: Name of target server
|
|
||||||
:vartype target_server_name: str
|
|
||||||
"""
|
|
||||||
|
|
||||||
_validation = {
|
|
||||||
'id': {'readonly': True},
|
|
||||||
'started_on': {'readonly': True},
|
|
||||||
'ended_on': {'readonly': True},
|
|
||||||
'status': {'readonly': True},
|
|
||||||
'data_migration_table_results': {'readonly': True},
|
|
||||||
'progress_message': {'readonly': True},
|
|
||||||
'source_server_name': {'readonly': True},
|
|
||||||
'target_server_name': {'readonly': True},
|
|
||||||
}
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super(MigrateMySqlSqlTaskOutput, self).__init__()
|
|
|
@ -1,61 +0,0 @@
|
||||||
# coding=utf-8
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
# Licensed under the MIT License. See License.txt in the project root for
|
|
||||||
# license information.
|
|
||||||
#
|
|
||||||
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
||||||
# Changes may cause incorrect behavior and will be lost if the code is
|
|
||||||
# regenerated.
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
from .project_task_properties import ProjectTaskProperties
|
|
||||||
|
|
||||||
|
|
||||||
class MigrateMySqlSqlTaskProperties(ProjectTaskProperties):
|
|
||||||
"""Properties for task that migrates MySQL databases to Azure and SQL Server
|
|
||||||
databases.
|
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
|
||||||
sending a request.
|
|
||||||
|
|
||||||
:ivar errors: Array of errors. This is ignored if submitted.
|
|
||||||
:vartype errors: list[~azure.mgmt.datamigration.models.ODataError]
|
|
||||||
:ivar state: The state of the task. This is ignored if submitted. Possible
|
|
||||||
values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded',
|
|
||||||
'Failed', 'FailedInputValidation', 'Faulted'
|
|
||||||
:vartype state: str or ~azure.mgmt.datamigration.models.TaskState
|
|
||||||
:ivar commands: Array of command properties.
|
|
||||||
:vartype commands:
|
|
||||||
list[~azure.mgmt.datamigration.models.CommandProperties]
|
|
||||||
:param task_type: Constant filled by server.
|
|
||||||
:type task_type: str
|
|
||||||
:param input: Task input
|
|
||||||
:type input: ~azure.mgmt.datamigration.models.MigrateMySqlSqlTaskInput
|
|
||||||
:ivar output: Task output. This is ignored if submitted.
|
|
||||||
:vartype output:
|
|
||||||
list[~azure.mgmt.datamigration.models.MigrateMySqlSqlTaskOutput]
|
|
||||||
"""
|
|
||||||
|
|
||||||
_validation = {
|
|
||||||
'errors': {'readonly': True},
|
|
||||||
'state': {'readonly': True},
|
|
||||||
'commands': {'readonly': True},
|
|
||||||
'task_type': {'required': True},
|
|
||||||
'output': {'readonly': True},
|
|
||||||
}
|
|
||||||
|
|
||||||
_attribute_map = {
|
|
||||||
'errors': {'key': 'errors', 'type': '[ODataError]'},
|
|
||||||
'state': {'key': 'state', 'type': 'str'},
|
|
||||||
'commands': {'key': 'commands', 'type': '[CommandProperties]'},
|
|
||||||
'task_type': {'key': 'taskType', 'type': 'str'},
|
|
||||||
'input': {'key': 'input', 'type': 'MigrateMySqlSqlTaskInput'},
|
|
||||||
'output': {'key': 'output', 'type': '[MigrateMySqlSqlTaskOutput]'},
|
|
||||||
}
|
|
||||||
|
|
||||||
def __init__(self, input=None):
|
|
||||||
super(MigrateMySqlSqlTaskProperties, self).__init__()
|
|
||||||
self.input = input
|
|
||||||
self.output = None
|
|
||||||
self.task_type = 'Migrate.MySql.Sql'
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
# coding=utf-8
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See License.txt in the project root for
|
||||||
|
# license information.
|
||||||
|
#
|
||||||
|
# Code generated by Microsoft (R) AutoRest Code Generator.
|
||||||
|
# Changes may cause incorrect behavior and will be lost if the code is
|
||||||
|
# regenerated.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from msrest.serialization import Model
|
||||||
|
|
||||||
|
|
||||||
|
class MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput(Model):
|
||||||
|
"""Database specific information for PostgreSQL to Azure Database for
|
||||||
|
PostgreSQL migration task inputs.
|
||||||
|
|
||||||
|
:param name: Name of the database
|
||||||
|
:type name: str
|
||||||
|
:param target_database_name: Name of target database. Note: Target
|
||||||
|
database will be truncated before starting migration.
|
||||||
|
:type target_database_name: str
|
||||||
|
"""
|
||||||
|
|
||||||
|
_attribute_map = {
|
||||||
|
'name': {'key': 'name', 'type': 'str'},
|
||||||
|
'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'},
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self, name=None, target_database_name=None):
|
||||||
|
super(MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, self).__init__()
|
||||||
|
self.name = name
|
||||||
|
self.target_database_name = target_database_name
|
|
@ -0,0 +1,48 @@
|
||||||
|
# coding=utf-8
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See License.txt in the project root for
|
||||||
|
# license information.
|
||||||
|
#
|
||||||
|
# Code generated by Microsoft (R) AutoRest Code Generator.
|
||||||
|
# Changes may cause incorrect behavior and will be lost if the code is
|
||||||
|
# regenerated.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from msrest.serialization import Model
|
||||||
|
|
||||||
|
|
||||||
|
class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput(Model):
|
||||||
|
"""Input for the task that migrates PostgreSQL databases to Azure Database for
|
||||||
|
PostgreSQL for online migrations.
|
||||||
|
|
||||||
|
:param selected_databases: Databases to migrate
|
||||||
|
:type selected_databases:
|
||||||
|
list[~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput]
|
||||||
|
:param target_connection_info: Connection information for target Azure
|
||||||
|
Database for PostgreSQL
|
||||||
|
:type target_connection_info:
|
||||||
|
~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo
|
||||||
|
:param source_connection_info: Connection information for source
|
||||||
|
PostgreSQL
|
||||||
|
:type source_connection_info:
|
||||||
|
~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo
|
||||||
|
"""
|
||||||
|
|
||||||
|
_validation = {
|
||||||
|
'selected_databases': {'required': True},
|
||||||
|
'target_connection_info': {'required': True},
|
||||||
|
'source_connection_info': {'required': True},
|
||||||
|
}
|
||||||
|
|
||||||
|
_attribute_map = {
|
||||||
|
'selected_databases': {'key': 'selectedDatabases', 'type': '[MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput]'},
|
||||||
|
'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'PostgreSqlConnectionInfo'},
|
||||||
|
'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'PostgreSqlConnectionInfo'},
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self, selected_databases, target_connection_info, source_connection_info):
|
||||||
|
super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, self).__init__()
|
||||||
|
self.selected_databases = selected_databases
|
||||||
|
self.target_connection_info = target_connection_info
|
||||||
|
self.source_connection_info = source_connection_info
|
|
@ -0,0 +1,53 @@
|
||||||
|
# coding=utf-8
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See License.txt in the project root for
|
||||||
|
# license information.
|
||||||
|
#
|
||||||
|
# Code generated by Microsoft (R) AutoRest Code Generator.
|
||||||
|
# Changes may cause incorrect behavior and will be lost if the code is
|
||||||
|
# regenerated.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from msrest.serialization import Model
|
||||||
|
|
||||||
|
|
||||||
|
class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput(Model):
|
||||||
|
"""Output for the task that migrates PostgreSQL databases to Azure Database
|
||||||
|
for PostgreSQL for online migrations.
|
||||||
|
|
||||||
|
You probably want to use the sub-classes and not this class directly. Known
|
||||||
|
sub-classes are:
|
||||||
|
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError,
|
||||||
|
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError,
|
||||||
|
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel,
|
||||||
|
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel,
|
||||||
|
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel
|
||||||
|
|
||||||
|
Variables are only populated by the server, and will be ignored when
|
||||||
|
sending a request.
|
||||||
|
|
||||||
|
:ivar id: Result identifier
|
||||||
|
:vartype id: str
|
||||||
|
:param result_type: Constant filled by server.
|
||||||
|
:type result_type: str
|
||||||
|
"""
|
||||||
|
|
||||||
|
_validation = {
|
||||||
|
'id': {'readonly': True},
|
||||||
|
'result_type': {'required': True},
|
||||||
|
}
|
||||||
|
|
||||||
|
_attribute_map = {
|
||||||
|
'id': {'key': 'id', 'type': 'str'},
|
||||||
|
'result_type': {'key': 'resultType', 'type': 'str'},
|
||||||
|
}
|
||||||
|
|
||||||
|
_subtype_map = {
|
||||||
|
'result_type': {'DatabaseLevelErrorOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError', 'ErrorOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError', 'TableLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel', 'DatabaseLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel', 'MigrationLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel'}
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput, self).__init__()
|
||||||
|
self.id = None
|
||||||
|
self.result_type = None
|
|
@ -0,0 +1,48 @@
|
||||||
|
# coding=utf-8
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See License.txt in the project root for
|
||||||
|
# license information.
|
||||||
|
#
|
||||||
|
# Code generated by Microsoft (R) AutoRest Code Generator.
|
||||||
|
# Changes may cause incorrect behavior and will be lost if the code is
|
||||||
|
# regenerated.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput
|
||||||
|
|
||||||
|
|
||||||
|
class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput):
|
||||||
|
"""MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError.
|
||||||
|
|
||||||
|
Variables are only populated by the server, and will be ignored when
|
||||||
|
sending a request.
|
||||||
|
|
||||||
|
:ivar id: Result identifier
|
||||||
|
:vartype id: str
|
||||||
|
:param result_type: Constant filled by server.
|
||||||
|
:type result_type: str
|
||||||
|
:param error_message: Error message
|
||||||
|
:type error_message: str
|
||||||
|
:param events: List of error events.
|
||||||
|
:type events:
|
||||||
|
list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent]
|
||||||
|
"""
|
||||||
|
|
||||||
|
_validation = {
|
||||||
|
'id': {'readonly': True},
|
||||||
|
'result_type': {'required': True},
|
||||||
|
}
|
||||||
|
|
||||||
|
_attribute_map = {
|
||||||
|
'id': {'key': 'id', 'type': 'str'},
|
||||||
|
'result_type': {'key': 'resultType', 'type': 'str'},
|
||||||
|
'error_message': {'key': 'errorMessage', 'type': 'str'},
|
||||||
|
'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'},
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self, error_message=None, events=None):
|
||||||
|
super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, self).__init__()
|
||||||
|
self.error_message = error_message
|
||||||
|
self.events = events
|
||||||
|
self.result_type = 'DatabaseLevelErrorOutput'
|
|
@ -0,0 +1,119 @@
|
||||||
|
# coding=utf-8
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See License.txt in the project root for
|
||||||
|
# license information.
|
||||||
|
#
|
||||||
|
# Code generated by Microsoft (R) AutoRest Code Generator.
|
||||||
|
# Changes may cause incorrect behavior and will be lost if the code is
|
||||||
|
# regenerated.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput
|
||||||
|
|
||||||
|
|
||||||
|
class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput):
|
||||||
|
"""MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel.
|
||||||
|
|
||||||
|
Variables are only populated by the server, and will be ignored when
|
||||||
|
sending a request.
|
||||||
|
|
||||||
|
:ivar id: Result identifier
|
||||||
|
:vartype id: str
|
||||||
|
:param result_type: Constant filled by server.
|
||||||
|
:type result_type: str
|
||||||
|
:ivar database_name: Name of the database
|
||||||
|
:vartype database_name: str
|
||||||
|
:ivar started_on: Migration start time
|
||||||
|
:vartype started_on: datetime
|
||||||
|
:ivar ended_on: Migration end time
|
||||||
|
:vartype ended_on: datetime
|
||||||
|
:ivar migration_state: Migration state that this database is in. Possible
|
||||||
|
values include: 'UNDEFINED', 'CONFIGURING', 'INITIALIAZING', 'STARTING',
|
||||||
|
'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE', 'CANCELLING',
|
||||||
|
'CANCELLED', 'FAILED'
|
||||||
|
:vartype migration_state: str or
|
||||||
|
~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState
|
||||||
|
:ivar incoming_changes: Number of incoming changes
|
||||||
|
:vartype incoming_changes: long
|
||||||
|
:ivar applied_changes: Number of applied changes
|
||||||
|
:vartype applied_changes: long
|
||||||
|
:ivar cdc_insert_counter: Number of cdc inserts
|
||||||
|
:vartype cdc_insert_counter: long
|
||||||
|
:ivar cdc_delete_counter: Number of cdc deletes
|
||||||
|
:vartype cdc_delete_counter: long
|
||||||
|
:ivar cdc_update_counter: Number of cdc updates
|
||||||
|
:vartype cdc_update_counter: long
|
||||||
|
:ivar full_load_completed_tables: Number of tables completed in full load
|
||||||
|
:vartype full_load_completed_tables: long
|
||||||
|
:ivar full_load_loading_tables: Number of tables loading in full load
|
||||||
|
:vartype full_load_loading_tables: long
|
||||||
|
:ivar full_load_queued_tables: Number of tables queued in full load
|
||||||
|
:vartype full_load_queued_tables: long
|
||||||
|
:ivar full_load_errored_tables: Number of tables errored in full load
|
||||||
|
:vartype full_load_errored_tables: long
|
||||||
|
:ivar initialization_completed: Indicates if initial load (full load) has
|
||||||
|
been completed
|
||||||
|
:vartype initialization_completed: bool
|
||||||
|
:ivar latency: CDC apply latency
|
||||||
|
:vartype latency: long
|
||||||
|
"""
|
||||||
|
|
||||||
|
_validation = {
|
||||||
|
'id': {'readonly': True},
|
||||||
|
'result_type': {'required': True},
|
||||||
|
'database_name': {'readonly': True},
|
||||||
|
'started_on': {'readonly': True},
|
||||||
|
'ended_on': {'readonly': True},
|
||||||
|
'migration_state': {'readonly': True},
|
||||||
|
'incoming_changes': {'readonly': True},
|
||||||
|
'applied_changes': {'readonly': True},
|
||||||
|
'cdc_insert_counter': {'readonly': True},
|
||||||
|
'cdc_delete_counter': {'readonly': True},
|
||||||
|
'cdc_update_counter': {'readonly': True},
|
||||||
|
'full_load_completed_tables': {'readonly': True},
|
||||||
|
'full_load_loading_tables': {'readonly': True},
|
||||||
|
'full_load_queued_tables': {'readonly': True},
|
||||||
|
'full_load_errored_tables': {'readonly': True},
|
||||||
|
'initialization_completed': {'readonly': True},
|
||||||
|
'latency': {'readonly': True},
|
||||||
|
}
|
||||||
|
|
||||||
|
_attribute_map = {
|
||||||
|
'id': {'key': 'id', 'type': 'str'},
|
||||||
|
'result_type': {'key': 'resultType', 'type': 'str'},
|
||||||
|
'database_name': {'key': 'databaseName', 'type': 'str'},
|
||||||
|
'started_on': {'key': 'startedOn', 'type': 'iso-8601'},
|
||||||
|
'ended_on': {'key': 'endedOn', 'type': 'iso-8601'},
|
||||||
|
'migration_state': {'key': 'migrationState', 'type': 'str'},
|
||||||
|
'incoming_changes': {'key': 'incomingChanges', 'type': 'long'},
|
||||||
|
'applied_changes': {'key': 'appliedChanges', 'type': 'long'},
|
||||||
|
'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'},
|
||||||
|
'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'},
|
||||||
|
'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'},
|
||||||
|
'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'},
|
||||||
|
'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'},
|
||||||
|
'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'},
|
||||||
|
'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'},
|
||||||
|
'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'},
|
||||||
|
'latency': {'key': 'latency', 'type': 'long'},
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, self).__init__()
|
||||||
|
self.database_name = None
|
||||||
|
self.started_on = None
|
||||||
|
self.ended_on = None
|
||||||
|
self.migration_state = None
|
||||||
|
self.incoming_changes = None
|
||||||
|
self.applied_changes = None
|
||||||
|
self.cdc_insert_counter = None
|
||||||
|
self.cdc_delete_counter = None
|
||||||
|
self.cdc_update_counter = None
|
||||||
|
self.full_load_completed_tables = None
|
||||||
|
self.full_load_loading_tables = None
|
||||||
|
self.full_load_queued_tables = None
|
||||||
|
self.full_load_errored_tables = None
|
||||||
|
self.initialization_completed = None
|
||||||
|
self.latency = None
|
||||||
|
self.result_type = 'DatabaseLevelOutput'
|
|
@ -0,0 +1,44 @@
|
||||||
|
# coding=utf-8
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See License.txt in the project root for
|
||||||
|
# license information.
|
||||||
|
#
|
||||||
|
# Code generated by Microsoft (R) AutoRest Code Generator.
|
||||||
|
# Changes may cause incorrect behavior and will be lost if the code is
|
||||||
|
# regenerated.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput
|
||||||
|
|
||||||
|
|
||||||
|
class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput):
|
||||||
|
"""MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError.
|
||||||
|
|
||||||
|
Variables are only populated by the server, and will be ignored when
|
||||||
|
sending a request.
|
||||||
|
|
||||||
|
:ivar id: Result identifier
|
||||||
|
:vartype id: str
|
||||||
|
:param result_type: Constant filled by server.
|
||||||
|
:type result_type: str
|
||||||
|
:ivar error: Migration error
|
||||||
|
:vartype error: ~azure.mgmt.datamigration.models.ReportableException
|
||||||
|
"""
|
||||||
|
|
||||||
|
_validation = {
|
||||||
|
'id': {'readonly': True},
|
||||||
|
'result_type': {'required': True},
|
||||||
|
'error': {'readonly': True},
|
||||||
|
}
|
||||||
|
|
||||||
|
_attribute_map = {
|
||||||
|
'id': {'key': 'id', 'type': 'str'},
|
||||||
|
'result_type': {'key': 'resultType', 'type': 'str'},
|
||||||
|
'error': {'key': 'error', 'type': 'ReportableException'},
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, self).__init__()
|
||||||
|
self.error = None
|
||||||
|
self.result_type = 'ErrorOutput'
|
|
@ -0,0 +1,69 @@
|
||||||
|
# coding=utf-8
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See License.txt in the project root for
|
||||||
|
# license information.
|
||||||
|
#
|
||||||
|
# Code generated by Microsoft (R) AutoRest Code Generator.
|
||||||
|
# Changes may cause incorrect behavior and will be lost if the code is
|
||||||
|
# regenerated.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput
|
||||||
|
|
||||||
|
|
||||||
|
class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput):
|
||||||
|
"""MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel.
|
||||||
|
|
||||||
|
Variables are only populated by the server, and will be ignored when
|
||||||
|
sending a request.
|
||||||
|
|
||||||
|
:ivar id: Result identifier
|
||||||
|
:vartype id: str
|
||||||
|
:param result_type: Constant filled by server.
|
||||||
|
:type result_type: str
|
||||||
|
:ivar started_on: Migration start time
|
||||||
|
:vartype started_on: datetime
|
||||||
|
:ivar ended_on: Migration end time
|
||||||
|
:vartype ended_on: datetime
|
||||||
|
:ivar source_server_version: Source server version
|
||||||
|
:vartype source_server_version: str
|
||||||
|
:ivar source_server: Source server name
|
||||||
|
:vartype source_server: str
|
||||||
|
:ivar target_server_version: Target server version
|
||||||
|
:vartype target_server_version: str
|
||||||
|
:ivar target_server: Target server name
|
||||||
|
:vartype target_server: str
|
||||||
|
"""
|
||||||
|
|
||||||
|
_validation = {
|
||||||
|
'id': {'readonly': True},
|
||||||
|
'result_type': {'required': True},
|
||||||
|
'started_on': {'readonly': True},
|
||||||
|
'ended_on': {'readonly': True},
|
||||||
|
'source_server_version': {'readonly': True},
|
||||||
|
'source_server': {'readonly': True},
|
||||||
|
'target_server_version': {'readonly': True},
|
||||||
|
'target_server': {'readonly': True},
|
||||||
|
}
|
||||||
|
|
||||||
|
_attribute_map = {
|
||||||
|
'id': {'key': 'id', 'type': 'str'},
|
||||||
|
'result_type': {'key': 'resultType', 'type': 'str'},
|
||||||
|
'started_on': {'key': 'startedOn', 'type': 'iso-8601'},
|
||||||
|
'ended_on': {'key': 'endedOn', 'type': 'iso-8601'},
|
||||||
|
'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'},
|
||||||
|
'source_server': {'key': 'sourceServer', 'type': 'str'},
|
||||||
|
'target_server_version': {'key': 'targetServerVersion', 'type': 'str'},
|
||||||
|
'target_server': {'key': 'targetServer', 'type': 'str'},
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, self).__init__()
|
||||||
|
self.started_on = None
|
||||||
|
self.ended_on = None
|
||||||
|
self.source_server_version = None
|
||||||
|
self.source_server = None
|
||||||
|
self.target_server_version = None
|
||||||
|
self.target_server = None
|
||||||
|
self.result_type = 'MigrationLevelOutput'
|
|
@ -0,0 +1,107 @@
|
||||||
|
# coding=utf-8
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See License.txt in the project root for
|
||||||
|
# license information.
|
||||||
|
#
|
||||||
|
# Code generated by Microsoft (R) AutoRest Code Generator.
|
||||||
|
# Changes may cause incorrect behavior and will be lost if the code is
|
||||||
|
# regenerated.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from .migrate_postgre_sql_azure_db_for_postgre_sql_sync_task_output import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput
|
||||||
|
|
||||||
|
|
||||||
|
class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput):
|
||||||
|
"""MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel.
|
||||||
|
|
||||||
|
Variables are only populated by the server, and will be ignored when
|
||||||
|
sending a request.
|
||||||
|
|
||||||
|
:ivar id: Result identifier
|
||||||
|
:vartype id: str
|
||||||
|
:param result_type: Constant filled by server.
|
||||||
|
:type result_type: str
|
||||||
|
:ivar table_name: Name of the table
|
||||||
|
:vartype table_name: str
|
||||||
|
:ivar database_name: Name of the database
|
||||||
|
:vartype database_name: str
|
||||||
|
:ivar cdc_insert_counter: Number of applied inserts
|
||||||
|
:vartype cdc_insert_counter: long
|
||||||
|
:ivar cdc_update_counter: Number of applied updates
|
||||||
|
:vartype cdc_update_counter: long
|
||||||
|
:ivar cdc_delete_counter: Number of applied deletes
|
||||||
|
:vartype cdc_delete_counter: long
|
||||||
|
:ivar full_load_est_finish_time: Estimate to finish full load
|
||||||
|
:vartype full_load_est_finish_time: datetime
|
||||||
|
:ivar full_load_started_on: Full load start time
|
||||||
|
:vartype full_load_started_on: datetime
|
||||||
|
:ivar full_load_ended_on: Full load end time
|
||||||
|
:vartype full_load_ended_on: datetime
|
||||||
|
:ivar full_load_total_rows: Number of rows applied in full load
|
||||||
|
:vartype full_load_total_rows: long
|
||||||
|
:ivar state: Current state of the table migration. Possible values
|
||||||
|
include: 'BEFORE_LOAD', 'FULL_LOAD', 'COMPLETED', 'CANCELED', 'ERROR',
|
||||||
|
'FAILED'
|
||||||
|
:vartype state: str or
|
||||||
|
~azure.mgmt.datamigration.models.SyncTableMigrationState
|
||||||
|
:ivar total_changes_applied: Total number of applied changes
|
||||||
|
:vartype total_changes_applied: long
|
||||||
|
:ivar data_errors_counter: Number of data errors occurred
|
||||||
|
:vartype data_errors_counter: long
|
||||||
|
:ivar last_modified_time: Last modified time on target
|
||||||
|
:vartype last_modified_time: datetime
|
||||||
|
"""
|
||||||
|
|
||||||
|
_validation = {
|
||||||
|
'id': {'readonly': True},
|
||||||
|
'result_type': {'required': True},
|
||||||
|
'table_name': {'readonly': True},
|
||||||
|
'database_name': {'readonly': True},
|
||||||
|
'cdc_insert_counter': {'readonly': True},
|
||||||
|
'cdc_update_counter': {'readonly': True},
|
||||||
|
'cdc_delete_counter': {'readonly': True},
|
||||||
|
'full_load_est_finish_time': {'readonly': True},
|
||||||
|
'full_load_started_on': {'readonly': True},
|
||||||
|
'full_load_ended_on': {'readonly': True},
|
||||||
|
'full_load_total_rows': {'readonly': True},
|
||||||
|
'state': {'readonly': True},
|
||||||
|
'total_changes_applied': {'readonly': True},
|
||||||
|
'data_errors_counter': {'readonly': True},
|
||||||
|
'last_modified_time': {'readonly': True},
|
||||||
|
}
|
||||||
|
|
||||||
|
_attribute_map = {
|
||||||
|
'id': {'key': 'id', 'type': 'str'},
|
||||||
|
'result_type': {'key': 'resultType', 'type': 'str'},
|
||||||
|
'table_name': {'key': 'tableName', 'type': 'str'},
|
||||||
|
'database_name': {'key': 'databaseName', 'type': 'str'},
|
||||||
|
'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'},
|
||||||
|
'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'},
|
||||||
|
'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'},
|
||||||
|
'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'},
|
||||||
|
'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'},
|
||||||
|
'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'},
|
||||||
|
'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'},
|
||||||
|
'state': {'key': 'state', 'type': 'str'},
|
||||||
|
'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'},
|
||||||
|
'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'},
|
||||||
|
'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'},
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel, self).__init__()
|
||||||
|
self.table_name = None
|
||||||
|
self.database_name = None
|
||||||
|
self.cdc_insert_counter = None
|
||||||
|
self.cdc_update_counter = None
|
||||||
|
self.cdc_delete_counter = None
|
||||||
|
self.full_load_est_finish_time = None
|
||||||
|
self.full_load_started_on = None
|
||||||
|
self.full_load_ended_on = None
|
||||||
|
self.full_load_total_rows = None
|
||||||
|
self.state = None
|
||||||
|
self.total_changes_applied = None
|
||||||
|
self.data_errors_counter = None
|
||||||
|
self.last_modified_time = None
|
||||||
|
self.result_type = 'TableLevelOutput'
|
|
@ -12,9 +12,9 @@
|
||||||
from .project_task_properties import ProjectTaskProperties
|
from .project_task_properties import ProjectTaskProperties
|
||||||
|
|
||||||
|
|
||||||
class GetProjectDetailsMySqlSqlTaskProperties(ProjectTaskProperties):
|
class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties):
|
||||||
"""Properties for task that reads information from project artifacts for MySQL
|
"""Properties for the task that migrates PostgreSQL databases to Azure
|
||||||
as source.
|
Database for PostgreSQL for online migrations.
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
Variables are only populated by the server, and will be ignored when
|
||||||
sending a request.
|
sending a request.
|
||||||
|
@ -32,10 +32,10 @@ class GetProjectDetailsMySqlSqlTaskProperties(ProjectTaskProperties):
|
||||||
:type task_type: str
|
:type task_type: str
|
||||||
:param input: Task input
|
:param input: Task input
|
||||||
:type input:
|
:type input:
|
||||||
~azure.mgmt.datamigration.models.GetProjectDetailsNonSqlTaskInput
|
~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput
|
||||||
:ivar output: Task output. This is ignored if submitted.
|
:ivar output: Task output. This is ignored if submitted.
|
||||||
:vartype output:
|
:vartype output:
|
||||||
list[~azure.mgmt.datamigration.models.GetProjectDetailsMySqlSqlTaskOutput]
|
list[~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_validation = {
|
_validation = {
|
||||||
|
@ -51,12 +51,12 @@ class GetProjectDetailsMySqlSqlTaskProperties(ProjectTaskProperties):
|
||||||
'state': {'key': 'state', 'type': 'str'},
|
'state': {'key': 'state', 'type': 'str'},
|
||||||
'commands': {'key': 'commands', 'type': '[CommandProperties]'},
|
'commands': {'key': 'commands', 'type': '[CommandProperties]'},
|
||||||
'task_type': {'key': 'taskType', 'type': 'str'},
|
'task_type': {'key': 'taskType', 'type': 'str'},
|
||||||
'input': {'key': 'input', 'type': 'GetProjectDetailsNonSqlTaskInput'},
|
'input': {'key': 'input', 'type': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput'},
|
||||||
'output': {'key': 'output', 'type': '[GetProjectDetailsMySqlSqlTaskOutput]'},
|
'output': {'key': 'output', 'type': '[MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput]'},
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, input=None):
|
def __init__(self, input=None):
|
||||||
super(GetProjectDetailsMySqlSqlTaskProperties, self).__init__()
|
super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, self).__init__()
|
||||||
self.input = input
|
self.input = input
|
||||||
self.output = None
|
self.output = None
|
||||||
self.task_type = 'GetProjectDetails.MySql.Sql'
|
self.task_type = 'Migrate.PostgreSql.AzureDbForPostgreSql.Sync'
|
|
@ -16,6 +16,10 @@ class MigrateSqlServerSqlDbSyncDatabaseInput(Model):
|
||||||
"""Database specific information for SQL to Azure SQL DB sync migration task
|
"""Database specific information for SQL to Azure SQL DB sync migration task
|
||||||
inputs.
|
inputs.
|
||||||
|
|
||||||
|
:param id: Unique identifier for database
|
||||||
|
:type id: str
|
||||||
|
:param name: Name of database
|
||||||
|
:type name: str
|
||||||
:param target_database_name: Target database name
|
:param target_database_name: Target database name
|
||||||
:type target_database_name: str
|
:type target_database_name: str
|
||||||
:param schema_name: Schema name to be migrated
|
:param schema_name: Schema name to be migrated
|
||||||
|
@ -31,30 +35,26 @@ class MigrateSqlServerSqlDbSyncDatabaseInput(Model):
|
||||||
:param target_setting: Target settings to tune target endpoint migration
|
:param target_setting: Target settings to tune target endpoint migration
|
||||||
behavior
|
behavior
|
||||||
:type target_setting: dict[str, str]
|
:type target_setting: dict[str, str]
|
||||||
:param id: Unique identifier for database
|
|
||||||
:type id: str
|
|
||||||
:param name: Name of database
|
|
||||||
:type name: str
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_attribute_map = {
|
_attribute_map = {
|
||||||
|
'id': {'key': 'id', 'type': 'str'},
|
||||||
|
'name': {'key': 'name', 'type': 'str'},
|
||||||
'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'},
|
'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'},
|
||||||
'schema_name': {'key': 'schemaName', 'type': 'str'},
|
'schema_name': {'key': 'schemaName', 'type': 'str'},
|
||||||
'table_map': {'key': 'tableMap', 'type': '{str}'},
|
'table_map': {'key': 'tableMap', 'type': '{str}'},
|
||||||
'migration_setting': {'key': 'migrationSetting', 'type': '{str}'},
|
'migration_setting': {'key': 'migrationSetting', 'type': '{str}'},
|
||||||
'source_setting': {'key': 'sourceSetting', 'type': '{str}'},
|
'source_setting': {'key': 'sourceSetting', 'type': '{str}'},
|
||||||
'target_setting': {'key': 'targetSetting', 'type': '{str}'},
|
'target_setting': {'key': 'targetSetting', 'type': '{str}'},
|
||||||
'id': {'key': 'id', 'type': 'str'},
|
|
||||||
'name': {'key': 'name', 'type': 'str'},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, target_database_name=None, schema_name=None, table_map=None, migration_setting=None, source_setting=None, target_setting=None, id=None, name=None):
|
def __init__(self, id=None, name=None, target_database_name=None, schema_name=None, table_map=None, migration_setting=None, source_setting=None, target_setting=None):
|
||||||
super(MigrateSqlServerSqlDbSyncDatabaseInput, self).__init__()
|
super(MigrateSqlServerSqlDbSyncDatabaseInput, self).__init__()
|
||||||
|
self.id = id
|
||||||
|
self.name = name
|
||||||
self.target_database_name = target_database_name
|
self.target_database_name = target_database_name
|
||||||
self.schema_name = schema_name
|
self.schema_name = schema_name
|
||||||
self.table_map = table_map
|
self.table_map = table_map
|
||||||
self.migration_setting = migration_setting
|
self.migration_setting = migration_setting
|
||||||
self.source_setting = source_setting
|
self.source_setting = source_setting
|
||||||
self.target_setting = target_setting
|
self.target_setting = target_setting
|
||||||
self.id = id
|
|
||||||
self.name = name
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ from .sql_migration_task_input import SqlMigrationTaskInput
|
||||||
|
|
||||||
class MigrateSqlServerSqlDbSyncTaskInput(SqlMigrationTaskInput):
|
class MigrateSqlServerSqlDbSyncTaskInput(SqlMigrationTaskInput):
|
||||||
"""Input for the task that migrates on-prem SQL Server databases to Azure SQL
|
"""Input for the task that migrates on-prem SQL Server databases to Azure SQL
|
||||||
Database with continuous sync.
|
Database for online migrations.
|
||||||
|
|
||||||
:param source_connection_info: Information for connecting to source
|
:param source_connection_info: Information for connecting to source
|
||||||
:type source_connection_info:
|
:type source_connection_info:
|
||||||
|
|
|
@ -14,7 +14,7 @@ from msrest.serialization import Model
|
||||||
|
|
||||||
class MigrateSqlServerSqlDbSyncTaskOutput(Model):
|
class MigrateSqlServerSqlDbSyncTaskOutput(Model):
|
||||||
"""Output for the task that migrates on-prem SQL Server databases to Azure SQL
|
"""Output for the task that migrates on-prem SQL Server databases to Azure SQL
|
||||||
Database with continuous sync.
|
Database for online migrations.
|
||||||
|
|
||||||
You probably want to use the sub-classes and not this class directly. Known
|
You probably want to use the sub-classes and not this class directly. Known
|
||||||
sub-classes are: MigrateSqlServerSqlDbSyncTaskOutputDatabaseError,
|
sub-classes are: MigrateSqlServerSqlDbSyncTaskOutputDatabaseError,
|
||||||
|
|
|
@ -26,10 +26,6 @@ class MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel(MigrateSqlServerSqlDbSyn
|
||||||
:vartype started_on: datetime
|
:vartype started_on: datetime
|
||||||
:ivar ended_on: Migration end time
|
:ivar ended_on: Migration end time
|
||||||
:vartype ended_on: datetime
|
:vartype ended_on: datetime
|
||||||
:ivar state: Current state of migration. Possible values include:
|
|
||||||
'UNDEFINED', 'VALIDATING', 'PENDING', 'COMPLETE', 'ACTION_REQUIRED',
|
|
||||||
'FAILED'
|
|
||||||
:vartype state: str or ~azure.mgmt.datamigration.models.SyncMigrationState
|
|
||||||
:ivar source_server_version: Source server version
|
:ivar source_server_version: Source server version
|
||||||
:vartype source_server_version: str
|
:vartype source_server_version: str
|
||||||
:ivar source_server: Source server name
|
:ivar source_server: Source server name
|
||||||
|
@ -47,7 +43,6 @@ class MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel(MigrateSqlServerSqlDbSyn
|
||||||
'result_type': {'required': True},
|
'result_type': {'required': True},
|
||||||
'started_on': {'readonly': True},
|
'started_on': {'readonly': True},
|
||||||
'ended_on': {'readonly': True},
|
'ended_on': {'readonly': True},
|
||||||
'state': {'readonly': True},
|
|
||||||
'source_server_version': {'readonly': True},
|
'source_server_version': {'readonly': True},
|
||||||
'source_server': {'readonly': True},
|
'source_server': {'readonly': True},
|
||||||
'target_server_version': {'readonly': True},
|
'target_server_version': {'readonly': True},
|
||||||
|
@ -60,7 +55,6 @@ class MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel(MigrateSqlServerSqlDbSyn
|
||||||
'result_type': {'key': 'resultType', 'type': 'str'},
|
'result_type': {'key': 'resultType', 'type': 'str'},
|
||||||
'started_on': {'key': 'startedOn', 'type': 'iso-8601'},
|
'started_on': {'key': 'startedOn', 'type': 'iso-8601'},
|
||||||
'ended_on': {'key': 'endedOn', 'type': 'iso-8601'},
|
'ended_on': {'key': 'endedOn', 'type': 'iso-8601'},
|
||||||
'state': {'key': 'state', 'type': 'str'},
|
|
||||||
'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'},
|
'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'},
|
||||||
'source_server': {'key': 'sourceServer', 'type': 'str'},
|
'source_server': {'key': 'sourceServer', 'type': 'str'},
|
||||||
'target_server_version': {'key': 'targetServerVersion', 'type': 'str'},
|
'target_server_version': {'key': 'targetServerVersion', 'type': 'str'},
|
||||||
|
@ -72,7 +66,6 @@ class MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel(MigrateSqlServerSqlDbSyn
|
||||||
super(MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, self).__init__()
|
super(MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, self).__init__()
|
||||||
self.started_on = None
|
self.started_on = None
|
||||||
self.ended_on = None
|
self.ended_on = None
|
||||||
self.state = None
|
|
||||||
self.source_server_version = None
|
self.source_server_version = None
|
||||||
self.source_server = None
|
self.source_server = None
|
||||||
self.target_server_version = None
|
self.target_server_version = None
|
||||||
|
|
|
@ -32,7 +32,7 @@ class MigrateSqlServerSqlDbSyncTaskOutputTableLevel(MigrateSqlServerSqlDbSyncTas
|
||||||
:vartype cdc_update_counter: long
|
:vartype cdc_update_counter: long
|
||||||
:ivar cdc_delete_counter: Number of applied deletes
|
:ivar cdc_delete_counter: Number of applied deletes
|
||||||
:vartype cdc_delete_counter: long
|
:vartype cdc_delete_counter: long
|
||||||
:ivar full_load_est_finish_time: Estimate to finish FullLoad
|
:ivar full_load_est_finish_time: Estimate to finish full load
|
||||||
:vartype full_load_est_finish_time: datetime
|
:vartype full_load_est_finish_time: datetime
|
||||||
:ivar full_load_started_on: Full load start time
|
:ivar full_load_started_on: Full load start time
|
||||||
:vartype full_load_started_on: datetime
|
:vartype full_load_started_on: datetime
|
||||||
|
|
|
@ -14,7 +14,7 @@ from .project_task_properties import ProjectTaskProperties
|
||||||
|
|
||||||
class MigrateSqlServerSqlDbSyncTaskProperties(ProjectTaskProperties):
|
class MigrateSqlServerSqlDbSyncTaskProperties(ProjectTaskProperties):
|
||||||
"""Properties for the task that migrates on-prem SQL Server databases to Azure
|
"""Properties for the task that migrates on-prem SQL Server databases to Azure
|
||||||
SQL Database with continuous sync.
|
SQL Database for online migrations.
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
Variables are only populated by the server, and will be ignored when
|
||||||
sending a request.
|
sending a request.
|
||||||
|
|
|
@ -22,9 +22,9 @@ class MigrateSqlServerSqlMITaskOutputAgentJobLevel(MigrateSqlServerSqlMITaskOutp
|
||||||
:vartype id: str
|
:vartype id: str
|
||||||
:param result_type: Constant filled by server.
|
:param result_type: Constant filled by server.
|
||||||
:type result_type: str
|
:type result_type: str
|
||||||
:ivar name: AgentJob name.
|
:ivar name: Agent Job name.
|
||||||
:vartype name: str
|
:vartype name: str
|
||||||
:ivar is_enabled: The state of the original AgentJob.
|
:ivar is_enabled: The state of the original Agent Job.
|
||||||
:vartype is_enabled: bool
|
:vartype is_enabled: bool
|
||||||
:ivar state: Current state of migration. Possible values include: 'None',
|
:ivar state: Current state of migration. Possible values include: 'None',
|
||||||
'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped'
|
'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped'
|
||||||
|
|
|
@ -13,7 +13,7 @@ from .connection_info import ConnectionInfo
|
||||||
|
|
||||||
|
|
||||||
class MySqlConnectionInfo(ConnectionInfo):
|
class MySqlConnectionInfo(ConnectionInfo):
|
||||||
"""Information for connecting to MySQL source.
|
"""Information for connecting to MySQL server.
|
||||||
|
|
||||||
:param user_name: User name
|
:param user_name: User name
|
||||||
:type user_name: str
|
:type user_name: str
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
# coding=utf-8
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
# Licensed under the MIT License. See License.txt in the project root for
|
|
||||||
# license information.
|
|
||||||
#
|
|
||||||
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
||||||
# Changes may cause incorrect behavior and will be lost if the code is
|
|
||||||
# regenerated.
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
from .data_migration_project_metadata import DataMigrationProjectMetadata
|
|
||||||
|
|
||||||
|
|
||||||
class MySqlDataMigrationProjectMetadata(DataMigrationProjectMetadata):
|
|
||||||
"""Metadata for MySQL project.
|
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
|
||||||
sending a request.
|
|
||||||
|
|
||||||
:ivar source_server_name: Source server name
|
|
||||||
:vartype source_server_name: str
|
|
||||||
:ivar source_server_port: Source server port number
|
|
||||||
:vartype source_server_port: str
|
|
||||||
:ivar source_username: Source username
|
|
||||||
:vartype source_username: str
|
|
||||||
:ivar target_server_name: Target server name
|
|
||||||
:vartype target_server_name: str
|
|
||||||
:ivar target_username: Target username
|
|
||||||
:vartype target_username: str
|
|
||||||
:ivar target_db_name: Target database name
|
|
||||||
:vartype target_db_name: str
|
|
||||||
:ivar target_using_win_auth: Whether target connection is Windows
|
|
||||||
authentication
|
|
||||||
:vartype target_using_win_auth: bool
|
|
||||||
:ivar selected_migration_tables: List of tables selected for migration
|
|
||||||
:vartype selected_migration_tables:
|
|
||||||
list[~azure.mgmt.datamigration.models.MigrationTableMetadata]
|
|
||||||
"""
|
|
||||||
|
|
||||||
_validation = {
|
|
||||||
'source_server_name': {'readonly': True},
|
|
||||||
'source_server_port': {'readonly': True},
|
|
||||||
'source_username': {'readonly': True},
|
|
||||||
'target_server_name': {'readonly': True},
|
|
||||||
'target_username': {'readonly': True},
|
|
||||||
'target_db_name': {'readonly': True},
|
|
||||||
'target_using_win_auth': {'readonly': True},
|
|
||||||
'selected_migration_tables': {'readonly': True},
|
|
||||||
}
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super(MySqlDataMigrationProjectMetadata, self).__init__()
|
|
|
@ -22,7 +22,7 @@ class NonSqlMigrationTaskInput(Model):
|
||||||
:type target_database_name: str
|
:type target_database_name: str
|
||||||
:param project_name: Name of the migration project
|
:param project_name: Name of the migration project
|
||||||
:type project_name: str
|
:type project_name: str
|
||||||
:param project_location: An URL that points to the drop location to access
|
:param project_location: A URL that points to the drop location to access
|
||||||
project artifacts
|
project artifacts
|
||||||
:type project_location: str
|
:type project_location: str
|
||||||
:param selected_tables: Metadata of the tables selected for migration
|
:param selected_tables: Metadata of the tables selected for migration
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
# coding=utf-8
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
# Licensed under the MIT License. See License.txt in the project root for
|
||||||
|
# license information.
|
||||||
|
#
|
||||||
|
# Code generated by Microsoft (R) AutoRest Code Generator.
|
||||||
|
# Changes may cause incorrect behavior and will be lost if the code is
|
||||||
|
# regenerated.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from .connection_info import ConnectionInfo
|
||||||
|
|
||||||
|
|
||||||
|
class PostgreSqlConnectionInfo(ConnectionInfo):
|
||||||
|
"""Information for connecting to PostgreSQL server.
|
||||||
|
|
||||||
|
:param user_name: User name
|
||||||
|
:type user_name: str
|
||||||
|
:param password: Password credential.
|
||||||
|
:type password: str
|
||||||
|
:param type: Constant filled by server.
|
||||||
|
:type type: str
|
||||||
|
:param server_name: Name of the server
|
||||||
|
:type server_name: str
|
||||||
|
:param database_name: Name of the database
|
||||||
|
:type database_name: str
|
||||||
|
:param port: Port for Server
|
||||||
|
:type port: int
|
||||||
|
"""
|
||||||
|
|
||||||
|
_validation = {
|
||||||
|
'type': {'required': True},
|
||||||
|
'server_name': {'required': True},
|
||||||
|
'port': {'required': True},
|
||||||
|
}
|
||||||
|
|
||||||
|
_attribute_map = {
|
||||||
|
'user_name': {'key': 'userName', 'type': 'str'},
|
||||||
|
'password': {'key': 'password', 'type': 'str'},
|
||||||
|
'type': {'key': 'type', 'type': 'str'},
|
||||||
|
'server_name': {'key': 'serverName', 'type': 'str'},
|
||||||
|
'database_name': {'key': 'databaseName', 'type': 'str'},
|
||||||
|
'port': {'key': 'port', 'type': 'int'},
|
||||||
|
}
|
||||||
|
|
||||||
|
def __init__(self, server_name, port, user_name=None, password=None, database_name=None):
|
||||||
|
super(PostgreSqlConnectionInfo, self).__init__(user_name=user_name, password=password)
|
||||||
|
self.server_name = server_name
|
||||||
|
self.database_name = database_name
|
||||||
|
self.port = port
|
||||||
|
self.type = 'PostgreSqlConnectionInfo'
|
|
@ -29,11 +29,12 @@ class Project(TrackedResource):
|
||||||
:param location: Resource location.
|
:param location: Resource location.
|
||||||
:type location: str
|
:type location: str
|
||||||
:param source_platform: Source platform for the project. Possible values
|
:param source_platform: Source platform for the project. Possible values
|
||||||
include: 'SQL', 'MySQL', 'Unknown'
|
include: 'SQL', 'MySQL', 'PostgreSql', 'Unknown'
|
||||||
:type source_platform: str or
|
:type source_platform: str or
|
||||||
~azure.mgmt.datamigration.models.ProjectSourcePlatform
|
~azure.mgmt.datamigration.models.ProjectSourcePlatform
|
||||||
:param target_platform: Target platform for the project. Possible values
|
:param target_platform: Target platform for the project. Possible values
|
||||||
include: 'SQLDB', 'SQLMI', 'AzureDbForMySql', 'Unknown'
|
include: 'SQLDB', 'SQLMI', 'AzureDbForMySql', 'AzureDbForPostgreSql',
|
||||||
|
'Unknown'
|
||||||
:type target_platform: str or
|
:type target_platform: str or
|
||||||
~azure.mgmt.datamigration.models.ProjectTargetPlatform
|
~azure.mgmt.datamigration.models.ProjectTargetPlatform
|
||||||
:ivar creation_time: UTC Date and time when project was created
|
:ivar creation_time: UTC Date and time when project was created
|
||||||
|
@ -50,9 +51,6 @@ class Project(TrackedResource):
|
||||||
values include: 'Deleting', 'Succeeded'
|
values include: 'Deleting', 'Succeeded'
|
||||||
:vartype provisioning_state: str or
|
:vartype provisioning_state: str or
|
||||||
~azure.mgmt.datamigration.models.ProjectProvisioningState
|
~azure.mgmt.datamigration.models.ProjectProvisioningState
|
||||||
:param data_movement: Type of data movement. Possible values include:
|
|
||||||
'OneTimeMigration', 'Continuous'. Default value: "OneTimeMigration" .
|
|
||||||
:type data_movement: str or ~azure.mgmt.datamigration.models.DataMovement
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_validation = {
|
_validation = {
|
||||||
|
@ -79,10 +77,9 @@ class Project(TrackedResource):
|
||||||
'target_connection_info': {'key': 'properties.targetConnectionInfo', 'type': 'ConnectionInfo'},
|
'target_connection_info': {'key': 'properties.targetConnectionInfo', 'type': 'ConnectionInfo'},
|
||||||
'databases_info': {'key': 'properties.databasesInfo', 'type': '[DatabaseInfo]'},
|
'databases_info': {'key': 'properties.databasesInfo', 'type': '[DatabaseInfo]'},
|
||||||
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
|
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
|
||||||
'data_movement': {'key': 'properties.dataMovement', 'type': 'str'},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, location, source_platform, target_platform, tags=None, source_connection_info=None, target_connection_info=None, databases_info=None, data_movement="OneTimeMigration"):
|
def __init__(self, location, source_platform, target_platform, tags=None, source_connection_info=None, target_connection_info=None, databases_info=None):
|
||||||
super(Project, self).__init__(tags=tags, location=location)
|
super(Project, self).__init__(tags=tags, location=location)
|
||||||
self.source_platform = source_platform
|
self.source_platform = source_platform
|
||||||
self.target_platform = target_platform
|
self.target_platform = target_platform
|
||||||
|
@ -91,4 +88,3 @@ class Project(TrackedResource):
|
||||||
self.target_connection_info = target_connection_info
|
self.target_connection_info = target_connection_info
|
||||||
self.databases_info = databases_info
|
self.databases_info = databases_info
|
||||||
self.provisioning_state = None
|
self.provisioning_state = None
|
||||||
self.data_movement = data_movement
|
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
# coding=utf-8
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
# Licensed under the MIT License. See License.txt in the project root for
|
|
||||||
# license information.
|
|
||||||
#
|
|
||||||
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
||||||
# Changes may cause incorrect behavior and will be lost if the code is
|
|
||||||
# regenerated.
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
from msrest.serialization import Model
|
|
||||||
|
|
||||||
|
|
||||||
class ProjectArtifactsResponse(Model):
|
|
||||||
"""Project artifacts properties.
|
|
||||||
|
|
||||||
:param artifacts_location: An URL that points to the drop location to
|
|
||||||
access project artifacts. When accessing this URL, requestor should
|
|
||||||
provide an Authorization header with the Bearer authorization scheme,
|
|
||||||
followed by his ARM JWT signature. Typical JWT will look like three
|
|
||||||
dot-separated base64 encoded strings. We use last string as a shared
|
|
||||||
secret between client and our artifacts service.
|
|
||||||
:type artifacts_location: str
|
|
||||||
"""
|
|
||||||
|
|
||||||
_attribute_map = {
|
|
||||||
'artifacts_location': {'key': 'artifactsLocation', 'type': 'str'},
|
|
||||||
}
|
|
||||||
|
|
||||||
def __init__(self, artifacts_location=None):
|
|
||||||
super(ProjectArtifactsResponse, self).__init__()
|
|
||||||
self.artifacts_location = artifacts_location
|
|
|
@ -20,17 +20,16 @@ class ProjectTaskProperties(Model):
|
||||||
sub-classes are: GetTdeCertificatesSqlTaskProperties,
|
sub-classes are: GetTdeCertificatesSqlTaskProperties,
|
||||||
ValidateMigrationInputSqlServerSqlMITaskProperties,
|
ValidateMigrationInputSqlServerSqlMITaskProperties,
|
||||||
ValidateMigrationInputSqlServerSqlDbSyncTaskProperties,
|
ValidateMigrationInputSqlServerSqlDbSyncTaskProperties,
|
||||||
|
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties,
|
||||||
MigrateMySqlAzureDbForMySqlSyncTaskProperties,
|
MigrateMySqlAzureDbForMySqlSyncTaskProperties,
|
||||||
MigrateSqlServerSqlDbSyncTaskProperties,
|
MigrateSqlServerSqlDbSyncTaskProperties,
|
||||||
MigrateSqlServerSqlDbTaskProperties, MigrateSqlServerSqlMITaskProperties,
|
MigrateSqlServerSqlDbTaskProperties, MigrateSqlServerSqlMITaskProperties,
|
||||||
GetProjectDetailsMySqlSqlTaskProperties,
|
|
||||||
ConnectToTargetAzureDbForMySqlTaskProperties,
|
ConnectToTargetAzureDbForMySqlTaskProperties,
|
||||||
ConnectToTargetSqlMITaskProperties, GetUserTablesSqlSyncTaskProperties,
|
ConnectToTargetSqlMITaskProperties, GetUserTablesSqlSyncTaskProperties,
|
||||||
GetUserTablesSqlTaskProperties, ConnectToTargetSqlSqlDbSyncTaskProperties,
|
GetUserTablesSqlTaskProperties, ConnectToTargetSqlSqlDbSyncTaskProperties,
|
||||||
ConnectToTargetSqlDbTaskProperties,
|
ConnectToTargetSqlDbTaskProperties,
|
||||||
ConnectToSourceSqlServerSyncTaskProperties,
|
ConnectToSourceSqlServerSyncTaskProperties,
|
||||||
ConnectToSourceSqlServerTaskProperties, ConnectToSourceMySqlTaskProperties,
|
ConnectToSourceSqlServerTaskProperties, ConnectToSourceMySqlTaskProperties
|
||||||
MigrateMySqlSqlTaskProperties
|
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
Variables are only populated by the server, and will be ignored when
|
||||||
sending a request.
|
sending a request.
|
||||||
|
@ -63,7 +62,7 @@ class ProjectTaskProperties(Model):
|
||||||
}
|
}
|
||||||
|
|
||||||
_subtype_map = {
|
_subtype_map = {
|
||||||
'task_type': {'GetTDECertificates.Sql': 'GetTdeCertificatesSqlTaskProperties', 'ValidateMigrationInput.SqlServer.AzureSqlDbMI': 'ValidateMigrationInputSqlServerSqlMITaskProperties', 'ValidateMigrationInput.SqlServer.SqlDb.Sync': 'ValidateMigrationInputSqlServerSqlDbSyncTaskProperties', 'Migrate.MySql.AzureDbForMySql.Sync': 'MigrateMySqlAzureDbForMySqlSyncTaskProperties', 'Migrate.SqlServer.AzureSqlDb.Sync': 'MigrateSqlServerSqlDbSyncTaskProperties', 'Migrate.SqlServer.SqlDb': 'MigrateSqlServerSqlDbTaskProperties', 'Migrate.SqlServer.AzureSqlDbMI': 'MigrateSqlServerSqlMITaskProperties', 'GetProjectDetails.MySql.Sql': 'GetProjectDetailsMySqlSqlTaskProperties', 'ConnectToTarget.AzureDbForMySql': 'ConnectToTargetAzureDbForMySqlTaskProperties', 'ConnectToTarget.AzureSqlDbMI': 'ConnectToTargetSqlMITaskProperties', 'GetUserTables.AzureSqlDb.Sync': 'GetUserTablesSqlSyncTaskProperties', 'GetUserTables.Sql': 'GetUserTablesSqlTaskProperties', 'ConnectToTarget.SqlDb.Sync': 'ConnectToTargetSqlSqlDbSyncTaskProperties', 'ConnectToTarget.SqlDb': 'ConnectToTargetSqlDbTaskProperties', 'ConnectToSource.SqlServer.Sync': 'ConnectToSourceSqlServerSyncTaskProperties', 'ConnectToSource.SqlServer': 'ConnectToSourceSqlServerTaskProperties', 'ConnectToSource.MySql': 'ConnectToSourceMySqlTaskProperties', 'Migrate.MySql.Sql': 'MigrateMySqlSqlTaskProperties'}
|
'task_type': {'GetTDECertificates.Sql': 'GetTdeCertificatesSqlTaskProperties', 'ValidateMigrationInput.SqlServer.AzureSqlDbMI': 'ValidateMigrationInputSqlServerSqlMITaskProperties', 'ValidateMigrationInput.SqlServer.SqlDb.Sync': 'ValidateMigrationInputSqlServerSqlDbSyncTaskProperties', 'Migrate.PostgreSql.AzureDbForPostgreSql.Sync': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties', 'Migrate.MySql.AzureDbForMySql.Sync': 'MigrateMySqlAzureDbForMySqlSyncTaskProperties', 'Migrate.SqlServer.AzureSqlDb.Sync': 'MigrateSqlServerSqlDbSyncTaskProperties', 'Migrate.SqlServer.SqlDb': 'MigrateSqlServerSqlDbTaskProperties', 'Migrate.SqlServer.AzureSqlDbMI': 'MigrateSqlServerSqlMITaskProperties', 'ConnectToTarget.AzureDbForMySql': 'ConnectToTargetAzureDbForMySqlTaskProperties', 'ConnectToTarget.AzureSqlDbMI': 'ConnectToTargetSqlMITaskProperties', 'GetUserTables.AzureSqlDb.Sync': 'GetUserTablesSqlSyncTaskProperties', 'GetUserTables.Sql': 'GetUserTablesSqlTaskProperties', 'ConnectToTarget.SqlDb.Sync': 'ConnectToTargetSqlSqlDbSyncTaskProperties', 'ConnectToTarget.SqlDb': 'ConnectToTargetSqlDbTaskProperties', 'ConnectToSource.SqlServer.Sync': 'ConnectToSourceSqlServerSyncTaskProperties', 'ConnectToSource.SqlServer': 'ConnectToSourceSqlServerTaskProperties', 'ConnectToSource.MySql': 'ConnectToSourceMySqlTaskProperties'}
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|
|
@ -13,7 +13,7 @@ from msrest.serialization import Model
|
||||||
|
|
||||||
|
|
||||||
class ServiceOperation(Model):
|
class ServiceOperation(Model):
|
||||||
"""Description of an action supported by the Data Migration Service.
|
"""Description of an action supported by the Database Migration Service.
|
||||||
|
|
||||||
:param name: The fully qualified action name, e.g.
|
:param name: The fully qualified action name, e.g.
|
||||||
Microsoft.DataMigration/services/read
|
Microsoft.DataMigration/services/read
|
||||||
|
|
|
@ -13,7 +13,7 @@ from msrest.serialization import Model
|
||||||
|
|
||||||
|
|
||||||
class StartMigrationScenarioServerRoleResult(Model):
|
class StartMigrationScenarioServerRoleResult(Model):
|
||||||
"""StartMigrationScenarioServerRoleResult.
|
"""Server role migration result.
|
||||||
|
|
||||||
Variables are only populated by the server, and will be ignored when
|
Variables are only populated by the server, and will be ignored when
|
||||||
sending a request.
|
sending a request.
|
||||||
|
|
|
@ -22,7 +22,7 @@ class SyncMigrationDatabaseErrorEvent(Model):
|
||||||
:vartype timestamp_string: str
|
:vartype timestamp_string: str
|
||||||
:ivar event_type_string: Event type.
|
:ivar event_type_string: Event type.
|
||||||
:vartype event_type_string: str
|
:vartype event_type_string: str
|
||||||
:ivar event_text: Error text.
|
:ivar event_text: Event text.
|
||||||
:vartype event_text: str
|
:vartype event_text: str
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ class Operations(object):
|
||||||
self, custom_headers=None, raw=False, **operation_config):
|
self, custom_headers=None, raw=False, **operation_config):
|
||||||
"""Get available resource provider actions (operations).
|
"""Get available resource provider actions (operations).
|
||||||
|
|
||||||
Lists all available actions exposed by the Data Migration Service
|
Lists all available actions exposed by the Database Migration Service
|
||||||
resource provider.
|
resource provider.
|
||||||
|
|
||||||
:param dict custom_headers: headers that will be added to the request
|
:param dict custom_headers: headers that will be added to the request
|
||||||
|
|
|
@ -390,73 +390,3 @@ class ProjectsOperations(object):
|
||||||
|
|
||||||
return deserialized
|
return deserialized
|
||||||
update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'}
|
update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'}
|
||||||
|
|
||||||
def access_artifacts(
|
|
||||||
self, group_name, service_name, project_name, custom_headers=None, raw=False, **operation_config):
|
|
||||||
"""Generates a URL to access project artifacts.
|
|
||||||
|
|
||||||
The project resource is a nested resource representing a stored
|
|
||||||
migration project. This method generates a URL that provides an access
|
|
||||||
to project-related artifacts required to work with the project in the
|
|
||||||
custom tool. User will be able to use the provided URL for a limited
|
|
||||||
time to upload or download project artifacts.
|
|
||||||
|
|
||||||
:param group_name: Name of the resource group
|
|
||||||
:type group_name: str
|
|
||||||
:param service_name: Name of the service
|
|
||||||
:type service_name: str
|
|
||||||
:param project_name: Name of the project
|
|
||||||
:type project_name: str
|
|
||||||
:param dict custom_headers: headers that will be added to the request
|
|
||||||
:param bool raw: returns the direct response alongside the
|
|
||||||
deserialized response
|
|
||||||
:param operation_config: :ref:`Operation configuration
|
|
||||||
overrides<msrest:optionsforoperations>`.
|
|
||||||
:return: ProjectArtifactsResponse or ClientRawResponse if raw=true
|
|
||||||
:rtype: ~azure.mgmt.datamigration.models.ProjectArtifactsResponse or
|
|
||||||
~msrest.pipeline.ClientRawResponse
|
|
||||||
:raises:
|
|
||||||
:class:`ApiErrorException<azure.mgmt.datamigration.models.ApiErrorException>`
|
|
||||||
"""
|
|
||||||
# Construct URL
|
|
||||||
url = self.access_artifacts.metadata['url']
|
|
||||||
path_format_arguments = {
|
|
||||||
'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'),
|
|
||||||
'groupName': self._serialize.url("group_name", group_name, 'str'),
|
|
||||||
'serviceName': self._serialize.url("service_name", service_name, 'str'),
|
|
||||||
'projectName': self._serialize.url("project_name", project_name, 'str')
|
|
||||||
}
|
|
||||||
url = self._client.format_url(url, **path_format_arguments)
|
|
||||||
|
|
||||||
# Construct parameters
|
|
||||||
query_parameters = {}
|
|
||||||
query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str')
|
|
||||||
|
|
||||||
# Construct headers
|
|
||||||
header_parameters = {}
|
|
||||||
header_parameters['Content-Type'] = 'application/json; charset=utf-8'
|
|
||||||
if self.config.generate_client_request_id:
|
|
||||||
header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())
|
|
||||||
if custom_headers:
|
|
||||||
header_parameters.update(custom_headers)
|
|
||||||
if self.config.accept_language is not None:
|
|
||||||
header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str')
|
|
||||||
|
|
||||||
# Construct and send request
|
|
||||||
request = self._client.post(url, query_parameters)
|
|
||||||
response = self._client.send(request, header_parameters, stream=False, **operation_config)
|
|
||||||
|
|
||||||
if response.status_code not in [200]:
|
|
||||||
raise models.ApiErrorException(self._deserialize, response)
|
|
||||||
|
|
||||||
deserialized = None
|
|
||||||
|
|
||||||
if response.status_code == 200:
|
|
||||||
deserialized = self._deserialize('ProjectArtifactsResponse', response)
|
|
||||||
|
|
||||||
if raw:
|
|
||||||
client_raw_response = ClientRawResponse(deserialized, response)
|
|
||||||
return client_raw_response
|
|
||||||
|
|
||||||
return deserialized
|
|
||||||
access_artifacts.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/accessArtifacts'}
|
|
||||||
|
|
|
@ -93,15 +93,16 @@ class ServicesOperations(object):
|
||||||
"""Create or update DMS Instance.
|
"""Create or update DMS Instance.
|
||||||
|
|
||||||
The services resource is the top-level resource that represents the
|
The services resource is the top-level resource that represents the
|
||||||
Data Migration Service. The PUT method creates a new service or updates
|
Database Migration Service. The PUT method creates a new service or
|
||||||
an existing one. When a service is updated, existing child resources
|
updates an existing one. When a service is updated, existing child
|
||||||
(i.e. tasks) are unaffected. Services currently support a single kind,
|
resources (i.e. tasks) are unaffected. Services currently support a
|
||||||
"vm", which refers to a VM-based service, although other kinds may be
|
single kind, "vm", which refers to a VM-based service, although other
|
||||||
added in the future. This method can change the kind, SKU, and network
|
kinds may be added in the future. This method can change the kind, SKU,
|
||||||
of the service, but if tasks are currently running (i.e. the service is
|
and network of the service, but if tasks are currently running (i.e.
|
||||||
busy), this will fail with 400 Bad Request ("ServiceIsBusy"). The
|
the service is busy), this will fail with 400 Bad Request
|
||||||
provider will reply when successful with 200 OK or 201 Created.
|
("ServiceIsBusy"). The provider will reply when successful with 200 OK
|
||||||
Long-running operations use the provisioningState property.
|
or 201 Created. Long-running operations use the provisioningState
|
||||||
|
property.
|
||||||
|
|
||||||
:param parameters: Information about the service
|
:param parameters: Information about the service
|
||||||
:type parameters:
|
:type parameters:
|
||||||
|
@ -172,8 +173,8 @@ class ServicesOperations(object):
|
||||||
"""Get DMS Service Instance.
|
"""Get DMS Service Instance.
|
||||||
|
|
||||||
The services resource is the top-level resource that represents the
|
The services resource is the top-level resource that represents the
|
||||||
Data Migration Service. The GET method retrieves information about a
|
Database Migration Service. The GET method retrieves information about
|
||||||
service instance.
|
a service instance.
|
||||||
|
|
||||||
:param group_name: Name of the resource group
|
:param group_name: Name of the resource group
|
||||||
:type group_name: str
|
:type group_name: str
|
||||||
|
@ -276,7 +277,7 @@ class ServicesOperations(object):
|
||||||
"""Delete DMS Service Instance.
|
"""Delete DMS Service Instance.
|
||||||
|
|
||||||
The services resource is the top-level resource that represents the
|
The services resource is the top-level resource that represents the
|
||||||
Data Migration Service. The DELETE method deletes a service. Any
|
Database Migration Service. The DELETE method deletes a service. Any
|
||||||
running tasks will be canceled.
|
running tasks will be canceled.
|
||||||
|
|
||||||
:param group_name: Name of the resource group
|
:param group_name: Name of the resource group
|
||||||
|
@ -391,10 +392,10 @@ class ServicesOperations(object):
|
||||||
"""Create or update DMS Service Instance.
|
"""Create or update DMS Service Instance.
|
||||||
|
|
||||||
The services resource is the top-level resource that represents the
|
The services resource is the top-level resource that represents the
|
||||||
Data Migration Service. The PATCH method updates an existing service.
|
Database Migration Service. The PATCH method updates an existing
|
||||||
This method can change the kind, SKU, and network of the service, but
|
service. This method can change the kind, SKU, and network of the
|
||||||
if tasks are currently running (i.e. the service is busy), this will
|
service, but if tasks are currently running (i.e. the service is busy),
|
||||||
fail with 400 Bad Request ("ServiceIsBusy").
|
this will fail with 400 Bad Request ("ServiceIsBusy").
|
||||||
|
|
||||||
:param parameters: Information about the service
|
:param parameters: Information about the service
|
||||||
:type parameters:
|
:type parameters:
|
||||||
|
@ -465,8 +466,8 @@ class ServicesOperations(object):
|
||||||
"""Check service health status.
|
"""Check service health status.
|
||||||
|
|
||||||
The services resource is the top-level resource that represents the
|
The services resource is the top-level resource that represents the
|
||||||
Data Migration Service. This action performs a health check and returns
|
Database Migration Service. This action performs a health check and
|
||||||
the status of the service and virtual machine size.
|
returns the status of the service and virtual machine size.
|
||||||
|
|
||||||
:param group_name: Name of the resource group
|
:param group_name: Name of the resource group
|
||||||
:type group_name: str
|
:type group_name: str
|
||||||
|
@ -569,8 +570,8 @@ class ServicesOperations(object):
|
||||||
"""Start service.
|
"""Start service.
|
||||||
|
|
||||||
The services resource is the top-level resource that represents the
|
The services resource is the top-level resource that represents the
|
||||||
Data Migration Service. This action starts the service and the service
|
Database Migration Service. This action starts the service and the
|
||||||
can be used for data migration.
|
service can be used for data migration.
|
||||||
|
|
||||||
:param group_name: Name of the resource group
|
:param group_name: Name of the resource group
|
||||||
:type group_name: str
|
:type group_name: str
|
||||||
|
@ -669,9 +670,9 @@ class ServicesOperations(object):
|
||||||
"""Stop service.
|
"""Stop service.
|
||||||
|
|
||||||
The services resource is the top-level resource that represents the
|
The services resource is the top-level resource that represents the
|
||||||
Data Migration Service. This action stops the service and the service
|
Database Migration Service. This action stops the service and the
|
||||||
cannot be used for data migration. The service owner won't be billed
|
service cannot be used for data migration. The service owner won't be
|
||||||
when the service is stopped.
|
billed when the service is stopped.
|
||||||
|
|
||||||
:param group_name: Name of the resource group
|
:param group_name: Name of the resource group
|
||||||
:type group_name: str
|
:type group_name: str
|
||||||
|
@ -733,8 +734,8 @@ class ServicesOperations(object):
|
||||||
"""Get compatible SKUs.
|
"""Get compatible SKUs.
|
||||||
|
|
||||||
The services resource is the top-level resource that represents the
|
The services resource is the top-level resource that represents the
|
||||||
Data Migration Service. The skus action returns the list of SKUs that a
|
Database Migration Service. The skus action returns the list of SKUs
|
||||||
service resource can be updated to.
|
that a service resource can be updated to.
|
||||||
|
|
||||||
:param group_name: Name of the resource group
|
:param group_name: Name of the resource group
|
||||||
:type group_name: str
|
:type group_name: str
|
||||||
|
@ -881,8 +882,8 @@ class ServicesOperations(object):
|
||||||
"""Get services in resource group.
|
"""Get services in resource group.
|
||||||
|
|
||||||
The Services resource is the top-level resource that represents the
|
The Services resource is the top-level resource that represents the
|
||||||
Data Migration Service. This method returns a list of service resources
|
Database Migration Service. This method returns a list of service
|
||||||
in a resource group.
|
resources in a resource group.
|
||||||
|
|
||||||
:param group_name: Name of the resource group
|
:param group_name: Name of the resource group
|
||||||
:type group_name: str
|
:type group_name: str
|
||||||
|
@ -952,8 +953,8 @@ class ServicesOperations(object):
|
||||||
"""Get services in subscription.
|
"""Get services in subscription.
|
||||||
|
|
||||||
The services resource is the top-level resource that represents the
|
The services resource is the top-level resource that represents the
|
||||||
Data Migration Service. This method returns a list of service resources
|
Database Migration Service. This method returns a list of service
|
||||||
in a subscription.
|
resources in a subscription.
|
||||||
|
|
||||||
:param dict custom_headers: headers that will be added to the request
|
:param dict custom_headers: headers that will be added to the request
|
||||||
:param bool raw: returns the direct response alongside the
|
:param bool raw: returns the direct response alongside the
|
||||||
|
|
|
@ -41,8 +41,8 @@ class TasksOperations(object):
|
||||||
"""Get tasks in a service.
|
"""Get tasks in a service.
|
||||||
|
|
||||||
The services resource is the top-level resource that represents the
|
The services resource is the top-level resource that represents the
|
||||||
Data Migration Service. This method returns a list of tasks owned by a
|
Database Migration Service. This method returns a list of tasks owned
|
||||||
service resource. Some tasks may have a status of Unknown, which
|
by a service resource. Some tasks may have a status of Unknown, which
|
||||||
indicates that an error occurred while querying the status of that
|
indicates that an error occurred while querying the status of that
|
||||||
task.
|
task.
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ class UsagesOperations(object):
|
||||||
"""Get resource quotas and usage information.
|
"""Get resource quotas and usage information.
|
||||||
|
|
||||||
This method returns region-specific quotas and resource usage
|
This method returns region-specific quotas and resource usage
|
||||||
information for the Data Migration Service.
|
information for the Database Migration Service.
|
||||||
|
|
||||||
:param location: The Azure region of the operation
|
:param location: The Azure region of the operation
|
||||||
:type location: str
|
:type location: str
|
||||||
|
|
|
@ -9,5 +9,5 @@
|
||||||
# regenerated.
|
# regenerated.
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
VERSION = "2018-07-15-preview"
|
VERSION = "0.1.0"
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
from codecs import open
|
from codecs import open
|
||||||
from setuptools import setup, find_packages
|
from setuptools import setup, find_packages
|
||||||
|
|
||||||
VERSION = "0.2.0"
|
VERSION = "0.3.0"
|
||||||
|
|
||||||
CLASSIFIERS = [
|
CLASSIFIERS = [
|
||||||
'Development Status :: 4 - Beta',
|
'Development Status :: 4 - Beta',
|
||||||
|
|
Загрузка…
Ссылка в новой задаче