diff --git a/src/dms-preview/azext_dms/__init__.py b/src/dms-preview/azext_dms/__init__.py index e91f819f1f0..094c2df6207 100755 --- a/src/dms-preview/azext_dms/__init__.py +++ b/src/dms-preview/azext_dms/__init__.py @@ -3,7 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +from azure.cli.command_modules.dms.commands import dms_api_exception_handler from azure.cli.core import AzCommandsLoader +from azure.cli.core.commands import CliCommandType +from azext_dms.commands import load_command_table +from azext_dms._params import load_arguments import azext_dms._help # pylint: disable=unused-import @@ -11,20 +15,15 @@ class DmsCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): - from azure.cli.core.commands import CliCommandType - from azure.cli.command_modules.dms.commands import dms_api_exception_handler dms_custom = CliCommandType(operations_tmpl='azext_dms.custom#{}', exception_handler=dms_api_exception_handler) - super(DmsCommandsLoader, self).__init__(cli_ctx=cli_ctx, - custom_command_type=dms_custom) + super().__init__(cli_ctx=cli_ctx, custom_command_type=dms_custom) def load_command_table(self, args): - from azext_dms.commands import load_command_table load_command_table(self, args) return self.command_table def load_arguments(self, command): - from azext_dms._params import load_arguments load_arguments(self, command) diff --git a/src/dms-preview/azext_dms/_client_factory.py b/src/dms-preview/azext_dms/_client_factory.py index 64c857df3ad..07e051bdff9 100644 --- a/src/dms-preview/azext_dms/_client_factory.py +++ b/src/dms-preview/azext_dms/_client_factory.py @@ -3,10 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +from azure.cli.core.commands.client_factory import get_mgmt_service_client +from azext_dms.vendored_sdks.datamigration import DataMigrationServiceClient + def dms_client_factory(cli_ctx, **_): - from azure.cli.core.commands.client_factory import get_mgmt_service_client - from azext_dms.vendored_sdks.datamigration import DataMigrationServiceClient return get_mgmt_service_client(cli_ctx, DataMigrationServiceClient) @@ -16,7 +17,3 @@ def dms_cf_projects(cli_ctx, *_): def dms_cf_tasks(cli_ctx, *_): return dms_client_factory(cli_ctx).tasks - - -def dms_cf_service_tasks(cli_ctx, *_): - return dms_client_factory(cli_ctx).service_tasks diff --git a/src/dms-preview/azext_dms/_help.py b/src/dms-preview/azext_dms/_help.py index b55ffc32adb..b2b654b15d8 100644 --- a/src/dms-preview/azext_dms/_help.py +++ b/src/dms-preview/azext_dms/_help.py @@ -5,105 +5,6 @@ from knack.help_files import helps -helps['dms task'] = """ - type: group - short-summary: Manage service-level tasks for a Database Migration Service instance. - long-summary: | - Service-level tasks are non-migration tasks that are performed at the service level. This is usually for administrative and maintenance work which applies to the service's agent and VM. -""" - -helps['dms task cancel'] = """ - type: command - short-summary: Cancel a service-level Task if it's currently queued or running. - - examples: - - name: Cancel a service-level task - text: > - az dms task cancel -g myresourcegroup --service-name mydms -n mytask -""" - -helps['dms task create'] = """ - type: command - short-summary: Create and start a service-level task. - long-summary: | - The following tasks are currently supported: - 1) Check OCI driver against Oracle source to check for compatibility - 2) Upload OCI driver install package - 3) Install an already uploaded OCI driver package - - parameters: - - name: --task-type - type: string - short-summary: > - The type of task to create. The supported types are CheckOciDriver, UploadOciDriver, and InstallOciDriver. - - name: --task-options-json - type: string - short-summary: > - Information and settings relevant to the particular task's type. This can be either a JSON-formatted string or the location to a file containing the JSON object. See examples below for the format. - long-summary: > - For CheckOciDriver: - { - // The version of your Oracle source server against which to check the driver's compatibility. - // Can also be null to get a list of supported versions. - "serverVersion": "Oracle source version" - } - - For UploadOciDriver: - { - "ociDriverPath": File share path of the driver install package, - "userName": "user name", // if this is missing or null, you will be prompted - "password": "password" // if this is missing or null (highly recommended) you will be prompted - } - - For InstallOciDriver: - { - // The output of the UploadOciDriver task can be used here - "ociDriverPackageName": "Oci driver installer package name" - } - examples: - - name: Create a service-level task which checks if the currently installed OCI driver supports - text: > - az dms task create -g myresourcegroup --service-name mydms -n checkocitask1 --task-options-json "{\"serverVersion\": \"12.2.0.1\"}" --task-type CheckOciDriver -""" - -helps['dms task delete'] = """ - type: command - short-summary: Delete a service-level Task. - parameters: - - name: --delete-running-tasks - type: bool - short-summary: > - Delete the service-level Task even if the Task is currently running. -""" - -helps['dms task list'] = """ - type: command - short-summary: List the service-level Tasks within a DMS instance. Some tasks may have a status of Unknown, which indicates that an error occurred while querying the status of that task. - parameters: - - name: --task-type - type: string - short-summary: > - The type of task to be listed. For the list of possible types see "az dms check-status". - examples: - - name: List all Tasks within a DMS instance. - text: > - az dms task list -g myresourcegroup -n mydms - - name: List only the tasks that check the OCI driver compatibility within a DMS instance. - text: > - az dms task list -g myresourcegroup -n mydms --task-type Service.Check.OCI -""" - -helps['dms task show'] = """ - type: command - short-summary: Show the details of a service-level Task. Use the "--expand" to get more details. - parameters: - - name: --expand - type: string - short-summary: > - Expand the response to provide more details. Use with "command" to see more details of the Task. - Use with "output" to see the results of the Task's migration. -""" - helps['dms project create'] = """ type: command short-summary: Create a migration Project which can contain multiple Tasks. @@ -255,44 +156,6 @@ } } - For Oracle to PostgreSQL, the format of the database options JSON object. - [ - { - // "Preserve" or "ToLower". Not valid when providing "tableMap". - "caseManipulation": "", - // When provided, copies all tables within this schema, preserving the casing of the source object names, - // or using the value of "caseManipulation" if provided. - // Not valid if providing "tableMap". - "schemaName": "", - // Defines custom mapping of schemas and tables. As seen, offers freedom for mapping tables to different schemas, changing schema and table names, and modifying object name casing. - // Not valid if providing "schemaName". - "tableMap": { - "SCHEMA1.TABLE1": "SCHEMA1.TABLE1", - "SCHEMA2.TABLE2": "SCHEMA1.TABLE2", - "SCHEMA2.TABLE3": "schema2.OtherTableName - ...n - }, - "targetDatabaseName": "database_name", - // Used for manipulating the underlying migration engine. - // Only provide if instructed to do so or if you really know what you are doing. - "migrationSetting": { - "setting1": "value1", - ...n - }, - // Used for manipulating the underlying migration engine. - // Only provide if instructed to do so or if you really know what you are doing. - "sourceSetting": { - "setting1": "value1", - ...n - }, - // Used for manipulating the underlying migration engine. - // Only provide if instructed to do so or if you really know what you are doing. - "targetSetting": { - "setting1": "value1", - ...n - } - } - ] - name: --source-connection-json type: string short-summary: > @@ -334,12 +197,6 @@ "connectionString": "mongodb://hostOrIp:port" } - The format of the connection JSON object for Oracle connections. - { - "userName": null, // if this is missing or null, you will be prompted - "password": null, // if this is missing or null (highly recommended) you will be prompted - "dataSource": "//hostOrIp:port/serviceName" // accepts EZConnect or Tnsnames formats - } - name: --target-connection-json type: string short-summary: > diff --git a/src/dms-preview/azext_dms/_params.py b/src/dms-preview/azext_dms/_params.py index 2177d9682d5..d8313e4895a 100644 --- a/src/dms-preview/azext_dms/_params.py +++ b/src/dms-preview/azext_dms/_params.py @@ -5,22 +5,12 @@ from knack.arguments import CLIArgumentType -from azure.cli.core.commands.parameters import resource_group_name_type, tags_type +from azure.cli.core.commands.parameters import tags_type def load_arguments(self, _): name_arg_type = CLIArgumentType(options_list=['--name', '-n'], metavar='NAME') - with self.argument_context('dms task') as c: - c.argument('group_name', resource_group_name_type) - c.argument('service_name', options_list=['--service-name'], help="The name of the Service.") - c.argument('task_name', name_arg_type, - help='The name of the Task. A DMS Task is the activity that performs service-level \ -related work. There could be multiple Tasks associated with a service. ') - - with self.argument_context('dms task list') as c: - c.argument('service_name', name_arg_type, help='The name of the Service.') - with self.argument_context('dms project') as c: c.argument('service_name', options_list=['--service-name'], help="The name of the Service. DMS Service is an Azure instance that performs database migrations.") diff --git a/src/dms-preview/azext_dms/commands.py b/src/dms-preview/azext_dms/commands.py index 80562464eac..b19c302616d 100644 --- a/src/dms-preview/azext_dms/commands.py +++ b/src/dms-preview/azext_dms/commands.py @@ -7,8 +7,7 @@ from azext_dms._client_factory import (dms_client_factory, dms_cf_projects, - dms_cf_tasks, - dms_cf_service_tasks) + dms_cf_tasks) def load_command_table(self, _): @@ -22,11 +21,6 @@ def load_command_table(self, _): client_factory=dms_client_factory ) - dms_service_tasks_sdk = CliCommandType( - operations_tmpl='azext_dms.vendored_sdks.datamigration.operations._service_tasks_operations#ServiceTasksOperations.{}', # pylint: disable=line-too-long - client_factory=dms_client_factory - ) - with self.command_group('dms project', dms_projects_sdk, client_factory=dms_cf_projects) as g: g.custom_command('create', 'create_or_update_project') @@ -36,10 +30,3 @@ def load_command_table(self, _): g.custom_command('cutover', 'cutover_sync_task') g.custom_command('restart', 'restart_task') g.custom_command('stop', 'stop_task') - - with self.command_group('dms task', dms_service_tasks_sdk, client_factory=dms_cf_service_tasks) as g: - g.custom_command('create', 'create_service_task') - g.command('delete', 'delete', confirmation=True) - g.command('list', 'list') - g.show_command('show', 'get') - g.command('cancel', 'cancel') diff --git a/src/dms-preview/azext_dms/custom.py b/src/dms-preview/azext_dms/custom.py index af011509bf0..401f9d6c1f0 100644 --- a/src/dms-preview/azext_dms/custom.py +++ b/src/dms-preview/azext_dms/custom.py @@ -27,19 +27,10 @@ MongoDbFinishCommand, MongoDbFinishCommandInput, MongoDbRestartCommand, - ValidateMongoDbTaskProperties, - OracleConnectionInfo, - MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, - CheckOCIDriverTaskProperties, - UploadOCIDriverTaskProperties, - InstallOCIDriverTaskProperties) + ValidateMongoDbTaskProperties) from azext_dms.scenario_inputs import (get_migrate_mysql_to_azuredbformysql_sync_input, get_migrate_postgresql_to_azuredbforpostgresql_sync_input, - get_mongo_to_mongo_input, - get_migrate_oracle_to_azuredbforpostgresql_sync_input, - get_check_oci_driver_input, - get_upload_oci_driver_input, - get_install_oci_driver_input) + get_mongo_to_mongo_input) logger = get_logger(__name__) @@ -223,8 +214,7 @@ def cutover_sync_task( st = get_scenario_type(source_platform, target_platform, "onlinemigration") if st in [ScenarioType.mysql_azuremysql_online, - ScenarioType.postgres_azurepostgres_online, - ScenarioType.oracle_azurepostgres_online]: + ScenarioType.postgres_azurepostgres_online]: if object_name is None: raise CLIError("The argument 'object_name' must be present for this task type.") command_input = MigrateSyncCompleteCommandInput(database_name=object_name) @@ -316,29 +306,6 @@ def stop_task( # endregion -# region Service Task -def create_service_task( - client, - resource_group_name, - service_name, - task_name, - task_type, - task_options_json): - - task_type = task_type.lower() - - task_options_json = get_file_or_parse_json(task_options_json, "task-options-json") - - task_properties = get_service_task_properties(task_options_json, - task_type) - - return client.create_or_update(group_name=resource_group_name, - service_name=service_name, - task_name=task_name, - properties=task_properties) -# endregion - - # region Helper Methods def get_project_platforms(cmd, project_name, service_name, resource_group_name): client = dms_cf_projects(cmd.cli_ctx) @@ -356,8 +323,7 @@ def extension_handles_scenario( ScenarioType.mysql_azuremysql_online, ScenarioType.postgres_azurepostgres_online, ScenarioType.mongo_mongo_offline, - ScenarioType.mongo_mongo_online, - ScenarioType.oracle_azurepostgres_online] + ScenarioType.mongo_mongo_online] return get_scenario_type(source_platform, target_platform, task_type) in ExtensionScenarioTypes @@ -381,15 +347,15 @@ def transform_json_inputs( return (source_connection_info, target_connection_info, database_options_json) -def get_file_or_parse_json(value, value_type): +def get_file_or_parse_json(value, vtype): if os.path.exists(value): return get_file_json(value) # Test if provided value is a valid json try: json_parse = shell_safe_json_parse(value) - except: - raise CLIError("The supplied input for '" + value_type + "' is not a valid file path or a valid json object.") + except Exception as e: + raise CLIError("The supplied input for '" + vtype + "' is not a valid file path or a valid json object.") from e else: return json_parse @@ -433,12 +399,6 @@ def create_connection(connection_info_json, prompt_prefix, typeOfInfo): user_name=user_name, password=password) - if "oracle" in typeOfInfo: - data_source = connection_info_json['dataSource'] - return OracleConnectionInfo(user_name=user_name, - password=password, - data_source=data_source) - # If no match, Pass the connection info through return connection_info_json @@ -460,9 +420,6 @@ def get_task_migration_properties( elif "mongo_mongo" in st.name: TaskProperties = MigrateMongoDbTaskProperties GetInput = get_mongo_to_mongo_input - elif "oracle_azurepostgres" in st.name: - TaskProperties = MigrateOracleAzureDbForPostgreSqlSyncTaskProperties - GetInput = get_migrate_oracle_to_azuredbforpostgresql_sync_input else: raise CLIError("The supplied source, target, and task type is not supported for migration.") @@ -494,28 +451,6 @@ def get_task_validation_properties( target_connection_info) -def get_service_task_properties( - task_options_json, - task_type): - if task_type == "checkocidriver": - input_func = get_check_oci_driver_input - task_properties_type = CheckOCIDriverTaskProperties - elif task_type == "uploadocidriver": - input_func = get_upload_oci_driver_input - task_properties_type = UploadOCIDriverTaskProperties - elif task_type == "installocidriver": - input_func = get_install_oci_driver_input - task_properties_type = InstallOCIDriverTaskProperties - else: - raise CLIError("The supplied service task type is not supported.") - - return get_task_properties(input_func, - task_properties_type, - task_options_json, - None, - None) - - def get_task_properties(input_func, task_properties_type, options_json, @@ -568,10 +503,6 @@ def get_scenario_type(source_platform, target_platform, task_type=""): elif source_platform == "mongodb" and target_platform == "mongodb": scenario_type = ScenarioType.mongo_mongo_validation if "validation" in task_type else \ ScenarioType.mongo_mongo_online if "online" in task_type else ScenarioType.mongo_mongo_offline - elif source_platform == "oracle" and target_platform == "azuredbforpostgresql": - # Allow a project to be created for Oracle to PGSQL even though no task type is passed in - scenario_type = ScenarioType.oracle_azurepostgres_online if "online" in task_type or not task_type else \ - ScenarioType.oracle_azurepostgres_offline else: scenario_type = ScenarioType.unknown @@ -605,8 +536,5 @@ class ScenarioType(Enum): mongo_mongo_offline = 40 mongo_mongo_online = 41 mongo_mongo_validation = 42 - # Oracle to Azure for PostgreSQL - oracle_azurepostgres_offline = 43 - oracle_azurepostgres_online = 44 # endregion diff --git a/src/dms-preview/azext_dms/scenario_inputs.py b/src/dms-preview/azext_dms/scenario_inputs.py index 91a974dc324..9272b5bce7c 100644 --- a/src/dms-preview/azext_dms/scenario_inputs.py +++ b/src/dms-preview/azext_dms/scenario_inputs.py @@ -3,20 +3,12 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from knack.util import CLIError -from knack.prompting import prompt, prompt_pass from azext_dms.vendored_sdks.datamigration.models import (MigrateMySqlAzureDbForMySqlSyncDatabaseInput, MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput, MigrateMySqlAzureDbForMySqlSyncTaskInput, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, - MongoDbMigrationSettings, - MigrateOracleAzureDbPostgreSqlSyncDatabaseInput, - MigrateOracleAzureDbPostgreSqlSyncTaskInput, - CheckOCIDriverTaskInput, - UploadOCIDriverTaskInput, - InstallOCIDriverTaskInput, - FileShare) + MongoDbMigrationSettings) def get_migrate_mysql_to_azuredbformysql_sync_input(database_options_json, @@ -78,58 +70,3 @@ def get_mongo_to_mongo_input(database_options_json, boost_rus=database_options_json.get('boostRUs', 0), replication=database_options_json['replication'], throttling=database_options_json.get('throttling', None)) - - -def get_migrate_oracle_to_azuredbforpostgresql_sync_input(database_options_json, - source_connection_info, - target_connection_info): - database_options = [] - - for d in database_options_json: - case_manipulation = d.get('caseManipulation', None) - schema_name = d.get('schemaName', None) - table_map = d.get('tableMap', None) - - # Check that both schemaName and tableMap are not empty - if (not schema_name) and (not table_map): - raise CLIError("Either schemaName or tableMap must be provided.") - # Check that caseManipulation is not present if tableMap is provided - if case_manipulation and table_map is not None: - raise CLIError("When providing tableMap, caseManipulation can not be defined.") - # Check that schemaName and tableMap are not both provided - if schema_name and table_map: - raise CLIError("Only provide either schemaName or tableMap to define the scope of migration. Not both.") - - database_options.append(MigrateOracleAzureDbPostgreSqlSyncDatabaseInput( - case_manipulation=case_manipulation if case_manipulation else None, - # This is the pipe name required for Attunity but does not need to be input by user. - name=schema_name if schema_name else d.get('targetDatabaseName', 'CliPipeName'), - schema_name=schema_name if schema_name else None, - table_map=table_map if table_map else None, - target_database_name=d.get('targetDatabaseName', None), - migration_setting=d.get('migrationSetting', None), - source_setting=d.get('sourceSetting', None), - target_setting=d.get('targetSetting', None))) - - return MigrateOracleAzureDbPostgreSqlSyncTaskInput(source_connection_info=source_connection_info, - target_connection_info=target_connection_info, - selected_databases=database_options) - - -def get_check_oci_driver_input(task_options_json): - server_version = task_options_json.get('serverVersion', None) - return CheckOCIDriverTaskInput(server_version=server_version) - - -def get_upload_oci_driver_input(task_options_json): - driver_path = task_options_json.get('ociDriverPath', None) - user_name = task_options_json.get('userName', None) or prompt('Share Path Username: ') - password = task_options_json.get('password', None) or prompt_pass(msg='Share Path Password: ') - return UploadOCIDriverTaskInput(driver_share=FileShare(path=driver_path, - user_name=user_name, - password=password)) - - -def get_install_oci_driver_input(task_options_json): - driver_package_name = task_options_json.get('ociDriverPackageName', None) - return InstallOCIDriverTaskInput(driver_package_name=driver_package_name) diff --git a/src/dms-preview/azext_dms/vendored_sdks/datamigration/models/__init__.py b/src/dms-preview/azext_dms/vendored_sdks/datamigration/models/__init__.py index e9b2872e980..dd67362a1f2 100644 --- a/src/dms-preview/azext_dms/vendored_sdks/datamigration/models/__init__.py +++ b/src/dms-preview/azext_dms/vendored_sdks/datamigration/models/__init__.py @@ -27,9 +27,6 @@ from ._models_py3 import ConnectToSourceMySqlTaskInput from ._models_py3 import ConnectToSourceMySqlTaskProperties from ._models_py3 import ConnectToSourceNonSqlTaskOutput - from ._models_py3 import ConnectToSourceOracleSyncTaskInput - from ._models_py3 import ConnectToSourceOracleSyncTaskOutput - from ._models_py3 import ConnectToSourceOracleSyncTaskProperties from ._models_py3 import ConnectToSourcePostgreSqlSyncTaskInput from ._models_py3 import ConnectToSourcePostgreSqlSyncTaskOutput from ._models_py3 import ConnectToSourcePostgreSqlSyncTaskProperties @@ -47,10 +44,6 @@ from ._models_py3 import ConnectToTargetAzureDbForPostgreSqlSyncTaskInput from ._models_py3 import ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput from ._models_py3 import ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties - from ._models_py3 import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput - from ._models_py3 import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput - from ._models_py3 import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem - from ._models_py3 import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties from ._models_py3 import ConnectToTargetSqlDbTaskInput from ._models_py3 import ConnectToTargetSqlDbTaskOutput from ._models_py3 import ConnectToTargetSqlDbTaskProperties @@ -83,9 +76,6 @@ from ._models_py3 import GetTdeCertificatesSqlTaskInput from ._models_py3 import GetTdeCertificatesSqlTaskOutput from ._models_py3 import GetTdeCertificatesSqlTaskProperties - from ._models_py3 import GetUserTablesOracleTaskInput - from ._models_py3 import GetUserTablesOracleTaskOutput - from ._models_py3 import GetUserTablesOracleTaskProperties from ._models_py3 import GetUserTablesPostgreSqlTaskInput from ._models_py3 import GetUserTablesPostgreSqlTaskOutput from ._models_py3 import GetUserTablesPostgreSqlTaskProperties @@ -111,15 +101,6 @@ from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncTaskProperties - from ._models_py3 import MigrateOracleAzureDbForPostgreSqlSyncTaskProperties - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncDatabaseInput - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskInput - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutput - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutputError - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput @@ -217,8 +198,6 @@ from ._models_py3 import NonSqlMigrationTaskInput from ._models_py3 import NonSqlMigrationTaskOutput from ._models_py3 import ODataError - from ._models_py3 import OracleConnectionInfo - from ._models_py3 import OracleOCIDriverInfo from ._models_py3 import OrphanedUserInfo from ._models_py3 import PostgreSqlConnectionInfo from ._models_py3 import Project @@ -263,8 +242,6 @@ from ._models_py3 import ValidateMigrationInputSqlServerSqlMITaskOutput from ._models_py3 import ValidateMigrationInputSqlServerSqlMITaskProperties from ._models_py3 import ValidateMongoDbTaskProperties - from ._models_py3 import ValidateOracleAzureDbForPostgreSqlSyncTaskProperties - from ._models_py3 import ValidateOracleAzureDbPostgreSqlSyncTaskOutput from ._models_py3 import ValidateSyncMigrationInputSqlServerTaskInput from ._models_py3 import ValidateSyncMigrationInputSqlServerTaskOutput from ._models_py3 import ValidationError @@ -287,9 +264,6 @@ from ._models import ConnectToSourceMySqlTaskInput from ._models import ConnectToSourceMySqlTaskProperties from ._models import ConnectToSourceNonSqlTaskOutput - from ._models import ConnectToSourceOracleSyncTaskInput - from ._models import ConnectToSourceOracleSyncTaskOutput - from ._models import ConnectToSourceOracleSyncTaskProperties from ._models import ConnectToSourcePostgreSqlSyncTaskInput from ._models import ConnectToSourcePostgreSqlSyncTaskOutput from ._models import ConnectToSourcePostgreSqlSyncTaskProperties @@ -307,10 +281,6 @@ from ._models import ConnectToTargetAzureDbForPostgreSqlSyncTaskInput from ._models import ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput from ._models import ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties - from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput - from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput - from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem - from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties from ._models import ConnectToTargetSqlDbTaskInput from ._models import ConnectToTargetSqlDbTaskOutput from ._models import ConnectToTargetSqlDbTaskProperties @@ -343,9 +313,6 @@ from ._models import GetTdeCertificatesSqlTaskInput from ._models import GetTdeCertificatesSqlTaskOutput from ._models import GetTdeCertificatesSqlTaskProperties - from ._models import GetUserTablesOracleTaskInput - from ._models import GetUserTablesOracleTaskOutput - from ._models import GetUserTablesOracleTaskProperties from ._models import GetUserTablesPostgreSqlTaskInput from ._models import GetUserTablesPostgreSqlTaskOutput from ._models import GetUserTablesPostgreSqlTaskProperties @@ -371,15 +338,6 @@ from ._models import MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel from ._models import MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel from ._models import MigrateMySqlAzureDbForMySqlSyncTaskProperties - from ._models import MigrateOracleAzureDbForPostgreSqlSyncTaskProperties - from ._models import MigrateOracleAzureDbPostgreSqlSyncDatabaseInput - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskInput - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutput - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputError - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput @@ -477,8 +435,6 @@ from ._models import NonSqlMigrationTaskInput from ._models import NonSqlMigrationTaskOutput from ._models import ODataError - from ._models import OracleConnectionInfo - from ._models import OracleOCIDriverInfo from ._models import OrphanedUserInfo from ._models import PostgreSqlConnectionInfo from ._models import Project @@ -523,8 +479,6 @@ from ._models import ValidateMigrationInputSqlServerSqlMITaskOutput from ._models import ValidateMigrationInputSqlServerSqlMITaskProperties from ._models import ValidateMongoDbTaskProperties - from ._models import ValidateOracleAzureDbForPostgreSqlSyncTaskProperties - from ._models import ValidateOracleAzureDbPostgreSqlSyncTaskOutput from ._models import ValidateSyncMigrationInputSqlServerTaskInput from ._models import ValidateSyncMigrationInputSqlServerTaskOutput from ._models import ValidationError @@ -606,9 +560,6 @@ 'ConnectToSourceMySqlTaskInput', 'ConnectToSourceMySqlTaskProperties', 'ConnectToSourceNonSqlTaskOutput', - 'ConnectToSourceOracleSyncTaskInput', - 'ConnectToSourceOracleSyncTaskOutput', - 'ConnectToSourceOracleSyncTaskProperties', 'ConnectToSourcePostgreSqlSyncTaskInput', 'ConnectToSourcePostgreSqlSyncTaskOutput', 'ConnectToSourcePostgreSqlSyncTaskProperties', @@ -626,10 +577,6 @@ 'ConnectToTargetAzureDbForPostgreSqlSyncTaskInput', 'ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput', 'ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties', - 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput', - 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput', - 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem', - 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties', 'ConnectToTargetSqlDbTaskInput', 'ConnectToTargetSqlDbTaskOutput', 'ConnectToTargetSqlDbTaskProperties', @@ -662,9 +609,6 @@ 'GetTdeCertificatesSqlTaskInput', 'GetTdeCertificatesSqlTaskOutput', 'GetTdeCertificatesSqlTaskProperties', - 'GetUserTablesOracleTaskInput', - 'GetUserTablesOracleTaskOutput', - 'GetUserTablesOracleTaskProperties', 'GetUserTablesPostgreSqlTaskInput', 'GetUserTablesPostgreSqlTaskOutput', 'GetUserTablesPostgreSqlTaskProperties', @@ -690,15 +634,6 @@ 'MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel', 'MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel', 'MigrateMySqlAzureDbForMySqlSyncTaskProperties', - 'MigrateOracleAzureDbForPostgreSqlSyncTaskProperties', - 'MigrateOracleAzureDbPostgreSqlSyncDatabaseInput', - 'MigrateOracleAzureDbPostgreSqlSyncTaskInput', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputError', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel', 'MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput', 'MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput', 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput', @@ -796,8 +731,6 @@ 'NonSqlMigrationTaskInput', 'NonSqlMigrationTaskOutput', 'ODataError', - 'OracleConnectionInfo', - 'OracleOCIDriverInfo', 'OrphanedUserInfo', 'PostgreSqlConnectionInfo', 'Project', @@ -842,8 +775,6 @@ 'ValidateMigrationInputSqlServerSqlMITaskOutput', 'ValidateMigrationInputSqlServerSqlMITaskProperties', 'ValidateMongoDbTaskProperties', - 'ValidateOracleAzureDbForPostgreSqlSyncTaskProperties', - 'ValidateOracleAzureDbPostgreSqlSyncTaskOutput', 'ValidateSyncMigrationInputSqlServerTaskInput', 'ValidateSyncMigrationInputSqlServerTaskOutput', 'ValidationError', diff --git a/src/dms-preview/setup.py b/src/dms-preview/setup.py index e6de907b28e..0df0a721e21 100644 --- a/src/dms-preview/setup.py +++ b/src/dms-preview/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.12.0" +VERSION = "0.13.0" CLASSIFIERS = [ 'Development Status :: 4 - Beta', diff --git a/src/service_name.json b/src/service_name.json index 7aa8ffac3d4..1aca3d20c18 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -124,6 +124,11 @@ "AzureServiceName": "Azure Virtual Machines", "URL": "https://docs.microsoft.com/azure/virtual-desktop/overview" }, + { + "Command": "az dms", + "AzureServiceName": "Azure Database Migration Service", + "URL": "https://docs.microsoft.com/en-us/azure/dms/" + }, { "Command": "az dt", "AzureServiceName": "Azure Digital Twins",