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:
Artyom Pavlichenko 2018-08-23 13:11:25 -07:00 коммит произвёл GitHub
Родитель 20bdd50671
Коммит 3a2ca20677
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
58 изменённых файлов: 903 добавлений и 690 удалений

Просмотреть файл

@ -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',