diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b373895340d..68e0d5fbc21 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -274,4 +274,6 @@ /src/voice-service/ @jsntcy -/src/confcom/ @BryceDFisher @SethHollandsworth @hgarvison @stevendongatmsft \ No newline at end of file +/src/confcom/ @BryceDFisher @SethHollandsworth @hgarvison @stevendongatmsft + +/src/storage-mover/ @calvinhzy \ No newline at end of file diff --git a/src/service_name.json b/src/service_name.json index 3b53fc1220b..7e50c4bdb09 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -708,5 +708,10 @@ "Command": "az voice-service", "AzureServiceName": "Azure VoiceServices", "URL": "" + }, + { + "Command": "az storage-mover", + "AzureServiceName": "Storage Mover", + "URL": "https://learn.microsoft.com/en-us/azure/storage-mover/" } ] \ No newline at end of file diff --git a/src/storage-mover/HISTORY.rst b/src/storage-mover/HISTORY.rst new file mode 100644 index 00000000000..8c34bccfff8 --- /dev/null +++ b/src/storage-mover/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. \ No newline at end of file diff --git a/src/storage-mover/README.md b/src/storage-mover/README.md new file mode 100644 index 00000000000..1973405d1b2 --- /dev/null +++ b/src/storage-mover/README.md @@ -0,0 +1,36 @@ +# Azure CLI StorageMover Extension # +This is an extension to Azure CLI to manage StorageMover resources. + +## How to use ## +### Create a top-level Storage Mover resource. +`az storage-mover create -g {rg} -n {mover_name} -l eastus2 --tags {{key1:value1}} --description ExampleDesc` + +### Deploy and register an Agent resource, which references a hybrid compute machine that can run jobs. +#### Deploy Agent +https://learn.microsoft.com/en-us/azure/storage-mover/agent-deploy?tabs=xdmshell +#### Register Agent +https://learn.microsoft.com/en-us/azure/storage-mover/agent-register + +### Create a Project resource, which is a logical grouping of related jobs. +`az storage-mover project create -g {rg} --storage-mover-name {mover_name} -n {project_name} --description ProjectDesc` + +### Create an Endpoint resource for nfs, which represents the data transfer source. +`az storage-mover endpoint create-for-nfs -g {rg} --storage-mover-name {mover_name} -n {source_endpoint} --description srcendpointDesc --export exportfolder --nfs-version NFSv4 --host {vm_ip}` + +### Create an Endpoint resource for storage container, which represents the data transfer destination. +`az storage-mover endpoint create-for-storage-container -g {rg} --storage-mover-name {mover_name} -n {target_endpoint} --container-name {target_container} --storage-account-id {account_id} --description tgtendpointDesc` + +### Create a Job Definition resource, which contains configuration for a single unit of managed data transfer. +`az storage-mover job-definition create -g {rg} -n {job_definition} --project-name {project_name} --storage-mover-name {mover_name} --copy-mode Additive --source-name {source_endpoint} --target-name {target_endpoint} --agent-name {agent_name} --description JobDefinitionDescription --source-subpath path1 --target-subpath path2` + +### Request an Agent to start a new instance of this Job Definition, generating a new Job Run resource. +`az storage-mover job-definition start-job -g {rg} --job-definition-name {job_definition} --project-name {project_name} --storage-mover-name {mover_name}` + +### List all Job Runs in a Job Definition. +`az storage-mover job-run list -g {rg} --job-definition-name {job_definition} --project-name {project_name} --storage-mover-name {mover_name}` + +### Request the Agent of any active instance of this Job Definition to stop. +`az storage-mover job-definition stop-job -g {rg} --job-definition-name {job_definition} --project-name {project_name} --storage-mover-name {mover_name}` + +### Delete a Job Definition resource. +`az storage-mover job-definition delete -g {rg} -n {job_definition} --project-name {project_name} --storage-mover-name {mover_name}` \ No newline at end of file diff --git a/src/storage-mover/azext_storage_mover/__init__.py b/src/storage-mover/azext_storage_mover/__init__.py new file mode 100644 index 00000000000..049ef9f86d1 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/__init__.py @@ -0,0 +1,42 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from azext_storage_mover._help import helps # pylint: disable=unused-import + + +class StorageMoverCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + custom_command_type = CliCommandType( + operations_tmpl='azext_storage_mover.custom#{}') + super().__init__(cli_ctx=cli_ctx, + custom_command_type=custom_command_type) + + def load_command_table(self, args): + from azext_storage_mover.commands import load_command_table + from azure.cli.core.aaz import load_aaz_command_table + try: + from . import aaz + except ImportError: + aaz = None + if aaz: + load_aaz_command_table( + loader=self, + aaz_pkg_name=aaz.__name__, + args=args + ) + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_storage_mover._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = StorageMoverCommandsLoader diff --git a/src/storage-mover/azext_storage_mover/_help.py b/src/storage-mover/azext_storage_mover/_help.py new file mode 100644 index 00000000000..c05b2785be8 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/_help.py @@ -0,0 +1,51 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + +from knack.help_files import helps # pylint: disable=unused-import + +helps['storage-mover endpoint create-for-storage-container'] = """ +type: command +short-summary: Creates an Endpoint resource for storage blob container. +examples: + - name: endpoint create-for-storage-container + text: > + az storage-mover endpoint create-for-storage-container -g {rg} --storage-mover-name {mover_name} -n + {endpoint_container} --container-name {container_name} --storage-account-id {account_id} --description endpointDesc +""" + +helps['storage-mover endpoint create-for-nfs'] = """ +type: command +short-summary: Creates an Endpoint resource for nfs. +examples: + - name: endpoint create-for-nfs + text: > + az storage-mover endpoint create-for-nfs -g {rg} --storage-mover-name {mover_name} -n {endpoint_nfs} + --description endpointDesc --export exportfolder --nfs-version NFSv4 --host {vm_ip} +""" + +helps['storage-mover endpoint update-for-storage-container'] = """ +type: command +short-summary: Updates an Endpoint resource for storage blob container. +examples: + - name: endpoint update-for-storage-container + text: > + az storage-mover endpoint update-for-storage-container -g {rg} --storage-mover-name {mover_name} -n + {endpoint_container} --description endpointDescUpdate --container-name {container_name} --storage-account-id {account_id} +""" + +helps['storage-mover endpoint update-for-nfs'] = """ +type: command +short-summary: Updates an Endpoint resource for nfs. +examples: + - name: endpoint update-for-nfs + text: > + az storage-mover endpoint update-for-nfs -g {rg} --storage-mover-name {mover_name} -n {endpoint_nfs} + --description endpointDescUpdate --export exportfolder --nfs-version NFSv4 --host {vm_ip} +""" diff --git a/src/storage-mover/azext_storage_mover/_params.py b/src/storage-mover/azext_storage_mover/_params.py new file mode 100644 index 00000000000..de6bbc65234 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/_params.py @@ -0,0 +1,38 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements +from azure.cli.core.commands.parameters import (get_enum_type) + + +def load_arguments(self, _): # pylint: disable=unused-argument + + for command in ['create-for-storage-container', 'create-for-nfs', 'update-for-storage-container', 'update-for-nfs']: + with self.argument_context('storage-mover endpoint ' + command) as c: + c.argument('endpoint_name', options_list=('--endpoint-name', '--name', '-n'), required=True, + help='The name of the endpoint resource.') + c.argument('resource_group', options_list=('--resource-group', '-g'), required=True, + help='Name of resource group. You can configure the default group using ' + '`az configure --defaults group=`.') + c.argument('storage_mover_name', options_list=('--storage-mover-name'), required=True, + help='The name of the Storage Mover resource.') + c.argument('description', help='A description for the Endpoint.') + + for command in ['create-for-storage-container', 'update-for-storage-container']: + with self.argument_context('storage-mover endpoint ' + command) as c: + c.argument('blob_container_name', options_list=('--container-name'), required=True, + help='The name of the Storage blob container that is the target destination.') + c.argument('storage_account_resource_id', options_list=('--storage-account-id'), required=True, + help=' The Azure Resource ID of the storage account that is the target destination.') + + for command in ['create-for-nfs', 'update-for-nfs']: + with self.argument_context('storage-mover endpoint ' + command) as c: + c.argument('export', required=True, help='The directory being exported from the server.') + c.argument('host', required=True, help='The host name or IP address of the server exporting the file system.') + c.argument('nfs_version', arg_type=get_enum_type(['NFSauto', 'NFSv3', 'NFSv4']), + help='The NFS protocol version.') diff --git a/src/storage-mover/azext_storage_mover/aaz/__init__.py b/src/storage-mover/azext_storage_mover/aaz/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/__init__.py b/src/storage-mover/azext_storage_mover/aaz/latest/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/__cmd_group.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/__cmd_group.py new file mode 100644 index 00000000000..d899276ee62 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "storage-mover", +) +class __CMDGroup(AAZCommandGroup): + """Manage top-level Storage Mover resource. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/__init__.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/__init__.py new file mode 100644 index 00000000000..db73033039b --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/__init__.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._update import * +from ._wait import * diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_create.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_create.py new file mode 100644 index 00000000000..fbe3c07fc6e --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_create.py @@ -0,0 +1,266 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover create", +) +class Create(AAZCommand): + """Creates a top-level Storage Mover resource. + + :example: storage-mover create + az storage-mover create -g {rg} -n {mover_name} -l eastus2 --tags {{key1:value1}} --description ExampleDesc + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["-n", "--name", "--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A description for the Storage Mover.", + ) + + # define Arg Group "StorageMover" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="StorageMover", + help="The geo-location where the resource lives", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="StorageMover", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.StorageMoversCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class StorageMoversCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("description", AAZStrType, ".description") + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_delete.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_delete.py new file mode 100644 index 00000000000..23572f9cadf --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_delete.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover delete", + confirmation="WARNING: Deleting a storage mover will cascade delete all contained resources. This will stop all ongoing migrations and break all trust relationships with registered agents.\nAre you sure you want to delete this storage mover and all its contained resources?", +) +class Delete(AAZCommand): + """Deletes a Storage Mover resource. + + :example: storage-mover delete + az storage-mover delete -g {rg} -n {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}", "2023-03-01"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["-n", "--name", "--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.StorageMoversDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class StorageMoversDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_list.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_list.py new file mode 100644 index 00000000000..e89150641fa --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_list.py @@ -0,0 +1,358 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover list", +) +class List(AAZCommand): + """Lists all Storage Movers in a subscription. + + :example: storage-mover list + az storage-mover list -g {rg} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.storagemover/storagemovers", "2023-03-01"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + condition_0 = has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id) + condition_1 = has_value(self.ctx.subscription_id) and has_value(self.ctx.args.resource_group) is not True + if condition_0: + self.StorageMoversList(ctx=self.ctx)() + if condition_1: + self.StorageMoversListBySubscription(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class StorageMoversList(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.description = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class StorageMoversListBySubscription(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageMover/storageMovers", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.description = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_show.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_show.py new file mode 100644 index 00000000000..b4bbba73488 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_show.py @@ -0,0 +1,214 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover show", +) +class Show(AAZCommand): + """Gets a Storage Mover resource. + + :example: storage-mover show + az storage-mover show -g {rg} -n {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["-n", "--name", "--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.StorageMoversGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class StorageMoversGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_update.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_update.py new file mode 100644 index 00000000000..e118bc056a8 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_update.py @@ -0,0 +1,258 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover update", +) +class Update(AAZCommand): + """Update properties for a Storage Mover resource. Properties not specified in the request body will be unchanged. + + :example: storage-mover update + az storage-mover update -g {rg} -n {mover_name} --tags {{key2:value2}} --description ExampleDesc2 + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["-n", "--name", "--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A description for the Storage Mover.", + ) + + # define Arg Group "StorageMover" + + _args_schema = cls._args_schema + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="StorageMover", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.StorageMoversUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class StorageMoversUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}", + **self.url_parameters + ) + + @property + def method(self): + return "PATCH" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("description", AAZStrType, ".description") + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _UpdateHelper: + """Helper class for Update""" + + +__all__ = ["Update"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_wait.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_wait.py new file mode 100644 index 00000000000..2e28550386e --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/_wait.py @@ -0,0 +1,210 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["-n", "--name", "--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.StorageMoversGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class StorageMoversGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/__cmd_group.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/__cmd_group.py new file mode 100644 index 00000000000..6fb3b135ed0 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "storage-mover agent", +) +class __CMDGroup(AAZCommandGroup): + """Manage Agent resource, which references a hybrid compute machine that can run jobs. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/__init__.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/__init__.py new file mode 100644 index 00000000000..24bf855091b --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/__init__.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._list import * +from ._show import * +from ._unregister import * +from ._update import * +from ._wait import * diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_create.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_create.py new file mode 100644 index 00000000000..473c042b72f --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_create.py @@ -0,0 +1,294 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class Create(AAZCommand): + """Creates an Agent resource, which references a hybrid compute machine that can run jobs. + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/agents/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.agent_name = AAZStrArg( + options=["-n", "--name", "--agent-name"], + help="The name of the Agent resource.", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.arc_resource_id = AAZStrArg( + options=["--arc-resource-id"], + arg_group="Properties", + help="The fully qualified resource ID of the Hybrid Compute resource for the Agent.", + required=True, + ) + _args_schema.arc_vm_uuid = AAZStrArg( + options=["--arc-vm-uuid"], + arg_group="Properties", + help="The VM UUID of the Hybrid Compute resource for the Agent.", + required=True, + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A description for the Agent.", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AgentsCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class AgentsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/agents/{agentName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "agentName", self.ctx.args.agent_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("arcResourceId", AAZStrType, ".arc_resource_id", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("arcVmUuid", AAZStrType, ".arc_vm_uuid", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("description", AAZStrType, ".description") + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.agent_status = AAZStrType( + serialized_name="agentStatus", + flags={"read_only": True}, + ) + properties.agent_version = AAZStrType( + serialized_name="agentVersion", + flags={"read_only": True}, + ) + properties.arc_resource_id = AAZStrType( + serialized_name="arcResourceId", + flags={"required": True}, + ) + properties.arc_vm_uuid = AAZStrType( + serialized_name="arcVmUuid", + flags={"required": True}, + ) + properties.description = AAZStrType() + properties.error_details = AAZObjectType( + serialized_name="errorDetails", + flags={"read_only": True}, + ) + properties.last_status_update = AAZStrType( + serialized_name="lastStatusUpdate", + flags={"read_only": True}, + ) + properties.local_ip_address = AAZStrType( + serialized_name="localIPAddress", + flags={"read_only": True}, + ) + properties.memory_in_mb = AAZIntType( + serialized_name="memoryInMB", + flags={"read_only": True}, + ) + properties.number_of_cores = AAZIntType( + serialized_name="numberOfCores", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.uptime_in_seconds = AAZIntType( + serialized_name="uptimeInSeconds", + flags={"read_only": True}, + ) + + error_details = cls._schema_on_200.properties.error_details + error_details.code = AAZStrType() + error_details.message = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_list.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_list.py new file mode 100644 index 00000000000..0859af3ba49 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_list.py @@ -0,0 +1,262 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover agent list", +) +class List(AAZCommand): + """Lists all Agents in a Storage Mover. + + :example: agent list + az storage-mover agent list -g {rg} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/agents", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AgentsList(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class AgentsList(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/agents", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.agent_status = AAZStrType( + serialized_name="agentStatus", + flags={"read_only": True}, + ) + properties.agent_version = AAZStrType( + serialized_name="agentVersion", + flags={"read_only": True}, + ) + properties.arc_resource_id = AAZStrType( + serialized_name="arcResourceId", + flags={"required": True}, + ) + properties.arc_vm_uuid = AAZStrType( + serialized_name="arcVmUuid", + flags={"required": True}, + ) + properties.description = AAZStrType() + properties.error_details = AAZObjectType( + serialized_name="errorDetails", + flags={"read_only": True}, + ) + properties.last_status_update = AAZStrType( + serialized_name="lastStatusUpdate", + flags={"read_only": True}, + ) + properties.local_ip_address = AAZStrType( + serialized_name="localIPAddress", + flags={"read_only": True}, + ) + properties.memory_in_mb = AAZIntType( + serialized_name="memoryInMB", + flags={"read_only": True}, + ) + properties.number_of_cores = AAZIntType( + serialized_name="numberOfCores", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.uptime_in_seconds = AAZIntType( + serialized_name="uptimeInSeconds", + flags={"read_only": True}, + ) + + error_details = cls._schema_on_200.value.Element.properties.error_details + error_details.code = AAZStrType() + error_details.message = AAZStrType() + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_show.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_show.py new file mode 100644 index 00000000000..29d37faf11e --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_show.py @@ -0,0 +1,261 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover agent show", +) +class Show(AAZCommand): + """Gets an Agent resource. + + :example: agent show + az storage-mover agent show -g {rg} -n {agent_name} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/agents/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.agent_name = AAZStrArg( + options=["-n", "--name", "--agent-name"], + help="The name of the Agent resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AgentsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class AgentsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/agents/{agentName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "agentName", self.ctx.args.agent_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.agent_status = AAZStrType( + serialized_name="agentStatus", + flags={"read_only": True}, + ) + properties.agent_version = AAZStrType( + serialized_name="agentVersion", + flags={"read_only": True}, + ) + properties.arc_resource_id = AAZStrType( + serialized_name="arcResourceId", + flags={"required": True}, + ) + properties.arc_vm_uuid = AAZStrType( + serialized_name="arcVmUuid", + flags={"required": True}, + ) + properties.description = AAZStrType() + properties.error_details = AAZObjectType( + serialized_name="errorDetails", + flags={"read_only": True}, + ) + properties.last_status_update = AAZStrType( + serialized_name="lastStatusUpdate", + flags={"read_only": True}, + ) + properties.local_ip_address = AAZStrType( + serialized_name="localIPAddress", + flags={"read_only": True}, + ) + properties.memory_in_mb = AAZIntType( + serialized_name="memoryInMB", + flags={"read_only": True}, + ) + properties.number_of_cores = AAZIntType( + serialized_name="numberOfCores", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.uptime_in_seconds = AAZIntType( + serialized_name="uptimeInSeconds", + flags={"read_only": True}, + ) + + error_details = cls._schema_on_200.properties.error_details + error_details.code = AAZStrType() + error_details.message = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_unregister.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_unregister.py new file mode 100644 index 00000000000..a980915d699 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_unregister.py @@ -0,0 +1,173 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover agent unregister", + confirmation="WARNING: Deleting this agent will stop ongoing migrations on this agent. Job definitions that reference this agent can’t be started until their agent reference is updated to a working agent. Registering this agent again will result in a new identity and not fix existing job definitions. Note that the Azure ARC trust is not broken. The Hybrid Compute resource must be manually removed to invalidate the agent identity that may still be allowed access to target storage containers. \nAre you sure you want to delete this storage mover agent?", +) +class Unregister(AAZCommand): + """Unregisters an Agent resource. + + :example: agent unregister + az storage-mover agent unregister -g {rg} -n {agent_name} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/agents/{}", "2023-03-01"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.agent_name = AAZStrArg( + options=["-n", "--name", "--agent-name"], + help="The name of the Agent resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.AgentsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class AgentsDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/agents/{agentName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "agentName", self.ctx.args.agent_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _UnregisterHelper: + """Helper class for Unregister""" + + +__all__ = ["Unregister"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_update.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_update.py new file mode 100644 index 00000000000..e89e11d253a --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_update.py @@ -0,0 +1,433 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover agent update", +) +class Update(AAZCommand): + """Updates an Agent resource, which references a hybrid compute machine that can run jobs. + + :example: agent update + az storage-mover agent update -g {rg} -n {agent_name} --storage-mover-name {mover_name} --description 123 + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/agents/{}", "2023-03-01"], + ] + } + + AZ_SUPPORT_GENERIC_UPDATE = True + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.agent_name = AAZStrArg( + options=["-n", "--name", "--agent-name"], + help="The name of the Agent resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A description for the Agent.", + nullable=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AgentsGet(ctx=self.ctx)() + self.pre_instance_update(self.ctx.vars.instance) + self.InstanceUpdateByJson(ctx=self.ctx)() + self.InstanceUpdateByGeneric(ctx=self.ctx)() + self.post_instance_update(self.ctx.vars.instance) + self.AgentsCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + @register_callback + def pre_instance_update(self, instance): + pass + + @register_callback + def post_instance_update(self, instance): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class AgentsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/agents/{agentName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "agentName", self.ctx.args.agent_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + _UpdateHelper._build_schema_agent_read(cls._schema_on_200) + + return cls._schema_on_200 + + class AgentsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/agents/{agentName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "agentName", self.ctx.args.agent_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + value=self.ctx.vars.instance, + ) + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + _UpdateHelper._build_schema_agent_read(cls._schema_on_200) + + return cls._schema_on_200 + + class InstanceUpdateByJson(AAZJsonInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance(self.ctx.vars.instance) + + def _update_instance(self, instance): + _instance_value, _builder = self.new_content_builder( + self.ctx.args, + value=instance, + typ=AAZObjectType + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("description", AAZStrType, ".description") + + return _instance_value + + class InstanceUpdateByGeneric(AAZGenericInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance_by_generic( + self.ctx.vars.instance, + self.ctx.generic_update_args + ) + + +class _UpdateHelper: + """Helper class for Update""" + + _schema_agent_read = None + + @classmethod + def _build_schema_agent_read(cls, _schema): + if cls._schema_agent_read is not None: + _schema.id = cls._schema_agent_read.id + _schema.name = cls._schema_agent_read.name + _schema.properties = cls._schema_agent_read.properties + _schema.system_data = cls._schema_agent_read.system_data + _schema.type = cls._schema_agent_read.type + return + + cls._schema_agent_read = _schema_agent_read = AAZObjectType() + + agent_read = _schema_agent_read + agent_read.id = AAZStrType( + flags={"read_only": True}, + ) + agent_read.name = AAZStrType( + flags={"read_only": True}, + ) + agent_read.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + agent_read.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + agent_read.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = _schema_agent_read.properties + properties.agent_status = AAZStrType( + serialized_name="agentStatus", + flags={"read_only": True}, + ) + properties.agent_version = AAZStrType( + serialized_name="agentVersion", + flags={"read_only": True}, + ) + properties.arc_resource_id = AAZStrType( + serialized_name="arcResourceId", + flags={"required": True}, + ) + properties.arc_vm_uuid = AAZStrType( + serialized_name="arcVmUuid", + flags={"required": True}, + ) + properties.description = AAZStrType() + properties.error_details = AAZObjectType( + serialized_name="errorDetails", + flags={"read_only": True}, + ) + properties.last_status_update = AAZStrType( + serialized_name="lastStatusUpdate", + flags={"read_only": True}, + ) + properties.local_ip_address = AAZStrType( + serialized_name="localIPAddress", + flags={"read_only": True}, + ) + properties.memory_in_mb = AAZIntType( + serialized_name="memoryInMB", + flags={"read_only": True}, + ) + properties.number_of_cores = AAZIntType( + serialized_name="numberOfCores", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.uptime_in_seconds = AAZIntType( + serialized_name="uptimeInSeconds", + flags={"read_only": True}, + ) + + error_details = _schema_agent_read.properties.error_details + error_details.code = AAZStrType() + error_details.message = AAZStrType() + + system_data = _schema_agent_read.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + _schema.id = cls._schema_agent_read.id + _schema.name = cls._schema_agent_read.name + _schema.properties = cls._schema_agent_read.properties + _schema.system_data = cls._schema_agent_read.system_data + _schema.type = cls._schema_agent_read.type + + +__all__ = ["Update"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_wait.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_wait.py new file mode 100644 index 00000000000..08a96b6761e --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/agent/_wait.py @@ -0,0 +1,257 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover agent wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/agents/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.agent_name = AAZStrArg( + options=["-n", "--name", "--agent-name"], + help="The name of the Agent resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AgentsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class AgentsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/agents/{agentName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "agentName", self.ctx.args.agent_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.agent_status = AAZStrType( + serialized_name="agentStatus", + flags={"read_only": True}, + ) + properties.agent_version = AAZStrType( + serialized_name="agentVersion", + flags={"read_only": True}, + ) + properties.arc_resource_id = AAZStrType( + serialized_name="arcResourceId", + flags={"required": True}, + ) + properties.arc_vm_uuid = AAZStrType( + serialized_name="arcVmUuid", + flags={"required": True}, + ) + properties.description = AAZStrType() + properties.error_details = AAZObjectType( + serialized_name="errorDetails", + flags={"read_only": True}, + ) + properties.last_status_update = AAZStrType( + serialized_name="lastStatusUpdate", + flags={"read_only": True}, + ) + properties.local_ip_address = AAZStrType( + serialized_name="localIPAddress", + flags={"read_only": True}, + ) + properties.memory_in_mb = AAZIntType( + serialized_name="memoryInMB", + flags={"read_only": True}, + ) + properties.number_of_cores = AAZIntType( + serialized_name="numberOfCores", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.uptime_in_seconds = AAZIntType( + serialized_name="uptimeInSeconds", + flags={"read_only": True}, + ) + + error_details = cls._schema_on_200.properties.error_details + error_details.code = AAZStrType() + error_details.message = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/__cmd_group.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/__cmd_group.py new file mode 100644 index 00000000000..7d021868655 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "storage-mover endpoint", +) +class __CMDGroup(AAZCommandGroup): + """Manage Endpoint resource, which represents a data transfer source or destination. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/__init__.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/__init__.py new file mode 100644 index 00000000000..db73033039b --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/__init__.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._update import * +from ._wait import * diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_create.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_create.py new file mode 100644 index 00000000000..5e9f138bd26 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_create.py @@ -0,0 +1,314 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class Create(AAZCommand): + """Creates an Endpoint resource, which represents a data transfer source or destination. + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/endpoints/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.endpoint_name = AAZStrArg( + options=["-n", "--name", "--endpoint-name"], + help="The name of the Endpoint resource.", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.storage_blob_container = AAZObjectArg( + options=["--storage-blob-container"], + arg_group="Properties", + help="Storage Blob Container Object", + ) + _args_schema.nfs_mount = AAZObjectArg( + options=["--nfs-mount"], + arg_group="Properties", + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A description for the Endpoint.", + ) + + storage_blob_container = cls._args_schema.storage_blob_container + storage_blob_container.blob_container_name = AAZStrArg( + options=["blob-container-name"], + help="The name of the Storage blob container that is the target destination.", + required=True, + ) + storage_blob_container.storage_account_resource_id = AAZStrArg( + options=["storage-account-resource-id"], + help="The Azure Resource ID of the storage account that is the target destination.", + required=True, + ) + + nfs_mount = cls._args_schema.nfs_mount + nfs_mount.export = AAZStrArg( + options=["export"], + help="The directory being exported from the server.", + required=True, + ) + nfs_mount.host = AAZStrArg( + options=["host"], + help="The host name or IP address of the server exporting the file system.", + required=True, + ) + nfs_mount.nfs_version = AAZStrArg( + options=["nfs-version"], + help="The NFS protocol version.", + enum={"NFSauto": "NFSauto", "NFSv3": "NFSv3", "NFSv4": "NFSv4"}, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.EndpointsCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class EndpointsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/endpoints/{endpointName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "endpointName", self.ctx.args.endpoint_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("description", AAZStrType, ".description") + properties.set_const("endpointType", "AzureStorageBlobContainer", AAZStrType, ".storage_blob_container", typ_kwargs={"flags": {"required": True}}) + properties.set_const("endpointType", "NfsMount", AAZStrType, ".nfs_mount", typ_kwargs={"flags": {"required": True}}) + properties.discriminate_by("endpointType", "AzureStorageBlobContainer") + properties.discriminate_by("endpointType", "NfsMount") + + disc_azure_storage_blob_container = _builder.get(".properties{endpointType:AzureStorageBlobContainer}") + if disc_azure_storage_blob_container is not None: + disc_azure_storage_blob_container.set_prop("blobContainerName", AAZStrType, ".storage_blob_container.blob_container_name", typ_kwargs={"flags": {"required": True}}) + disc_azure_storage_blob_container.set_prop("storageAccountResourceId", AAZStrType, ".storage_blob_container.storage_account_resource_id", typ_kwargs={"flags": {"required": True}}) + + disc_nfs_mount = _builder.get(".properties{endpointType:NfsMount}") + if disc_nfs_mount is not None: + disc_nfs_mount.set_prop("export", AAZStrType, ".nfs_mount.export", typ_kwargs={"flags": {"required": True}}) + disc_nfs_mount.set_prop("host", AAZStrType, ".nfs_mount.host", typ_kwargs={"flags": {"required": True}}) + disc_nfs_mount.set_prop("nfsVersion", AAZStrType, ".nfs_mount.nfs_version") + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType() + properties.endpoint_type = AAZStrType( + serialized_name="endpointType", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + disc_azure_storage_blob_container = cls._schema_on_200.properties.discriminate_by("endpoint_type", "AzureStorageBlobContainer") + disc_azure_storage_blob_container.blob_container_name = AAZStrType( + serialized_name="blobContainerName", + flags={"required": True}, + ) + disc_azure_storage_blob_container.storage_account_resource_id = AAZStrType( + serialized_name="storageAccountResourceId", + flags={"required": True}, + ) + + disc_nfs_mount = cls._schema_on_200.properties.discriminate_by("endpoint_type", "NfsMount") + disc_nfs_mount.export = AAZStrType( + flags={"required": True}, + ) + disc_nfs_mount.host = AAZStrType( + flags={"required": True}, + ) + disc_nfs_mount.nfs_version = AAZStrType( + serialized_name="nfsVersion", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_delete.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_delete.py new file mode 100644 index 00000000000..60e6a03d231 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_delete.py @@ -0,0 +1,173 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover endpoint delete", + confirmation="Are you sure you want to perform this operation?", +) +class Delete(AAZCommand): + """Deletes an Endpoint resource. + + :example: endpoint delete + az storage-mover endpoint delete -g {rg} --storage-mover-name {mover_name} -n {endpoint_nfs} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/endpoints/{}", "2023-03-01"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.endpoint_name = AAZStrArg( + options=["-n", "--name", "--endpoint-name"], + help="The name of the Endpoint resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.EndpointsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class EndpointsDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/endpoints/{endpointName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "endpointName", self.ctx.args.endpoint_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_list.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_list.py new file mode 100644 index 00000000000..83732b1e972 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_list.py @@ -0,0 +1,243 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover endpoint list", +) +class List(AAZCommand): + """Lists all Endpoints in a Storage Mover. + + :example: endpoint list + az storage-mover endpoint list -g {rg} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/endpoints", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.EndpointsList(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class EndpointsList(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/endpoints", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.description = AAZStrType() + properties.endpoint_type = AAZStrType( + serialized_name="endpointType", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + disc_azure_storage_blob_container = cls._schema_on_200.value.Element.properties.discriminate_by("endpoint_type", "AzureStorageBlobContainer") + disc_azure_storage_blob_container.blob_container_name = AAZStrType( + serialized_name="blobContainerName", + flags={"required": True}, + ) + disc_azure_storage_blob_container.storage_account_resource_id = AAZStrType( + serialized_name="storageAccountResourceId", + flags={"required": True}, + ) + + disc_nfs_mount = cls._schema_on_200.value.Element.properties.discriminate_by("endpoint_type", "NfsMount") + disc_nfs_mount.export = AAZStrType( + flags={"required": True}, + ) + disc_nfs_mount.host = AAZStrType( + flags={"required": True}, + ) + disc_nfs_mount.nfs_version = AAZStrType( + serialized_name="nfsVersion", + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_show.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_show.py new file mode 100644 index 00000000000..3df8c6265ff --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_show.py @@ -0,0 +1,242 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover endpoint show", +) +class Show(AAZCommand): + """Gets an Endpoint resource. + + :example: endpoint show + az storage-mover endpoint show -g {rg} --storage-mover-name {mover_name} -n {endpoint_nfs} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/endpoints/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.endpoint_name = AAZStrArg( + options=["-n", "--name", "--endpoint-name"], + help="The name of the Endpoint resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.EndpointsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class EndpointsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/endpoints/{endpointName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "endpointName", self.ctx.args.endpoint_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType() + properties.endpoint_type = AAZStrType( + serialized_name="endpointType", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + disc_azure_storage_blob_container = cls._schema_on_200.properties.discriminate_by("endpoint_type", "AzureStorageBlobContainer") + disc_azure_storage_blob_container.blob_container_name = AAZStrType( + serialized_name="blobContainerName", + flags={"required": True}, + ) + disc_azure_storage_blob_container.storage_account_resource_id = AAZStrType( + serialized_name="storageAccountResourceId", + flags={"required": True}, + ) + + disc_nfs_mount = cls._schema_on_200.properties.discriminate_by("endpoint_type", "NfsMount") + disc_nfs_mount.export = AAZStrType( + flags={"required": True}, + ) + disc_nfs_mount.host = AAZStrType( + flags={"required": True}, + ) + disc_nfs_mount.nfs_version = AAZStrType( + serialized_name="nfsVersion", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_update.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_update.py new file mode 100644 index 00000000000..1be8d726613 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_update.py @@ -0,0 +1,424 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +class Update(AAZCommand): + """Updates an Endpoint resource, which represents a data transfer source or destination. + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/endpoints/{}", "2023-03-01"], + ] + } + + AZ_SUPPORT_GENERIC_UPDATE = True + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.endpoint_name = AAZStrArg( + options=["-n", "--name", "--endpoint-name"], + help="The name of the Endpoint resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.storage_blob_container = AAZObjectArg( + options=["--storage-blob-container"], + arg_group="Properties", + help="Storage Blob Container Object", + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A description for the Endpoint.", + nullable=True, + ) + + storage_blob_container = cls._args_schema.storage_blob_container + storage_blob_container.storage_account_resource_id = AAZStrArg( + options=["storage-account-resource-id"], + help="The Azure Resource ID of the storage account that is the target destination.", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.EndpointsGet(ctx=self.ctx)() + self.pre_instance_update(self.ctx.vars.instance) + self.InstanceUpdateByJson(ctx=self.ctx)() + self.InstanceUpdateByGeneric(ctx=self.ctx)() + self.post_instance_update(self.ctx.vars.instance) + self.EndpointsCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + @register_callback + def pre_instance_update(self, instance): + pass + + @register_callback + def post_instance_update(self, instance): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class EndpointsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/endpoints/{endpointName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "endpointName", self.ctx.args.endpoint_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + _UpdateHelper._build_schema_endpoint_read(cls._schema_on_200) + + return cls._schema_on_200 + + class EndpointsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/endpoints/{endpointName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "endpointName", self.ctx.args.endpoint_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + value=self.ctx.vars.instance, + ) + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + _UpdateHelper._build_schema_endpoint_read(cls._schema_on_200) + + return cls._schema_on_200 + + class InstanceUpdateByJson(AAZJsonInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance(self.ctx.vars.instance) + + def _update_instance(self, instance): + _instance_value, _builder = self.new_content_builder( + self.ctx.args, + value=instance, + typ=AAZObjectType + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("description", AAZStrType, ".description") + properties.discriminate_by("endpointType", "AzureStorageBlobContainer") + + disc_azure_storage_blob_container = _builder.get(".properties{endpointType:AzureStorageBlobContainer}") + if disc_azure_storage_blob_container is not None: + disc_azure_storage_blob_container.set_prop("storageAccountResourceId", AAZStrType, ".storage_blob_container.storage_account_resource_id", typ_kwargs={"flags": {"required": True}}) + + return _instance_value + + class InstanceUpdateByGeneric(AAZGenericInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance_by_generic( + self.ctx.vars.instance, + self.ctx.generic_update_args + ) + + +class _UpdateHelper: + """Helper class for Update""" + + _schema_endpoint_read = None + + @classmethod + def _build_schema_endpoint_read(cls, _schema): + if cls._schema_endpoint_read is not None: + _schema.id = cls._schema_endpoint_read.id + _schema.name = cls._schema_endpoint_read.name + _schema.properties = cls._schema_endpoint_read.properties + _schema.system_data = cls._schema_endpoint_read.system_data + _schema.type = cls._schema_endpoint_read.type + return + + cls._schema_endpoint_read = _schema_endpoint_read = AAZObjectType() + + endpoint_read = _schema_endpoint_read + endpoint_read.id = AAZStrType( + flags={"read_only": True}, + ) + endpoint_read.name = AAZStrType( + flags={"read_only": True}, + ) + endpoint_read.properties = AAZObjectType( + flags={"required": True}, + ) + endpoint_read.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + endpoint_read.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = _schema_endpoint_read.properties + properties.description = AAZStrType() + properties.endpoint_type = AAZStrType( + serialized_name="endpointType", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + disc_azure_storage_blob_container = _schema_endpoint_read.properties.discriminate_by("endpoint_type", "AzureStorageBlobContainer") + disc_azure_storage_blob_container.blob_container_name = AAZStrType( + serialized_name="blobContainerName", + flags={"required": True}, + ) + disc_azure_storage_blob_container.storage_account_resource_id = AAZStrType( + serialized_name="storageAccountResourceId", + flags={"required": True}, + ) + + disc_nfs_mount = _schema_endpoint_read.properties.discriminate_by("endpoint_type", "NfsMount") + disc_nfs_mount.export = AAZStrType( + flags={"required": True}, + ) + disc_nfs_mount.host = AAZStrType( + flags={"required": True}, + ) + disc_nfs_mount.nfs_version = AAZStrType( + serialized_name="nfsVersion", + ) + + system_data = _schema_endpoint_read.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + _schema.id = cls._schema_endpoint_read.id + _schema.name = cls._schema_endpoint_read.name + _schema.properties = cls._schema_endpoint_read.properties + _schema.system_data = cls._schema_endpoint_read.system_data + _schema.type = cls._schema_endpoint_read.type + + +__all__ = ["Update"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_wait.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_wait.py new file mode 100644 index 00000000000..ef15888cb1f --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/endpoint/_wait.py @@ -0,0 +1,238 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover endpoint wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/endpoints/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.endpoint_name = AAZStrArg( + options=["-n", "--name", "--endpoint-name"], + help="The name of the Endpoint resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.EndpointsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class EndpointsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/endpoints/{endpointName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "endpointName", self.ctx.args.endpoint_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType() + properties.endpoint_type = AAZStrType( + serialized_name="endpointType", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + disc_azure_storage_blob_container = cls._schema_on_200.properties.discriminate_by("endpoint_type", "AzureStorageBlobContainer") + disc_azure_storage_blob_container.blob_container_name = AAZStrType( + serialized_name="blobContainerName", + flags={"required": True}, + ) + disc_azure_storage_blob_container.storage_account_resource_id = AAZStrType( + serialized_name="storageAccountResourceId", + flags={"required": True}, + ) + + disc_nfs_mount = cls._schema_on_200.properties.discriminate_by("endpoint_type", "NfsMount") + disc_nfs_mount.export = AAZStrType( + flags={"required": True}, + ) + disc_nfs_mount.host = AAZStrType( + flags={"required": True}, + ) + disc_nfs_mount.nfs_version = AAZStrType( + serialized_name="nfsVersion", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/__cmd_group.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/__cmd_group.py new file mode 100644 index 00000000000..27fc6fc7de3 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "storage-mover job-definition", +) +class __CMDGroup(AAZCommandGroup): + """Manage Job Definition resource, which contains configuration for a single unit of managed data transfer. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/__init__.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/__init__.py new file mode 100644 index 00000000000..202df2c1a33 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/__init__.py @@ -0,0 +1,19 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._start_job import * +from ._stop_job import * +from ._update import * +from ._wait import * diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_create.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_create.py new file mode 100644 index 00000000000..439d45a436d --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_create.py @@ -0,0 +1,336 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover job-definition create", +) +class Create(AAZCommand): + """Creates a Job Definition resource, which contains configuration for a single unit of managed data transfer. + + :example: job-definition create + az storage-mover job-definition create -g {rg} -n {job_definition} --project-name {project_name} --storage-mover-name {mover_name} --copy-mode Additive --source-name {source_endpoint} --target-name {target_endpoint} --agent-name {agent_name} --description JobDefinitionDescription --source-subpath path1 --target-subpath path2 + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}/jobdefinitions/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.job_definition_name = AAZStrArg( + options=["-n", "--name", "--job-definition-name"], + help="The name of the Job Definition resource.", + required=True, + ) + _args_schema.project_name = AAZStrArg( + options=["--project-name"], + help="The name of the Project resource.", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.agent_name = AAZStrArg( + options=["--agent-name"], + arg_group="Properties", + help="Name of the Agent to assign for new Job Runs of this Job Definition.", + ) + _args_schema.copy_mode = AAZStrArg( + options=["--copy-mode"], + arg_group="Properties", + help="Strategy to use for copy.", + required=True, + enum={"Additive": "Additive", "Mirror": "Mirror"}, + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A description for the Job Definition.", + ) + _args_schema.source_name = AAZStrArg( + options=["--source-name"], + arg_group="Properties", + help="The name of the source Endpoint.", + required=True, + ) + _args_schema.source_subpath = AAZStrArg( + options=["--source-subpath"], + arg_group="Properties", + help="The subpath to use when reading from the source Endpoint.", + ) + _args_schema.target_name = AAZStrArg( + options=["--target-name"], + arg_group="Properties", + help="The name of the target Endpoint.", + required=True, + ) + _args_schema.target_subpath = AAZStrArg( + options=["--target-subpath"], + arg_group="Properties", + help="The subpath to use when writing to the target Endpoint.", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.JobDefinitionsCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class JobDefinitionsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "jobDefinitionName", self.ctx.args.job_definition_name, + required=True, + ), + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("agentName", AAZStrType, ".agent_name") + properties.set_prop("copyMode", AAZStrType, ".copy_mode", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("description", AAZStrType, ".description") + properties.set_prop("sourceName", AAZStrType, ".source_name", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("sourceSubpath", AAZStrType, ".source_subpath") + properties.set_prop("targetName", AAZStrType, ".target_name", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("targetSubpath", AAZStrType, ".target_subpath") + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.agent_name = AAZStrType( + serialized_name="agentName", + ) + properties.agent_resource_id = AAZStrType( + serialized_name="agentResourceId", + flags={"read_only": True}, + ) + properties.copy_mode = AAZStrType( + serialized_name="copyMode", + flags={"required": True}, + ) + properties.description = AAZStrType() + properties.latest_job_run_name = AAZStrType( + serialized_name="latestJobRunName", + flags={"read_only": True}, + ) + properties.latest_job_run_resource_id = AAZStrType( + serialized_name="latestJobRunResourceId", + flags={"read_only": True}, + ) + properties.latest_job_run_status = AAZStrType( + serialized_name="latestJobRunStatus", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.source_name = AAZStrType( + serialized_name="sourceName", + flags={"required": True}, + ) + properties.source_resource_id = AAZStrType( + serialized_name="sourceResourceId", + flags={"read_only": True}, + ) + properties.source_subpath = AAZStrType( + serialized_name="sourceSubpath", + ) + properties.target_name = AAZStrType( + serialized_name="targetName", + flags={"required": True}, + ) + properties.target_resource_id = AAZStrType( + serialized_name="targetResourceId", + flags={"read_only": True}, + ) + properties.target_subpath = AAZStrType( + serialized_name="targetSubpath", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_delete.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_delete.py new file mode 100644 index 00000000000..72fff421931 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_delete.py @@ -0,0 +1,183 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover job-definition delete", + confirmation="Are you sure you want to perform this operation?", +) +class Delete(AAZCommand): + """Deletes a Job Definition resource. + + :example: job-definition delete + az storage-mover job-definition delete -g {rg} -n {job_definition} --project-name {project_name} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}/jobdefinitions/{}", "2023-03-01"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.job_definition_name = AAZStrArg( + options=["-n", "--name", "--job-definition-name"], + help="The name of the Job Definition resource.", + required=True, + id_part="child_name_2", + ) + _args_schema.project_name = AAZStrArg( + options=["--project-name"], + help="The name of the Project resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.JobDefinitionsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class JobDefinitionsDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "jobDefinitionName", self.ctx.args.job_definition_name, + required=True, + ), + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_list.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_list.py new file mode 100644 index 00000000000..fb460c0bff6 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_list.py @@ -0,0 +1,272 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover job-definition list", +) +class List(AAZCommand): + """Lists all Job Definitions in a Project. + + :example: job-definition list + az storage-mover job-definition list -g {rg} --project-name {project_name} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}/jobdefinitions", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.project_name = AAZStrArg( + options=["--project-name"], + help="The name of the Project resource.", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.JobDefinitionsList(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class JobDefinitionsList(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.agent_name = AAZStrType( + serialized_name="agentName", + ) + properties.agent_resource_id = AAZStrType( + serialized_name="agentResourceId", + flags={"read_only": True}, + ) + properties.copy_mode = AAZStrType( + serialized_name="copyMode", + flags={"required": True}, + ) + properties.description = AAZStrType() + properties.latest_job_run_name = AAZStrType( + serialized_name="latestJobRunName", + flags={"read_only": True}, + ) + properties.latest_job_run_resource_id = AAZStrType( + serialized_name="latestJobRunResourceId", + flags={"read_only": True}, + ) + properties.latest_job_run_status = AAZStrType( + serialized_name="latestJobRunStatus", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.source_name = AAZStrType( + serialized_name="sourceName", + flags={"required": True}, + ) + properties.source_resource_id = AAZStrType( + serialized_name="sourceResourceId", + flags={"read_only": True}, + ) + properties.source_subpath = AAZStrType( + serialized_name="sourceSubpath", + ) + properties.target_name = AAZStrType( + serialized_name="targetName", + flags={"required": True}, + ) + properties.target_resource_id = AAZStrType( + serialized_name="targetResourceId", + flags={"read_only": True}, + ) + properties.target_subpath = AAZStrType( + serialized_name="targetSubpath", + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_show.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_show.py new file mode 100644 index 00000000000..624df30c5ac --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_show.py @@ -0,0 +1,272 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover job-definition show", +) +class Show(AAZCommand): + """Gets a Job Definition resource. + + :example: job-definition show + az storage-mover job-definition show -g {rg} -n {job_definition} --project-name {project_name} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}/jobdefinitions/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.job_definition_name = AAZStrArg( + options=["-n", "--name", "--job-definition-name"], + help="The name of the Job Definition resource.", + required=True, + id_part="child_name_2", + ) + _args_schema.project_name = AAZStrArg( + options=["--project-name"], + help="The name of the Project resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.JobDefinitionsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class JobDefinitionsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "jobDefinitionName", self.ctx.args.job_definition_name, + required=True, + ), + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.agent_name = AAZStrType( + serialized_name="agentName", + ) + properties.agent_resource_id = AAZStrType( + serialized_name="agentResourceId", + flags={"read_only": True}, + ) + properties.copy_mode = AAZStrType( + serialized_name="copyMode", + flags={"required": True}, + ) + properties.description = AAZStrType() + properties.latest_job_run_name = AAZStrType( + serialized_name="latestJobRunName", + flags={"read_only": True}, + ) + properties.latest_job_run_resource_id = AAZStrType( + serialized_name="latestJobRunResourceId", + flags={"read_only": True}, + ) + properties.latest_job_run_status = AAZStrType( + serialized_name="latestJobRunStatus", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.source_name = AAZStrType( + serialized_name="sourceName", + flags={"required": True}, + ) + properties.source_resource_id = AAZStrType( + serialized_name="sourceResourceId", + flags={"read_only": True}, + ) + properties.source_subpath = AAZStrType( + serialized_name="sourceSubpath", + ) + properties.target_name = AAZStrType( + serialized_name="targetName", + flags={"required": True}, + ) + properties.target_resource_id = AAZStrType( + serialized_name="targetResourceId", + flags={"read_only": True}, + ) + properties.target_subpath = AAZStrType( + serialized_name="targetSubpath", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_start_job.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_start_job.py new file mode 100644 index 00000000000..d590b98508c --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_start_job.py @@ -0,0 +1,188 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover job-definition start-job", +) +class StartJob(AAZCommand): + """Requests an Agent to start a new instance of this Job Definition, generating a new Job Run resource. + + :example: job-definition start-job + az storage-mover job-definition start-job -g {rg} --job-definition-name {job_definition} --project-name {project_name} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}/jobdefinitions/{}/startjob", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.job_definition_name = AAZStrArg( + options=["--job-definition-name"], + help="The name of the Job Definition resource.", + required=True, + id_part="child_name_2", + ) + _args_schema.project_name = AAZStrArg( + options=["--project-name"], + help="The name of the Project resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.JobDefinitionsStartJob(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class JobDefinitionsStartJob(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/startJob", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "jobDefinitionName", self.ctx.args.job_definition_name, + required=True, + ), + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.job_run_resource_id = AAZStrType( + serialized_name="jobRunResourceId", + flags={"read_only": True}, + ) + + return cls._schema_on_200 + + +class _StartJobHelper: + """Helper class for StartJob""" + + +__all__ = ["StartJob"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_stop_job.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_stop_job.py new file mode 100644 index 00000000000..26a20b85f9e --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_stop_job.py @@ -0,0 +1,188 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover job-definition stop-job", +) +class StopJob(AAZCommand): + """Requests the Agent of any active instance of this Job Definition to stop. + + :example: job-definition stop-job + az storage-mover job-definition stop-job -g {rg} --job-definition-name {job_definition} --project-name {project_name} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}/jobdefinitions/{}/stopjob", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.job_definition_name = AAZStrArg( + options=["--job-definition-name"], + help="The name of the Job Definition resource.", + required=True, + id_part="child_name_2", + ) + _args_schema.project_name = AAZStrArg( + options=["--project-name"], + help="The name of the Project resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.JobDefinitionsStopJob(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class JobDefinitionsStopJob(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/stopJob", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "jobDefinitionName", self.ctx.args.job_definition_name, + required=True, + ), + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.job_run_resource_id = AAZStrType( + serialized_name="jobRunResourceId", + flags={"read_only": True}, + ) + + return cls._schema_on_200 + + +class _StopJobHelper: + """Helper class for StopJob""" + + +__all__ = ["StopJob"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_update.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_update.py new file mode 100644 index 00000000000..8986430d5bf --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_update.py @@ -0,0 +1,312 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover job-definition update", +) +class Update(AAZCommand): + """Updates a Job Definition resource, which contains configuration for a single unit of managed data transfer. + + :example: job-definition update + az storage-mover job-definition update -g {rg} -n {job_definition} --project-name {project_name} --storage-mover-name {mover_name} --copy-mode Mirror --agent-name {agent_name} --description JobDefinitionDescription2 + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}/jobdefinitions/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.job_definition_name = AAZStrArg( + options=["-n", "--name", "--job-definition-name"], + help="The name of the Job Definition resource.", + required=True, + id_part="child_name_2", + ) + _args_schema.project_name = AAZStrArg( + options=["--project-name"], + help="The name of the Project resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.agent_name = AAZStrArg( + options=["--agent-name"], + arg_group="Properties", + help="Name of the Agent to assign for new Job Runs of this Job Definition.", + ) + _args_schema.copy_mode = AAZStrArg( + options=["--copy-mode"], + arg_group="Properties", + help="Strategy to use for copy.", + enum={"Additive": "Additive", "Mirror": "Mirror"}, + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A description for the Job Definition.", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.JobDefinitionsUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class JobDefinitionsUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}", + **self.url_parameters + ) + + @property + def method(self): + return "PATCH" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "jobDefinitionName", self.ctx.args.job_definition_name, + required=True, + ), + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("agentName", AAZStrType, ".agent_name") + properties.set_prop("copyMode", AAZStrType, ".copy_mode") + properties.set_prop("description", AAZStrType, ".description") + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.agent_name = AAZStrType( + serialized_name="agentName", + ) + properties.agent_resource_id = AAZStrType( + serialized_name="agentResourceId", + flags={"read_only": True}, + ) + properties.copy_mode = AAZStrType( + serialized_name="copyMode", + flags={"required": True}, + ) + properties.description = AAZStrType() + properties.latest_job_run_name = AAZStrType( + serialized_name="latestJobRunName", + flags={"read_only": True}, + ) + properties.latest_job_run_resource_id = AAZStrType( + serialized_name="latestJobRunResourceId", + flags={"read_only": True}, + ) + properties.latest_job_run_status = AAZStrType( + serialized_name="latestJobRunStatus", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.source_name = AAZStrType( + serialized_name="sourceName", + flags={"required": True}, + ) + properties.source_resource_id = AAZStrType( + serialized_name="sourceResourceId", + flags={"read_only": True}, + ) + properties.source_subpath = AAZStrType( + serialized_name="sourceSubpath", + ) + properties.target_name = AAZStrType( + serialized_name="targetName", + flags={"required": True}, + ) + properties.target_resource_id = AAZStrType( + serialized_name="targetResourceId", + flags={"read_only": True}, + ) + properties.target_subpath = AAZStrType( + serialized_name="targetSubpath", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _UpdateHelper: + """Helper class for Update""" + + +__all__ = ["Update"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_wait.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_wait.py new file mode 100644 index 00000000000..3c785f92abe --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_definition/_wait.py @@ -0,0 +1,268 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover job-definition wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}/jobdefinitions/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.job_definition_name = AAZStrArg( + options=["-n", "--name", "--job-definition-name"], + help="The name of the Job Definition resource.", + required=True, + id_part="child_name_2", + ) + _args_schema.project_name = AAZStrArg( + options=["--project-name"], + help="The name of the Project resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.JobDefinitionsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class JobDefinitionsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "jobDefinitionName", self.ctx.args.job_definition_name, + required=True, + ), + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.agent_name = AAZStrType( + serialized_name="agentName", + ) + properties.agent_resource_id = AAZStrType( + serialized_name="agentResourceId", + flags={"read_only": True}, + ) + properties.copy_mode = AAZStrType( + serialized_name="copyMode", + flags={"required": True}, + ) + properties.description = AAZStrType() + properties.latest_job_run_name = AAZStrType( + serialized_name="latestJobRunName", + flags={"read_only": True}, + ) + properties.latest_job_run_resource_id = AAZStrType( + serialized_name="latestJobRunResourceId", + flags={"read_only": True}, + ) + properties.latest_job_run_status = AAZStrType( + serialized_name="latestJobRunStatus", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.source_name = AAZStrType( + serialized_name="sourceName", + flags={"required": True}, + ) + properties.source_resource_id = AAZStrType( + serialized_name="sourceResourceId", + flags={"read_only": True}, + ) + properties.source_subpath = AAZStrType( + serialized_name="sourceSubpath", + ) + properties.target_name = AAZStrType( + serialized_name="targetName", + flags={"required": True}, + ) + properties.target_resource_id = AAZStrType( + serialized_name="targetResourceId", + flags={"read_only": True}, + ) + properties.target_subpath = AAZStrType( + serialized_name="targetSubpath", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/__cmd_group.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/__cmd_group.py new file mode 100644 index 00000000000..856f3999599 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "storage-mover job-run", +) +class __CMDGroup(AAZCommandGroup): + """Manage Job Run resource. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/__init__.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/__init__.py new file mode 100644 index 00000000000..2df85698253 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/__init__.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._list import * +from ._show import * diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/_list.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/_list.py new file mode 100644 index 00000000000..f547293d8a4 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/_list.py @@ -0,0 +1,332 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover job-run list", +) +class List(AAZCommand): + """Lists all Job Runs in a Job Definition. + + :example: job-run list + az storage-mover job-run list -g {rg} --job-definition-name {job_definition} --project-name {project_name} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}/jobdefinitions/{}/jobruns", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.job_definition_name = AAZStrArg( + options=["--job-definition-name"], + help="The name of the Job Definition resource.", + required=True, + ) + _args_schema.project_name = AAZStrArg( + options=["--project-name"], + help="The name of the Project resource.", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.JobRunsList(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class JobRunsList(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/jobRuns", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "jobDefinitionName", self.ctx.args.job_definition_name, + required=True, + ), + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.agent_name = AAZStrType( + serialized_name="agentName", + flags={"read_only": True}, + ) + properties.agent_resource_id = AAZStrType( + serialized_name="agentResourceId", + flags={"read_only": True}, + ) + properties.bytes_excluded = AAZIntType( + serialized_name="bytesExcluded", + flags={"read_only": True}, + ) + properties.bytes_failed = AAZIntType( + serialized_name="bytesFailed", + flags={"read_only": True}, + ) + properties.bytes_no_transfer_needed = AAZIntType( + serialized_name="bytesNoTransferNeeded", + flags={"read_only": True}, + ) + properties.bytes_scanned = AAZIntType( + serialized_name="bytesScanned", + flags={"read_only": True}, + ) + properties.bytes_transferred = AAZIntType( + serialized_name="bytesTransferred", + flags={"read_only": True}, + ) + properties.bytes_unsupported = AAZIntType( + serialized_name="bytesUnsupported", + flags={"read_only": True}, + ) + properties.error = AAZObjectType() + properties.execution_end_time = AAZStrType( + serialized_name="executionEndTime", + flags={"read_only": True}, + ) + properties.execution_start_time = AAZStrType( + serialized_name="executionStartTime", + flags={"read_only": True}, + ) + properties.items_excluded = AAZIntType( + serialized_name="itemsExcluded", + flags={"read_only": True}, + ) + properties.items_failed = AAZIntType( + serialized_name="itemsFailed", + flags={"read_only": True}, + ) + properties.items_no_transfer_needed = AAZIntType( + serialized_name="itemsNoTransferNeeded", + flags={"read_only": True}, + ) + properties.items_scanned = AAZIntType( + serialized_name="itemsScanned", + flags={"read_only": True}, + ) + properties.items_transferred = AAZIntType( + serialized_name="itemsTransferred", + flags={"read_only": True}, + ) + properties.items_unsupported = AAZIntType( + serialized_name="itemsUnsupported", + flags={"read_only": True}, + ) + properties.last_status_update = AAZStrType( + serialized_name="lastStatusUpdate", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.scan_status = AAZStrType( + serialized_name="scanStatus", + flags={"read_only": True}, + ) + properties.source_name = AAZStrType( + serialized_name="sourceName", + flags={"read_only": True}, + ) + properties.source_resource_id = AAZStrType( + serialized_name="sourceResourceId", + flags={"read_only": True}, + ) + properties.status = AAZStrType( + flags={"read_only": True}, + ) + properties.target_name = AAZStrType( + serialized_name="targetName", + flags={"read_only": True}, + ) + properties.target_resource_id = AAZStrType( + serialized_name="targetResourceId", + flags={"read_only": True}, + ) + + error = cls._schema_on_200.value.Element.properties.error + error.code = AAZStrType() + error.message = AAZStrType() + error.target = AAZStrType() + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/_show.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/_show.py new file mode 100644 index 00000000000..f615ced463a --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/job_run/_show.py @@ -0,0 +1,333 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover job-run show", +) +class Show(AAZCommand): + """Gets a Job Run resource. + + :example: job-run show + az storage-mover job-run show -n {job_name} -g {rg} --job-definition-name {job_definition} --project-name {project_name} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}/jobdefinitions/{}/jobruns/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.job_definition_name = AAZStrArg( + options=["--job-definition-name"], + help="The name of the Job Definition resource.", + required=True, + id_part="child_name_2", + ) + _args_schema.job_run_name = AAZStrArg( + options=["-n", "--name", "--job-run-name"], + help="The name of the Job Run resource.", + required=True, + id_part="child_name_3", + ) + _args_schema.project_name = AAZStrArg( + options=["--project-name"], + help="The name of the Project resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.JobRunsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class JobRunsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}/jobDefinitions/{jobDefinitionName}/jobRuns/{jobRunName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "jobDefinitionName", self.ctx.args.job_definition_name, + required=True, + ), + **self.serialize_url_param( + "jobRunName", self.ctx.args.job_run_name, + required=True, + ), + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.agent_name = AAZStrType( + serialized_name="agentName", + flags={"read_only": True}, + ) + properties.agent_resource_id = AAZStrType( + serialized_name="agentResourceId", + flags={"read_only": True}, + ) + properties.bytes_excluded = AAZIntType( + serialized_name="bytesExcluded", + flags={"read_only": True}, + ) + properties.bytes_failed = AAZIntType( + serialized_name="bytesFailed", + flags={"read_only": True}, + ) + properties.bytes_no_transfer_needed = AAZIntType( + serialized_name="bytesNoTransferNeeded", + flags={"read_only": True}, + ) + properties.bytes_scanned = AAZIntType( + serialized_name="bytesScanned", + flags={"read_only": True}, + ) + properties.bytes_transferred = AAZIntType( + serialized_name="bytesTransferred", + flags={"read_only": True}, + ) + properties.bytes_unsupported = AAZIntType( + serialized_name="bytesUnsupported", + flags={"read_only": True}, + ) + properties.error = AAZObjectType() + properties.execution_end_time = AAZStrType( + serialized_name="executionEndTime", + flags={"read_only": True}, + ) + properties.execution_start_time = AAZStrType( + serialized_name="executionStartTime", + flags={"read_only": True}, + ) + properties.items_excluded = AAZIntType( + serialized_name="itemsExcluded", + flags={"read_only": True}, + ) + properties.items_failed = AAZIntType( + serialized_name="itemsFailed", + flags={"read_only": True}, + ) + properties.items_no_transfer_needed = AAZIntType( + serialized_name="itemsNoTransferNeeded", + flags={"read_only": True}, + ) + properties.items_scanned = AAZIntType( + serialized_name="itemsScanned", + flags={"read_only": True}, + ) + properties.items_transferred = AAZIntType( + serialized_name="itemsTransferred", + flags={"read_only": True}, + ) + properties.items_unsupported = AAZIntType( + serialized_name="itemsUnsupported", + flags={"read_only": True}, + ) + properties.last_status_update = AAZStrType( + serialized_name="lastStatusUpdate", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.scan_status = AAZStrType( + serialized_name="scanStatus", + flags={"read_only": True}, + ) + properties.source_name = AAZStrType( + serialized_name="sourceName", + flags={"read_only": True}, + ) + properties.source_resource_id = AAZStrType( + serialized_name="sourceResourceId", + flags={"read_only": True}, + ) + properties.status = AAZStrType( + flags={"read_only": True}, + ) + properties.target_name = AAZStrType( + serialized_name="targetName", + flags={"read_only": True}, + ) + properties.target_resource_id = AAZStrType( + serialized_name="targetResourceId", + flags={"read_only": True}, + ) + + error = cls._schema_on_200.properties.error + error.code = AAZStrType() + error.message = AAZStrType() + error.target = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/__cmd_group.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/__cmd_group.py new file mode 100644 index 00000000000..540a62e048b --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "storage-mover project", +) +class __CMDGroup(AAZCommandGroup): + """Manage Project resource, which is a logical grouping of related jobs. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/__init__.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/__init__.py new file mode 100644 index 00000000000..db73033039b --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/__init__.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._update import * +from ._wait import * diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_create.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_create.py new file mode 100644 index 00000000000..2ae2f97c591 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_create.py @@ -0,0 +1,242 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover project create", +) +class Create(AAZCommand): + """Creates a Project resource, which is a logical grouping of related jobs. + + :example: project create + az storage-mover project create -g {rg} --storage-mover-name {mover_name} -n {project_name} --description ProjectDesc + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.project_name = AAZStrArg( + options=["-n", "--name", "--project-name"], + help="The name of the Project resource.", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A description for the Project.", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.ProjectsCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class ProjectsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("description", AAZStrType, ".description") + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_delete.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_delete.py new file mode 100644 index 00000000000..f64cf3b34ea --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_delete.py @@ -0,0 +1,173 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover project delete", + confirmation="Are you sure you want to perform this operation?", +) +class Delete(AAZCommand): + """Deletes a Project resource. + + :example: project delete + az storage-mover project delete -g {rg} --storage-mover-name {mover_name} -n {project_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}", "2023-03-01"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.project_name = AAZStrArg( + options=["-n", "--name", "--project-name"], + help="The name of the Project resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.ProjectsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class ProjectsDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_list.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_list.py new file mode 100644 index 00000000000..6300b1fa21f --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_list.py @@ -0,0 +1,218 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover project list", +) +class List(AAZCommand): + """Lists all Projects in a Storage Mover. + + :example: project list + az storage-mover project list -g {rg} --storage-mover-name {mover_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.ProjectsList(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class ProjectsList(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.description = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_show.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_show.py new file mode 100644 index 00000000000..64020fde16d --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_show.py @@ -0,0 +1,217 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover project show", +) +class Show(AAZCommand): + """Gets a Project resource. + + :example: project show + az storage-mover project show -g {rg} --storage-mover-name {mover_name} -n {project_name} + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.project_name = AAZStrArg( + options=["-n", "--name", "--project-name"], + help="The name of the Project resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.ProjectsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class ProjectsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_update.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_update.py new file mode 100644 index 00000000000..849cbe423a3 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_update.py @@ -0,0 +1,389 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover project update", +) +class Update(AAZCommand): + """Updates a Project resource, which is a logical grouping of related jobs. + + :example: project update + az storage-mover project update -g {rg} --storage-mover-name {mover_name} -n {project_name} --description ProjectDesc2 + """ + + _aaz_info = { + "version": "2023-03-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}", "2023-03-01"], + ] + } + + AZ_SUPPORT_GENERIC_UPDATE = True + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.project_name = AAZStrArg( + options=["-n", "--name", "--project-name"], + help="The name of the Project resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A description for the Project.", + nullable=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.ProjectsGet(ctx=self.ctx)() + self.pre_instance_update(self.ctx.vars.instance) + self.InstanceUpdateByJson(ctx=self.ctx)() + self.InstanceUpdateByGeneric(ctx=self.ctx)() + self.post_instance_update(self.ctx.vars.instance) + self.ProjectsCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + @register_callback + def pre_instance_update(self, instance): + pass + + @register_callback + def post_instance_update(self, instance): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class ProjectsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + _UpdateHelper._build_schema_project_read(cls._schema_on_200) + + return cls._schema_on_200 + + class ProjectsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + value=self.ctx.vars.instance, + ) + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + _UpdateHelper._build_schema_project_read(cls._schema_on_200) + + return cls._schema_on_200 + + class InstanceUpdateByJson(AAZJsonInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance(self.ctx.vars.instance) + + def _update_instance(self, instance): + _instance_value, _builder = self.new_content_builder( + self.ctx.args, + value=instance, + typ=AAZObjectType + ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("description", AAZStrType, ".description") + + return _instance_value + + class InstanceUpdateByGeneric(AAZGenericInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance_by_generic( + self.ctx.vars.instance, + self.ctx.generic_update_args + ) + + +class _UpdateHelper: + """Helper class for Update""" + + _schema_project_read = None + + @classmethod + def _build_schema_project_read(cls, _schema): + if cls._schema_project_read is not None: + _schema.id = cls._schema_project_read.id + _schema.name = cls._schema_project_read.name + _schema.properties = cls._schema_project_read.properties + _schema.system_data = cls._schema_project_read.system_data + _schema.type = cls._schema_project_read.type + return + + cls._schema_project_read = _schema_project_read = AAZObjectType() + + project_read = _schema_project_read + project_read.id = AAZStrType( + flags={"read_only": True}, + ) + project_read.name = AAZStrType( + flags={"read_only": True}, + ) + project_read.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + project_read.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + project_read.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = _schema_project_read.properties + properties.description = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = _schema_project_read.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + _schema.id = cls._schema_project_read.id + _schema.name = cls._schema_project_read.name + _schema.properties = cls._schema_project_read.properties + _schema.system_data = cls._schema_project_read.system_data + _schema.type = cls._schema_project_read.type + + +__all__ = ["Update"] diff --git a/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_wait.py b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_wait.py new file mode 100644 index 00000000000..9ec4bc73d1d --- /dev/null +++ b/src/storage-mover/azext_storage_mover/aaz/latest/storage_mover/project/_wait.py @@ -0,0 +1,213 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage-mover project wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storagemover/storagemovers/{}/projects/{}", "2023-03-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.project_name = AAZStrArg( + options=["-n", "--name", "--project-name"], + help="The name of the Project resource.", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_mover_name = AAZStrArg( + options=["--storage-mover-name"], + help="The name of the Storage Mover resource.", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.ProjectsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class ProjectsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorageMover/storageMovers/{storageMoverName}/projects/{projectName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "projectName", self.ctx.args.project_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageMoverName", self.ctx.args.storage_mover_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-03-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/storage-mover/azext_storage_mover/azext_metadata.json b/src/storage-mover/azext_storage_mover/azext_metadata.json new file mode 100644 index 00000000000..daed0119d22 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.45.0" +} \ No newline at end of file diff --git a/src/storage-mover/azext_storage_mover/commands.py b/src/storage-mover/azext_storage_mover/commands.py new file mode 100644 index 00000000000..015176b9894 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/commands.py @@ -0,0 +1,20 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +# from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): # pylint: disable=unused-argument + + with self.command_group('storage-mover endpoint') as g: + g.custom_command('create-for-storage-container', 'endpoint_create_for_storage_container', is_preview=True) + g.custom_command('create-for-nfs', 'endpoint_create_for_nfs', is_preview=True) + g.custom_command('update-for-storage-container', 'endpoint_update_for_storage_container', is_preview=True) + g.custom_command('update-for-nfs', 'endpoint_update_for_nfs', is_preview=True) diff --git a/src/storage-mover/azext_storage_mover/custom.py b/src/storage-mover/azext_storage_mover/custom.py new file mode 100644 index 00000000000..481f9d889ce --- /dev/null +++ b/src/storage-mover/azext_storage_mover/custom.py @@ -0,0 +1,73 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from knack.log import get_logger +from .aaz.latest.storage_mover.endpoint import Create, Update + +logger = get_logger(__name__) + + +def _get_args_for_endpoint_for_storage_container(endpoint_name, resource_group, storage_mover_name, description, + blob_container_name, storage_account_resource_id): + args = { + "endpoint_name": endpoint_name, "resource_group": resource_group, "storage_mover_name": storage_mover_name, + "description": description, + "storage_blob_container": { + "blob_container_name": blob_container_name, + "storage_account_resource_id": storage_account_resource_id, + } + } + return args + + +def endpoint_create_for_storage_container(cmd, endpoint_name, resource_group, storage_mover_name, description, + blob_container_name, storage_account_resource_id): + Create_Endpoint = Create(cmd.loader) + args = _get_args_for_endpoint_for_storage_container(endpoint_name, resource_group, storage_mover_name, description, + blob_container_name, storage_account_resource_id) + return Create_Endpoint(args) + + +def _get_args_for_endpoint_for_nfs(endpoint_name, resource_group, storage_mover_name, description, + export, host, nfs_version): + args = { + "endpoint_name": endpoint_name, "resource_group": resource_group, "storage_mover_name": storage_mover_name, + "description": description, + "nfs_mount": { + "export": export, + "host": host, + "nfs_version": nfs_version + } + } + return args + + +def endpoint_create_for_nfs(cmd, endpoint_name, resource_group, storage_mover_name, description, + export, host, nfs_version=None): + Create_Endpoint = Create(cmd.loader) + args = _get_args_for_endpoint_for_nfs(endpoint_name, resource_group, storage_mover_name, description, + export, host, nfs_version) + return Create_Endpoint(args) + + +def endpoint_update_for_storage_container(cmd, endpoint_name, resource_group, storage_mover_name, description, + blob_container_name, storage_account_resource_id): + Update_Endpoint = Update(cmd.loader) + args = _get_args_for_endpoint_for_storage_container(endpoint_name, resource_group, storage_mover_name, description, + blob_container_name, storage_account_resource_id) + return Update_Endpoint(args) + + +def endpoint_update_for_nfs(cmd, endpoint_name, resource_group, storage_mover_name, description, + export, host, nfs_version=None): + Update_Endpoint = Update(cmd.loader) + args = _get_args_for_endpoint_for_nfs(endpoint_name, resource_group, storage_mover_name, description, + export, host, nfs_version) + return Update_Endpoint(args) diff --git a/src/storage-mover/azext_storage_mover/tests/__init__.py b/src/storage-mover/azext_storage_mover/tests/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/tests/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/storage-mover/azext_storage_mover/tests/latest/__init__.py b/src/storage-mover/azext_storage_mover/tests/latest/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/tests/latest/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_agent_scenarios.yaml b/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_agent_scenarios.yaml new file mode 100644 index 00000000000..2ef24b7d905 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_agent_scenarios.yaml @@ -0,0 +1,401 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover agent show + Connection: + - keep-alive + ParameterSetName: + - -g -n --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","name":"testagent","type":"microsoft.storagemover/storagemovers/agents","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-22T07:19:37.4596909Z","lastModifiedBy":"aed824f0-6446-4ef9-9e17-98b0157c09dc","lastModifiedByType":"Application","lastModifiedAt":"2023-02-22T08:03:00.2753189Z"},"properties":{"agentVersion":"0.1.116_amd64","arcResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.HybridCompute/machines/testagent","arcVmUuid":"e26c6438-0aef-1e4c-97a7-d51a2ef4874f","localIPAddress":"10.172.50.177","memoryInMB":1772,"numberOfCores":1,"uptimeInSeconds":2886,"lastStatusUpdate":"2023-02-22T08:02:58.8839261Z","agentStatus":"Online","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '961' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:03:03 GMT + etag: + - '"2e00303e-0000-0100-0000-63f5cc340000"' + expires: + - '-1' + mise-correlation-id: + - 91ec8c8d-7891-461b-bbfa-e9b0ceee71a1 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover agent list + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents?api-version=2023-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","name":"testagent","type":"microsoft.storagemover/storagemovers/agents","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-22T07:19:37.4596909Z","lastModifiedBy":"aed824f0-6446-4ef9-9e17-98b0157c09dc","lastModifiedByType":"Application","lastModifiedAt":"2023-02-22T08:03:00.2753189Z"},"properties":{"agentVersion":"0.1.116_amd64","arcResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.HybridCompute/machines/testagent","arcVmUuid":"e26c6438-0aef-1e4c-97a7-d51a2ef4874f","localIPAddress":"10.172.50.177","memoryInMB":1772,"numberOfCores":1,"uptimeInSeconds":2886,"lastStatusUpdate":"2023-02-22T08:02:58.8839261Z","agentStatus":"Online","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '973' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:03:05 GMT + expires: + - '-1' + mise-correlation-id: + - edb5c540-6afb-4917-a42e-2aa5b6f33106 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover agent update + Connection: + - keep-alive + ParameterSetName: + - -g -n --storage-mover-name --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","name":"testagent","type":"microsoft.storagemover/storagemovers/agents","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-22T07:19:37.4596909Z","lastModifiedBy":"aed824f0-6446-4ef9-9e17-98b0157c09dc","lastModifiedByType":"Application","lastModifiedAt":"2023-02-22T08:03:00.2753189Z"},"properties":{"agentVersion":"0.1.116_amd64","arcResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.HybridCompute/machines/testagent","arcVmUuid":"e26c6438-0aef-1e4c-97a7-d51a2ef4874f","localIPAddress":"10.172.50.177","memoryInMB":1772,"numberOfCores":1,"uptimeInSeconds":2886,"lastStatusUpdate":"2023-02-22T08:02:58.8839261Z","agentStatus":"Online","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '961' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:03:07 GMT + etag: + - '"2e00303e-0000-0100-0000-63f5cc340000"' + expires: + - '-1' + mise-correlation-id: + - adf6da93-6d3d-494e-be1a-cd0aef84a7e4 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"arcResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.HybridCompute/machines/testagent", + "arcVmUuid": "e26c6438-0aef-1e4c-97a7-d51a2ef4874f", "description": "123"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover agent update + Connection: + - keep-alive + Content-Length: + - '252' + Content-Type: + - application/json + ParameterSetName: + - -g -n --storage-mover-name --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","name":"testagent","type":"microsoft.storagemover/storagemovers/agents","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-22T07:19:37.4596909Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-22T08:03:07.8079318Z"},"properties":{"agentVersion":"0.1.116_amd64","arcResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.HybridCompute/machines/testagent","arcVmUuid":"e26c6438-0aef-1e4c-97a7-d51a2ef4874f","localIPAddress":"10.172.50.177","memoryInMB":1772,"numberOfCores":1,"uptimeInSeconds":2886,"lastStatusUpdate":"2023-02-22T08:02:58.8839261Z","agentStatus":"Online","description":"123","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '962' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:03:08 GMT + etag: + - '"2e00603e-0000-0100-0000-63f5cc3c0000"' + expires: + - '-1' + mise-correlation-id: + - 719196af-0eda-4563-8150-d025926fef02 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover agent unregister + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent?api-version=2023-03-01 + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/8bb80227-a5bf-464b-b145-51e8e9753528*40CF0273D6E8025843955AEAC553A49058D842AE6AE135AC3B37B5A26FA8CB1E?api-version=2023-03-01 + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:03:10 GMT + etag: + - '"2e00723e-0000-0100-0000-63f5cc3e0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/8bb80227-a5bf-464b-b145-51e8e9753528*40CF0273D6E8025843955AEAC553A49058D842AE6AE135AC3B37B5A26FA8CB1E?api-version=2023-03-01 + mise-correlation-id: + - e78f6302-8f04-4ee4-8f61-41aff37a7e1c + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover agent unregister + Connection: + - keep-alive + ParameterSetName: + - -g -n --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/8bb80227-a5bf-464b-b145-51e8e9753528*40CF0273D6E8025843955AEAC553A49058D842AE6AE135AC3B37B5A26FA8CB1E?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/8bb80227-a5bf-464b-b145-51e8e9753528*40CF0273D6E8025843955AEAC553A49058D842AE6AE135AC3B37B5A26FA8CB1E","name":"8bb80227-a5bf-464b-b145-51e8e9753528*40CF0273D6E8025843955AEAC553A49058D842AE6AE135AC3B37B5A26FA8CB1E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","status":"Succeeded","startTime":"2023-02-22T08:03:10.574827Z","endTime":"2023-02-22T08:03:31.6094244Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '647' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:03:40 GMT + etag: + - '"07007a59-0000-0100-0000-63f5cc530000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover agent unregister + Connection: + - keep-alive + ParameterSetName: + - -g -n --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/8bb80227-a5bf-464b-b145-51e8e9753528*40CF0273D6E8025843955AEAC553A49058D842AE6AE135AC3B37B5A26FA8CB1E?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/8bb80227-a5bf-464b-b145-51e8e9753528*40CF0273D6E8025843955AEAC553A49058D842AE6AE135AC3B37B5A26FA8CB1E","name":"8bb80227-a5bf-464b-b145-51e8e9753528*40CF0273D6E8025843955AEAC553A49058D842AE6AE135AC3B37B5A26FA8CB1E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","status":"Succeeded","startTime":"2023-02-22T08:03:10.574827Z","endTime":"2023-02-22T08:03:31.6094244Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '647' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:03:40 GMT + etag: + - '"07007a59-0000-0100-0000-63f5cc530000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover agent list + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents?api-version=2023-03-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:03:43 GMT + expires: + - '-1' + mise-correlation-id: + - f2d8cf53-9712-4830-b820-ba84814654d7 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +version: 1 diff --git a/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_endpoint_scenarios.yaml b/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_endpoint_scenarios.yaml new file mode 100644 index 00000000000..e9b528d40d1 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_endpoint_scenarios.yaml @@ -0,0 +1,3787 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account keys list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --query -o + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-storage/21.0.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2022-09-01&$expand=kerb + response: + body: + string: '{"keys":[{"creationTime":"2023-02-21T06:52:05.5765600Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2023-02-21T06:52:05.5765600Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '260' + content-type: + - application/json + date: + - Tue, 21 Feb 2023 06:52:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account show + Connection: + - keep-alive + ParameterSetName: + - -n -g --query -o + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-storage/21.0.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2022-09-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2023-02-21T06:52:05.5765600Z","key2":"2023-02-21T06:52:05.5765600Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2023-02-21T06:52:06.2954349Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2023-02-21T06:52:06.2954349Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2023-02-21T06:52:05.4515577Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1270' + content-type: + - application/json + date: + - Tue, 21 Feb 2023 06:52:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "properties": {"description": "MoverDesc"}, "tags": + {"key1": "value1"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover create + Connection: + - keep-alive + Content-Length: + - '95' + Content-Type: + - application/json + ParameterSetName: + - -g -n -l --tags --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003","name":"storage-mover000003","type":"microsoft.storagemover/storagemovers","location":"eastus2","tags":{"key1":"value1"},"systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:35.6882711Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:52:35.6882711Z"},"properties":{"description":"MoverDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '593' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:38 GMT + etag: + - '"04000c63-0000-0100-0000-63f46a340000"' + expires: + - '-1' + mise-correlation-id: + - 890c7943-c586-4a60-bde0-60facccb0197 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + CommandName: + - storage container create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n --account-name --account-key + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-storage-blob/12.12.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + x-ms-date: + - Tue, 21 Feb 2023 06:52:39 GMT + x-ms-version: + - '2021-06-08' + method: PUT + uri: https://clitest000002.blob.core.windows.net/container000004?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Tue, 21 Feb 2023 06:52:39 GMT + etag: + - '"0x8DB13D83962EACA"' + last-modified: + - Tue, 21 Feb 2023 06:52:39 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-06-08' + status: + code: 201 + message: Created +- request: + body: '{"properties": {"description": "endpointDesc", "endpointType": "AzureStorageBlobContainer", + "blobContainerName": "container000004", "storageAccountResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint create-for-storage-container + Connection: + - keep-alive + Content-Length: + - '305' + Content-Type: + - application/json + ParameterSetName: + - -g --storage-mover-name -n --container-name --storage-account-id --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_container000005?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_container000005","name":"endpoint_container000005","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:40.7896012Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:52:40.7896012Z"},"properties":{"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","blobContainerName":"container000004","endpointType":"AzureStorageBlobContainer","description":"endpointDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '852' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:42 GMT + etag: + - '"0000e7a1-0000-0100-0000-63f46a3a0000"' + expires: + - '-1' + mise-correlation-id: + - 14b19be0-6255-480a-a03f-da090f09c5ae + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint show + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name -n + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_container000005?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_container000005","name":"endpoint_container000005","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:40.7896012Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:52:40.7896012Z"},"properties":{"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","blobContainerName":"container000004","endpointType":"AzureStorageBlobContainer","description":"endpointDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '852' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:43 GMT + etag: + - '"0000e7a1-0000-0100-0000-63f46a3a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2023-02-21T06:51:47Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.26.0 + method: GET + uri: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/arm-compute/quickstart-templates/aliases.json + response: + body: + string: "{\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json\",\n + \ \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {},\n \"variables\": + {},\n \"resources\": [],\n \"outputs\": {\n \"aliases\": {\n \"type\": + \"object\",\n \"value\": {\n \"Linux\": {\n \"CentOS\": + {\n \"publisher\": \"OpenLogic\",\n \"offer\": \"CentOS\",\n + \ \"sku\": \"7.5\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Debian\": {\n \"publisher\": + \"Debian\",\n \"offer\": \"debian-10\",\n \"sku\": \"10\",\n + \ \"version\": \"latest\",\n \"architecture\": \"x64\"\n + \ },\n \"Flatcar\": {\n \"publisher\": \"kinvolk\",\n + \ \"offer\": \"flatcar-container-linux-free\",\n \"sku\": + \"stable\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"openSUSE-Leap\": {\n \"publisher\": + \"SUSE\",\n \"offer\": \"opensuse-leap-15-3\",\n \"sku\": + \"gen2\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"RHEL\": {\n \"publisher\": \"RedHat\",\n + \ \"offer\": \"RHEL\",\n \"sku\": \"7-LVM\",\n \"version\": + \"latest\",\n \"architecture\": \"x64\"\n },\n \"SLES\": + {\n \"publisher\": \"SUSE\",\n \"offer\": \"sles-15-sp3\",\n + \ \"sku\": \"gen2\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"UbuntuLTS\": {\n \"publisher\": + \"Canonical\",\n \"offer\": \"UbuntuServer\",\n \"sku\": + \"18.04-LTS\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n }\n },\n \"Windows\": {\n \"Win2022Datacenter\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2022-Datacenter\",\n \"version\": + \"latest\",\n \"architecture\": \"x64\"\n },\n \"Win2022AzureEditionCore\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2022-datacenter-azure-edition-core\",\n + \ \"version\": \"latest\",\n \"architecture\": \"x64\"\n + \ },\n \"Win2019Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2019-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2016Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2016-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2012R2Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2012-R2-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2012Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2012-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2008R2SP1\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2008-R2-SP1\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n }\n }\n }\n }\n }\n}" + headers: + accept-ranges: + - bytes + access-control-allow-origin: + - '*' + cache-control: + - max-age=300 + connection: + - keep-alive + content-length: + - '3463' + content-security-policy: + - default-src 'none'; style-src 'unsafe-inline'; sandbox + content-type: + - text/plain; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:46 GMT + etag: + - W/"41b202f4dc5098d126019dc00721a4c5e30df0c5196794514fadc3710ee2a5cb" + expires: + - Tue, 21 Feb 2023 06:57:46 GMT + source-age: + - '123' + strict-transport-security: + - max-age=31536000 + vary: + - Authorization,Accept-Encoding,Origin + via: + - 1.1 varnish + x-cache: + - HIT + x-cache-hits: + - '1' + x-content-type-options: + - nosniff + x-fastly-request-id: + - a72ca08a1924c8b3bd7c7b2ecb3084e57ea17c83 + x-frame-options: + - deny + x-github-request-id: + - 523C:6DCF:80C5E:C29DF:63E2283D + x-served-by: + - cache-qpg1244-QPG + x-timer: + - S1676962366.016670,VS0,VE1 + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus2/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions?$top=1&$orderby=name%20desc&api-version=2022-11-01 + response: + body: + string: "[\r\n {\r\n \"location\": \"eastus2\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus2/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n + \ }\r\n]" + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/ListVMImagesVersionsFromLocation3Min;15999,Microsoft.Compute/ListVMImagesVersionsFromLocation30Min;43999 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus2/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions/18.04.202302100?api-version=2022-11-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"architecture\": + \"x64\",\r\n \"replicaType\": \"Unmanaged\",\r\n \"disallowed\": {\r\n + \ \"vmDiskType\": \"None\"\r\n },\r\n \"automaticOSUpgradeProperties\": + {\r\n \"automaticOSUpgradeSupported\": true\r\n },\r\n \"imageDeprecationStatus\": + {\r\n \"imageState\": \"Active\"\r\n },\r\n \"features\": [\r\n + \ {\r\n \"name\": \"IsAcceleratedNetworkSupported\",\r\n \"value\": + \"True\"\r\n },\r\n {\r\n \"name\": \"DiskControllerTypes\",\r\n + \ \"value\": \"SCSI, NVMe\"\r\n },\r\n {\r\n \"name\": + \"IsHibernateSupported\",\r\n \"value\": \"True\"\r\n }\r\n ],\r\n + \ \"osDiskImage\": {\r\n \"operatingSystem\": \"Linux\",\r\n \"sizeInGb\": + 31,\r\n \"sizeInBytes\": 32213303808\r\n },\r\n \"dataDiskImages\": + []\r\n },\r\n \"location\": \"eastus2\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus2/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1050' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMImageFromLocation3Min;12999,Microsoft.Compute/GetVMImageFromLocation30Min;73999 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-network/21.0.1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks?api-version=2022-01-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus2/vmSizes?api-version=2022-11-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"Standard_M64\",\r\n + \ \"numberOfCores\": 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8192000,\r\n \"memoryInMB\": 1024000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M64m\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8192000,\r\n \"memoryInMB\": 1792000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384000,\r\n \"memoryInMB\": 2048000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128m\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384000,\r\n \"memoryInMB\": 3891200,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M8-2ms\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 256000,\r\n \"memoryInMB\": 224000,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_M8-4ms\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 256000,\r\n \"memoryInMB\": 224000,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_M8ms\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 256000,\r\n \"memoryInMB\": 224000,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_M16-4ms\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 512000,\r\n \"memoryInMB\": 448000,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_M16-8ms\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 512000,\r\n \"memoryInMB\": 448000,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_M16ms\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 512000,\r\n \"memoryInMB\": 448000,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32-8ms\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 896000,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32-16ms\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 896000,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32ls\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32ms\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 896000,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32ts\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M64-16ms\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2048000,\r\n \"memoryInMB\": 1792000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M64-32ms\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2048000,\r\n \"memoryInMB\": 1792000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M64ls\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2048000,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M64ms\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2048000,\r\n \"memoryInMB\": 1792000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M64s\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2097152,\r\n \"memoryInMB\": 1048576,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128-32ms\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096000,\r\n \"memoryInMB\": 3891200,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128-64ms\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096000,\r\n \"memoryInMB\": 3891200,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128ms\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096000,\r\n \"memoryInMB\": 3891200,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128s\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096000,\r\n \"memoryInMB\": 2048000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M32ms_v2\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 896000,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M64ms_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 1835008,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M64s_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 1048576,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M128ms_v2\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 3985408,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M128s_v2\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 2097152,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M192ims_v2\",\r\n \"numberOfCores\": + 192,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 4194304,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M192is_v2\",\r\n \"numberOfCores\": + 192,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 2097152,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32dms_v2\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1048576,\r\n \"memoryInMB\": 896000,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M64dms_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2097152,\r\n \"memoryInMB\": 1835008,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M64ds_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2097152,\r\n \"memoryInMB\": 1048576,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128dms_v2\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 3985408,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128ds_v2\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 2097152,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M192idms_v2\",\r\n \"numberOfCores\": + 192,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 4194304,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M192ids_v2\",\r\n \"numberOfCores\": + 192,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 2097152,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_B1ls\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096,\r\n \"memoryInMB\": 512,\r\n \"maxDataDiskCount\": 2\r\n },\r\n + \ {\r\n \"name\": \"Standard_B1ms\",\r\n \"numberOfCores\": 1,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 4096,\r\n + \ \"memoryInMB\": 2048,\r\n \"maxDataDiskCount\": 2\r\n },\r\n + \ {\r\n \"name\": \"Standard_B1s\",\r\n \"numberOfCores\": 1,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 4096,\r\n + \ \"memoryInMB\": 1024,\r\n \"maxDataDiskCount\": 2\r\n },\r\n + \ {\r\n \"name\": \"Standard_B2ms\",\r\n \"numberOfCores\": 2,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 16384,\r\n + \ \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_B2s\",\r\n \"numberOfCores\": 2,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 8192,\r\n + \ \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_B4ms\",\r\n \"numberOfCores\": 4,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 32768,\r\n + \ \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_B8ms\",\r\n \"numberOfCores\": 8,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 65536,\r\n + \ \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_B12ms\",\r\n \"numberOfCores\": 12,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 98304,\r\n + \ \"memoryInMB\": 49152,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_B16ms\",\r\n \"numberOfCores\": 16,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 131072,\r\n + \ \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_B20ms\",\r\n \"numberOfCores\": 20,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 163840,\r\n + \ \"memoryInMB\": 81920,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D1_v2\",\r\n \"numberOfCores\": 1,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 51200,\r\n + \ \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D2_v2\",\r\n \"numberOfCores\": 2,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 102400,\r\n + \ \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D3_v2\",\r\n \"numberOfCores\": 4,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 204800,\r\n + \ \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4_v2\",\r\n \"numberOfCores\": 8,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 409600,\r\n + \ \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D5_v2\",\r\n \"numberOfCores\": 16,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 819200,\r\n + \ \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 64\r\n },\r\n + \ {\r\n \"name\": \"Standard_D11_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D12_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D13_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D14_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_D15_v2\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 143360,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2_v2_Promo\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D3_v2_Promo\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4_v2_Promo\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D5_v2_Promo\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_D11_v2_Promo\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D12_v2_Promo\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D13_v2_Promo\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D14_v2_Promo\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_F1\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384,\r\n \"memoryInMB\": 2048,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_F2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_F4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_F8\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F16\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS1_v2\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 7168,\r\n \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS2_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 14336,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS3_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS4_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS5_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS11-1_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS11_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS12-1_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS12-2_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS12_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS13-2_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS13-4_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS13_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS14-4_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 229376,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS14-8_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 229376,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS14_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 229376,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS15_v2\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 286720,\r\n \"memoryInMB\": 143360,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS2_v2_Promo\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 14336,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS3_v2_Promo\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS4_v2_Promo\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS5_v2_Promo\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS11_v2_Promo\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS12_v2_Promo\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS13_v2_Promo\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS14_v2_Promo\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 229376,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_F1s\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096,\r\n \"memoryInMB\": 2048,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_F2s\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8192,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_F4s\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_F8s\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F16s\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_A1_v2\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 10240,\r\n \"memoryInMB\": 2048,\r\n \"maxDataDiskCount\": 2\r\n + \ },\r\n {\r\n \"name\": \"Standard_A2m_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 20480,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_A2_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 20480,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_A4m_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 40960,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_A4_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 40960,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_A8m_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 81920,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_A8_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 81920,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1638400,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2s_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4s_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48s_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 393216,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64s_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20_v3\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 512000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2s_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4-2s_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4s_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-2s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-4s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-4s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20s_v3\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 327680,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC1s_v3\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC2s_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC4s_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC8s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC16s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC24s_v3\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC32s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC48s_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC1ds_v3\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC2ds_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC4ds_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC8ds_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC16ds_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC24ds_v3\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC32ds_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC48ds_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L8s_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 81920,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_L16s_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 163840,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L32s_v2\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 327680,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L48s_v2\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L64s_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 655360,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L80s_v2\",\r\n \"numberOfCores\": + 80,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 655360,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_A0\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 20480,\r\n \"memoryInMB\": 768,\r\n \"maxDataDiskCount\": 1\r\n + \ },\r\n {\r\n \"name\": \"Standard_A1\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 71680,\r\n \"memoryInMB\": 1792,\r\n \"maxDataDiskCount\": 2\r\n + \ },\r\n {\r\n \"name\": \"Standard_A2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 138240,\r\n \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_A3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 291840,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_A5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 138240,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_A4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 619520,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_A6\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 291840,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_A7\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 619520,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Basic_A0\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 20480,\r\n \"memoryInMB\": 768,\r\n \"maxDataDiskCount\": 1\r\n + \ },\r\n {\r\n \"name\": \"Basic_A1\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 40960,\r\n \"memoryInMB\": 1792,\r\n \"maxDataDiskCount\": 2\r\n + \ },\r\n {\r\n \"name\": \"Basic_A2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 61440,\r\n \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Basic_A3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 122880,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Basic_A4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 245760,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2ds_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4ds_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8ds_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16ds_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32ds_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48ds_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64ds_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2ds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4ds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8ds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16ds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32ds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48ds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64ds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96ds_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2d_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4d_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8d_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16d_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32d_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48d_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64d_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2d_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4d_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8d_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16d_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32d_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48d_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64d_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96d_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2s_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4s_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8s_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16s_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32s_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48s_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64s_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2s_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4s_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8s_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16s_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32s_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48s_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64s_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96s_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4_v4\",\r\n \"numberOfCores\": 4,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8_v4\",\r\n \"numberOfCores\": 8,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4_v5\",\r\n \"numberOfCores\": 4,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8_v5\",\r\n \"numberOfCores\": 8,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2ds_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4-2ds_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4ds_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-2ds_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-4ds_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8ds_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-4ds_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8ds_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16ds_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20ds_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8ds_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16ds_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32ds_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48ds_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16ds_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32ds_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64ds_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2ds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4-2ds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4ds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-2ds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-4ds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8ds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-4ds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8ds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16ds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20ds_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8ds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16ds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32ds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48ds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16ds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32ds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64ds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-24ds_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-48ds_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96ds_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E104ids_v5\",\r\n \"numberOfCores\": + 104,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3891200,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2d_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4d_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8d_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16d_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20d_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32d_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48d_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64d_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2d_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4d_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8d_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16d_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20d_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32d_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48d_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64d_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96d_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E104id_v5\",\r\n \"numberOfCores\": + 104,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3891200,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48s_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 786432,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16s_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32s_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64s_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2s_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4-2s_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4s_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-2s_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-4s_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8s_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16-4s_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8s_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16s_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20s_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8s_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16s_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32s_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48s_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16s_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32s_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64s_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2s_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4-2s_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4s_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-2s_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-4s_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8s_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16-4s_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8s_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16s_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20s_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8s_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16s_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32s_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48s_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16s_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32s_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64s_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-24s_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-48s_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96s_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E104is_v5\",\r\n \"numberOfCores\": + 104,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1638400,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4_v4\",\r\n \"numberOfCores\": 4,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8_v4\",\r\n \"numberOfCores\": 8,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4_v5\",\r\n \"numberOfCores\": 4,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8_v5\",\r\n \"numberOfCores\": 8,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E104i_v5\",\r\n \"numberOfCores\": + 104,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_F2s_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_F4s_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_F8s_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_F16s_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F32s_v2\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F48s_v2\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 393216,\r\n \"memoryInMB\": 98304,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F64s_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F72s_v2\",\r\n \"numberOfCores\": + 72,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 589824,\r\n \"memoryInMB\": 147456,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2bs_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4bs_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8bs_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16bs_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32bs_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48bs_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64bs_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2bds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4bds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8bds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16bds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32bds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48bds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64bds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2ls_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4ls_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8ls_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16ls_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32ls_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D48ls_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 98304,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D64ls_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96ls_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2lds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4lds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8lds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16lds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32lds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48lds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 98304,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64lds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96lds_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E80is_v4\",\r\n \"numberOfCores\": + 80,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_E80ids_v4\",\r\n \"numberOfCores\": + 80,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4362240,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV6s_v2\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 344064,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 12\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV12s_v2\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 688128,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV24s_v2\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV12s_v3\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 344064,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 12\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV24s_v3\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 688128,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV48s_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3018752,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L8s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 81920,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_L16s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 163840,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L32s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 327680,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L48s_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L64s_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 655360,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L80s_v3\",\r\n \"numberOfCores\": + 80,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 655360,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64i_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1638400,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64is_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC4as_T4_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 180224,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC8as_T4_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 360448,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC16as_T4_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 360448,\r\n \"memoryInMB\": 112640,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC64as_T4_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2883584,\r\n \"memoryInMB\": 450560,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2a_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4a_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8a_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16a_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32a_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48a_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64a_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1638400,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96a_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2as_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4as_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8as_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16as_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32as_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48as_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 393216,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64as_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96as_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 786432,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2a_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4a_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8a_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16a_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20a_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 512000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32a_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48a_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64a_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1638400,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96a_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2as_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4-2as_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4as_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-2as_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-4as_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8as_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-4as_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8as_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16as_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20as_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 327680,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8as_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16as_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32as_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48as_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 786432,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16as_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32as_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64as_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-24as_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-48as_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96as_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96ias_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D1\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D11\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D12\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D13\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D14\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS1\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 7168,\r\n \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 14336,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS11\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS12\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS13\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS14\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 229376,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV4as_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 90112,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV8as_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 180224,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV16as_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 360448,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV32as_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 720896,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2as_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4as_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8as_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16as_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32as_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48as_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64as_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96as_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2as_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4-2as_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4as_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-2as_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-4as_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8as_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16-4as_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8as_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16as_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20as_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8as_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16as_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32as_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48as_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16as_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32as_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64as_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-24as_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-48as_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96as_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E112ias_v5\",\r\n \"numberOfCores\": + 112,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2ads_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4ads_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8ads_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16ads_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32ads_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48ads_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64ads_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96ads_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2ads_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4-2ads_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4ads_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-2ads_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-4ads_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8ads_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-4ads_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8ads_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16ads_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20ads_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8ads_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16ads_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32ads_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48ads_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16ads_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32ads_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64ads_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-24ads_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-48ads_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96ads_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E112iads_v5\",\r\n \"numberOfCores\": + 112,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3891200,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC6s_v3\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 344064,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 12\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC12s_v3\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 688128,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24rs_v3\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3018752,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24s_v3\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_G1\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 393216,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_G2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 786432,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_G3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1572864,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_G4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3145728,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_G5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 6291456,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_GS1\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_GS2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_GS3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 229376,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_GS4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 458752,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_GS4-4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 458752,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_GS4-8\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 458752,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_GS5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 917504,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_GS5-8\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 917504,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_GS5-16\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 917504,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_L4s\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 694272,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_L8s\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1421312,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L16s\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2874368,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_L32s\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 5765120,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV6ads_A10_v5\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 184320,\r\n \"memoryInMB\": 56320,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV12ads_A10_v5\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 368640,\r\n \"memoryInMB\": 112640,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV18ads_A10_v5\",\r\n \"numberOfCores\": + 18,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 737280,\r\n \"memoryInMB\": 225280,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV36adms_A10_v5\",\r\n \"numberOfCores\": + 36,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2949120,\r\n \"memoryInMB\": 901120,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV36ads_A10_v5\",\r\n \"numberOfCores\": + 36,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 450560,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV72ads_A10_v5\",\r\n \"numberOfCores\": + 72,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2949120,\r\n \"memoryInMB\": 901120,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M208ms_v2\",\r\n \"numberOfCores\": + 208,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 5836800,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M208s_v2\",\r\n \"numberOfCores\": + 208,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 2918400,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M416s_v2\",\r\n \"numberOfCores\": + 416,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8388608,\r\n \"memoryInMB\": 5836800,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M416ms_v2\",\r\n \"numberOfCores\": + 416,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8388608,\r\n \"memoryInMB\": 11673600,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_NV6\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 389120,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV12\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 696320,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 48\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV24\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV6_Promo\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 389120,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV12_Promo\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 696320,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 48\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV24_Promo\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_L8as_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 81920,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_L16as_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 163840,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L32as_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 327680,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L48as_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L64as_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 655360,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L80as_v3\",\r\n \"numberOfCores\": + 80,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 655360,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24ads_A100_v4\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 225280,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC48ads_A100_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 450560,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC96ads_A100_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 901120,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC6\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 389120,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC12\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 696320,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 48\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24r\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC6_Promo\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 389120,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC12_Promo\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 696320,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 48\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24_Promo\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24r_Promo\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M416-208s_v2\",\r\n \"numberOfCores\": + 416,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8388608,\r\n \"memoryInMB\": 5836800,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M416-208ms_v2\",\r\n \"numberOfCores\": + 416,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8388608,\r\n \"memoryInMB\": 11673600,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_DC2as_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_EC8ads_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2plds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4plds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8plds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16plds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32plds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48plds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 98304,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64plds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2pls_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4pls_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8pls_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16pls_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32pls_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D48pls_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 98304,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D64pls_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2pds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4pds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8pds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16pds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32pds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48pds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64pds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 212992,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2ps_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4ps_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8ps_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16ps_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32ps_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48ps_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64ps_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 212992,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2pds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4pds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8pds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16pds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20pds_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32pds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 212992,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2ps_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4ps_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8ps_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16ps_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20ps_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32ps_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 212992,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_ND96amsr_A100_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2969600,\r\n \"memoryInMB\": 1970176,\r\n \"maxDataDiskCount\": + 16\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '132337' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetSubscriptionInfo3Min;359 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.26.0 + method: GET + uri: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/arm-compute/quickstart-templates/aliases.json + response: + body: + string: "{\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json\",\n + \ \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {},\n \"variables\": + {},\n \"resources\": [],\n \"outputs\": {\n \"aliases\": {\n \"type\": + \"object\",\n \"value\": {\n \"Linux\": {\n \"CentOS\": + {\n \"publisher\": \"OpenLogic\",\n \"offer\": \"CentOS\",\n + \ \"sku\": \"7.5\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Debian\": {\n \"publisher\": + \"Debian\",\n \"offer\": \"debian-10\",\n \"sku\": \"10\",\n + \ \"version\": \"latest\",\n \"architecture\": \"x64\"\n + \ },\n \"Flatcar\": {\n \"publisher\": \"kinvolk\",\n + \ \"offer\": \"flatcar-container-linux-free\",\n \"sku\": + \"stable\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"openSUSE-Leap\": {\n \"publisher\": + \"SUSE\",\n \"offer\": \"opensuse-leap-15-3\",\n \"sku\": + \"gen2\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"RHEL\": {\n \"publisher\": \"RedHat\",\n + \ \"offer\": \"RHEL\",\n \"sku\": \"7-LVM\",\n \"version\": + \"latest\",\n \"architecture\": \"x64\"\n },\n \"SLES\": + {\n \"publisher\": \"SUSE\",\n \"offer\": \"sles-15-sp3\",\n + \ \"sku\": \"gen2\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"UbuntuLTS\": {\n \"publisher\": + \"Canonical\",\n \"offer\": \"UbuntuServer\",\n \"sku\": + \"18.04-LTS\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n }\n },\n \"Windows\": {\n \"Win2022Datacenter\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2022-Datacenter\",\n \"version\": + \"latest\",\n \"architecture\": \"x64\"\n },\n \"Win2022AzureEditionCore\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2022-datacenter-azure-edition-core\",\n + \ \"version\": \"latest\",\n \"architecture\": \"x64\"\n + \ },\n \"Win2019Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2019-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2016Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2016-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2012R2Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2012-R2-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2012Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2012-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2008R2SP1\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2008-R2-SP1\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n }\n }\n }\n }\n }\n}" + headers: + accept-ranges: + - bytes + access-control-allow-origin: + - '*' + cache-control: + - max-age=300 + connection: + - keep-alive + content-length: + - '3463' + content-security-policy: + - default-src 'none'; style-src 'unsafe-inline'; sandbox + content-type: + - text/plain; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:51 GMT + etag: + - W/"41b202f4dc5098d126019dc00721a4c5e30df0c5196794514fadc3710ee2a5cb" + expires: + - Tue, 21 Feb 2023 06:57:51 GMT + source-age: + - '129' + strict-transport-security: + - max-age=31536000 + vary: + - Authorization,Accept-Encoding,Origin + via: + - 1.1 varnish + x-cache: + - HIT + x-cache-hits: + - '1' + x-content-type-options: + - nosniff + x-fastly-request-id: + - 8cce42543a54e3a5a90f1754408a568a8d1e1522 + x-frame-options: + - deny + x-github-request-id: + - 523C:6DCF:80C5E:C29DF:63E2283D + x-served-by: + - cache-qpg1276-QPG + x-timer: + - S1676962372.849868,VS0,VE1 + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus2/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions?$top=1&$orderby=name%20desc&api-version=2022-11-01 + response: + body: + string: "[\r\n {\r\n \"location\": \"eastus2\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus2/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n + \ }\r\n]" + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/ListVMImagesVersionsFromLocation3Min;15998,Microsoft.Compute/ListVMImagesVersionsFromLocation30Min;43998 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus2/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions/18.04.202302100?api-version=2022-11-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"architecture\": + \"x64\",\r\n \"replicaType\": \"Unmanaged\",\r\n \"disallowed\": {\r\n + \ \"vmDiskType\": \"None\"\r\n },\r\n \"automaticOSUpgradeProperties\": + {\r\n \"automaticOSUpgradeSupported\": true\r\n },\r\n \"imageDeprecationStatus\": + {\r\n \"imageState\": \"Active\"\r\n },\r\n \"features\": [\r\n + \ {\r\n \"name\": \"IsAcceleratedNetworkSupported\",\r\n \"value\": + \"True\"\r\n },\r\n {\r\n \"name\": \"DiskControllerTypes\",\r\n + \ \"value\": \"SCSI, NVMe\"\r\n },\r\n {\r\n \"name\": + \"IsHibernateSupported\",\r\n \"value\": \"True\"\r\n }\r\n ],\r\n + \ \"osDiskImage\": {\r\n \"operatingSystem\": \"Linux\",\r\n \"sizeInGb\": + 31,\r\n \"sizeInBytes\": 32213303808\r\n },\r\n \"dataDiskImages\": + []\r\n },\r\n \"location\": \"eastus2\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus2/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1050' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMImageFromLocation3Min;12998,Microsoft.Compute/GetVMImageFromLocation30Min;73998 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus2/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions?$top=1&$orderby=name%20desc&api-version=2022-11-01 + response: + body: + string: "[\r\n {\r\n \"location\": \"eastus2\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus2/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n + \ }\r\n]" + headers: + cache-control: + - no-cache + content-length: + - '288' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/ListVMImagesVersionsFromLocation3Min;15997,Microsoft.Compute/ListVMImagesVersionsFromLocation30Min;43997 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus2/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions/18.04.202302100?api-version=2022-11-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"architecture\": + \"x64\",\r\n \"replicaType\": \"Unmanaged\",\r\n \"disallowed\": {\r\n + \ \"vmDiskType\": \"None\"\r\n },\r\n \"automaticOSUpgradeProperties\": + {\r\n \"automaticOSUpgradeSupported\": true\r\n },\r\n \"imageDeprecationStatus\": + {\r\n \"imageState\": \"Active\"\r\n },\r\n \"features\": [\r\n + \ {\r\n \"name\": \"IsAcceleratedNetworkSupported\",\r\n \"value\": + \"True\"\r\n },\r\n {\r\n \"name\": \"DiskControllerTypes\",\r\n + \ \"value\": \"SCSI, NVMe\"\r\n },\r\n {\r\n \"name\": + \"IsHibernateSupported\",\r\n \"value\": \"True\"\r\n }\r\n ],\r\n + \ \"osDiskImage\": {\r\n \"operatingSystem\": \"Linux\",\r\n \"sizeInGb\": + 31,\r\n \"sizeInBytes\": 32213303808\r\n },\r\n \"dataDiskImages\": + []\r\n },\r\n \"location\": \"eastus2\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus2/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1050' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMImageFromLocation3Min;12997,Microsoft.Compute/GetVMImageFromLocation30Min;73997 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": + [{"name": "vm000007VNET", "type": "Microsoft.Network/virtualNetworks", "location": + "eastus2", "apiVersion": "2015-06-15", "dependsOn": [], "tags": {}, "properties": + {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "subnets": [{"name": + "vm000007Subnet", "properties": {"addressPrefix": "10.0.0.0/24"}}]}}, {"type": + "Microsoft.Network/networkSecurityGroups", "name": "vm000007NSG", "apiVersion": + "2015-06-15", "location": "eastus2", "tags": {}, "dependsOn": []}, {"apiVersion": + "2022-01-01", "type": "Microsoft.Network/publicIPAddresses", "name": "vm000007PublicIP", + "location": "eastus2", "tags": {}, "dependsOn": [], "properties": {"publicIPAllocationMethod": + null}}, {"apiVersion": "2015-06-15", "type": "Microsoft.Network/networkInterfaces", + "name": "vm000007VMNic", "location": "eastus2", "tags": {}, "dependsOn": ["Microsoft.Network/virtualNetworks/vm000007VNET", + "Microsoft.Network/networkSecurityGroups/vm000007NSG", "Microsoft.Network/publicIpAddresses/vm000007PublicIP"], + "properties": {"ipConfigurations": [{"name": "ipconfigvm000007", "properties": + {"privateIPAllocationMethod": "Dynamic", "subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vm000007VNET/subnets/vm000007Subnet"}, + "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/publicIPAddresses/vm000007PublicIP"}}}], + "networkSecurityGroup": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkSecurityGroups/vm000007NSG"}}}, + {"apiVersion": "2022-11-01", "type": "Microsoft.Compute/virtualMachines", "name": + "vm000007", "location": "eastus2", "tags": {}, "dependsOn": ["Microsoft.Network/networkInterfaces/vm000007VMNic"], + "properties": {"hardwareProfile": {"vmSize": "Standard_D4s_v3"}, "networkProfile": + {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm000007VMNic", + "properties": {"deleteOption": null}}]}, "storageProfile": {"osDisk": {"createOption": + "fromImage", "name": null, "caching": "ReadWrite", "managedDisk": {"storageAccountType": + null}}, "imageReference": {"publisher": "Canonical", "offer": "UbuntuServer", + "sku": "18.04-LTS", "version": "latest"}}, "osProfile": {"computerName": "vm000007", + "adminUsername": "ubuntuuser", "linuxConfiguration": {"disablePasswordAuthentication": + true, "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDy4KT6QZuyFbmWDdF/Vdc7B8PzU/TrgtnZNHofoVGpHUY9emsn6t3OhrT8y+he9stKP+CfcOEhR38Rn8gCJXdeo6VX3OyeCrkPMw+PZEj+TJi3Yp+N/BXritww+I8HFF+vihoKBPFP3DQSeq7VMQWGfFmf67Dm0r2F8CLvnqWPcrBx14GelF4vg3P3dDltHh9ZedEcNYA1b0+BcupL8249JVsv38oSMw3bTxTVzFzLY0KCgQno2HOt0VsZSvIp76UO4io4msPdmJm1NLIJ4s5YK6lHdnp8w+kuZi/pZyQx8GKbKjEqaxQaPDy5tHE5ohvIxqwZcewN7rlUJ3ZVYibd", + "path": "/home/ubuntuuser/.ssh/authorized_keys"}]}}}}}], "outputs": {}}, "parameters": + {}, "mode": "incremental"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + Content-Length: + - '3276' + Content-Type: + - application/json + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Resources/deployments/vm_deploy_SjGvvv1mOnH7lHMA2I4ScnrWOAYg6x1Y","name":"vm_deploy_SjGvvv1mOnH7lHMA2I4ScnrWOAYg6x1Y","type":"Microsoft.Resources/deployments","properties":{"templateHash":"4961220985496882908","parameters":{},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2023-02-21T06:53:04.4253557Z","duration":"PT0.0004934S","correlationId":"17e7b0b7-6a84-4b61-a080-68d9d73d296d","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus2"]},{"resourceType":"networkSecurityGroups","locations":["eastus2"]},{"resourceType":"publicIPAddresses","locations":["eastus2"]},{"resourceType":"networkInterfaces","locations":["eastus2"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["eastus2"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vm000007VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"vm000007VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkSecurityGroups/vm000007NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"vm000007NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/publicIPAddresses/vm000007PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"vm000007PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm000007VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm000007VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm000007VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm000007VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/virtualMachines/vm000007","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"vm000007"}]}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/vm_deploy_SjGvvv1mOnH7lHMA2I4ScnrWOAYg6x1Y/operationStatuses/08585246445050157613?api-version=2021-04-01 + cache-control: + - no-cache + content-length: + - '2394' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:53:06 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585246445050157613?api-version=2021-04-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:53:36 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585246445050157613?api-version=2021-04-01 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:06 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Resources/deployments/vm_deploy_SjGvvv1mOnH7lHMA2I4ScnrWOAYg6x1Y","name":"vm_deploy_SjGvvv1mOnH7lHMA2I4ScnrWOAYg6x1Y","type":"Microsoft.Resources/deployments","properties":{"templateHash":"4961220985496882908","parameters":{},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2023-02-21T06:54:04.0240187Z","duration":"PT59.5991564S","correlationId":"17e7b0b7-6a84-4b61-a080-68d9d73d296d","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus2"]},{"resourceType":"networkSecurityGroups","locations":["eastus2"]},{"resourceType":"publicIPAddresses","locations":["eastus2"]},{"resourceType":"networkInterfaces","locations":["eastus2"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["eastus2"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vm000007VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"vm000007VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkSecurityGroups/vm000007NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"vm000007NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/publicIPAddresses/vm000007PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"vm000007PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm000007VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm000007VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm000007VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm000007VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/virtualMachines/vm000007","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"vm000007"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/virtualMachines/vm000007"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm000007VMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkSecurityGroups/vm000007NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/publicIPAddresses/vm000007PublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vm000007VNET"}]}}' + headers: + cache-control: + - no-cache + content-length: + - '3189' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:07 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/virtualMachines/vm000007?$expand=instanceView&api-version=2022-11-01 + response: + body: + string: "{\r\n \"name\": \"vm000007\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/virtualMachines/vm000007\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"80bb4051-6e2e-4e45-b6f6-c690e6a05ea8\",\r\n + \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_D4s_v3\"\r\n },\r\n + \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": + \"Canonical\",\r\n \"offer\": \"UbuntuServer\",\r\n \"sku\": + \"18.04-LTS\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": + \"18.04.202302100\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"Linux\",\r\n \"name\": \"vm000007_OsDisk_1_31b49d7425c24585b0029e1d006b35cf\",\r\n + \ \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n + \ \"managedDisk\": {\r\n \"storageAccountType\": \"Premium_LRS\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/disks/vm000007_OsDisk_1_31b49d7425c24585b0029e1d006b35cf\"\r\n + \ },\r\n \"deleteOption\": \"Detach\",\r\n \"diskSizeGB\": + 30\r\n },\r\n \"dataDisks\": []\r\n },\r\n \"osProfile\": + {\r\n \"computerName\": \"vm000007\",\r\n \"adminUsername\": \"ubuntuuser\",\r\n + \ \"linuxConfiguration\": {\r\n \"disablePasswordAuthentication\": + true,\r\n \"ssh\": {\r\n \"publicKeys\": [\r\n {\r\n + \ \"path\": \"/home/ubuntuuser/.ssh/authorized_keys\",\r\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDy4KT6QZuyFbmWDdF/Vdc7B8PzU/TrgtnZNHofoVGpHUY9emsn6t3OhrT8y+he9stKP+CfcOEhR38Rn8gCJXdeo6VX3OyeCrkPMw+PZEj+TJi3Yp+N/BXritww+I8HFF+vihoKBPFP3DQSeq7VMQWGfFmf67Dm0r2F8CLvnqWPcrBx14GelF4vg3P3dDltHh9ZedEcNYA1b0+BcupL8249JVsv38oSMw3bTxTVzFzLY0KCgQno2HOt0VsZSvIp76UO4io4msPdmJm1NLIJ4s5YK6lHdnp8w+kuZi/pZyQx8GKbKjEqaxQaPDy5tHE5ohvIxqwZcewN7rlUJ3ZVYibd\"\r\n + \ }\r\n ]\r\n },\r\n \"provisionVMAgent\": + true,\r\n \"patchSettings\": {\r\n \"patchMode\": \"ImageDefault\",\r\n + \ \"assessmentMode\": \"ImageDefault\"\r\n },\r\n \"enableVMAgentPlatformUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"networkProfile\": + {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm000007VMNic\"}]},\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"instanceView\": {\r\n \"computerName\": + \"vm000007\",\r\n \"osName\": \"ubuntu\",\r\n \"osVersion\": \"18.04\",\r\n + \ \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.9.0.4\",\r\n \"statuses\": + [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n + \ \"message\": \"Guest Agent is running\",\r\n \"time\": + \"2023-02-21T06:54:08+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": + []\r\n },\r\n \"disks\": [\r\n {\r\n \"name\": \"vm000007_OsDisk_1_31b49d7425c24585b0029e1d006b35cf\",\r\n + \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning + succeeded\",\r\n \"time\": \"2023-02-21T06:53:34.7893931+00:00\"\r\n + \ }\r\n ]\r\n }\r\n ],\r\n \"hyperVGeneration\": + \"V1\",\r\n \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning + succeeded\",\r\n \"time\": \"2023-02-21T06:54:00.7892971+00:00\"\r\n + \ },\r\n {\r\n \"code\": \"PowerState/running\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"VM running\"\r\n + \ }\r\n ]\r\n },\r\n \"timeCreated\": \"2023-02-21T06:53:31.2737676+00:00\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3883' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/LowCostGet3Min;3997,Microsoft.Compute/LowCostGet30Min;31997 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-network/21.0.1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm000007VMNic?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"vm000007VMNic\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm000007VMNic\",\r\n + \ \"etag\": \"W/\\\"393bb5ea-20da-46a5-853c-8d946f342702\\\"\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"b9cdf118-b686-42e2-9539-9eaeaf31e4d1\",\r\n \"ipConfigurations\": + [\r\n {\r\n \"name\": \"ipconfigvm000007\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm000007VMNic/ipConfigurations/ipconfigvm000007\",\r\n + \ \"etag\": \"W/\\\"393bb5ea-20da-46a5-853c-8d946f342702\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": + \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/publicIPAddresses/vm000007PublicIP\"\r\n + \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vm000007VNET/subnets/vm000007Subnet\"\r\n + \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": + \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": + [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": + \"sv3s1ehtdlnuffynnpatgcdwxg.cx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": + \"00-22-48-54-0D-4C\",\r\n \"enableAcceleratedNetworking\": false,\r\n + \ \"vnetEncryptionSupported\": false,\r\n \"enableIPForwarding\": false,\r\n + \ \"networkSecurityGroup\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkSecurityGroups/vm000007NSG\"\r\n + \ },\r\n \"primary\": true,\r\n \"virtualMachine\": {\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Compute/virtualMachines/vm000007\"\r\n + \ },\r\n \"hostedWorkloads\": [],\r\n \"tapConfigurations\": [],\r\n + \ \"nicType\": \"Standard\",\r\n \"allowPort25Out\": true\r\n },\r\n + \ \"type\": \"Microsoft.Network/networkInterfaces\",\r\n \"location\": \"eastus2\",\r\n + \ \"kind\": \"Regular\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2441' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:08 GMT + etag: + - W/"393bb5ea-20da-46a5-853c-8d946f342702" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 06596f38-2dcd-4e0f-9b14-620b3ac82b47 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-network/21.0.1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/publicIPAddresses/vm000007PublicIP?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"vm000007PublicIP\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/publicIPAddresses/vm000007PublicIP\",\r\n + \ \"etag\": \"W/\\\"86e8c116-5316-47fb-b9d9-b558daf3c9f9\\\"\",\r\n \"location\": + \"eastus2\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"resourceGuid\": \"7d5d42f4-7ec7-44aa-8aab-9981253fe7a1\",\r\n + \ \"ipAddress\": \"172.176.131.56\",\r\n \"publicIPAddressVersion\": + \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": + 4,\r\n \"ipTags\": [],\r\n \"ipConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/networkInterfaces/vm000007VMNic/ipConfigurations/ipconfigvm000007\"\r\n + \ }\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n + \ \"sku\": {\r\n \"name\": \"Basic\",\r\n \"tier\": \"Regional\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '926' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:10 GMT + etag: + - W/"86e8c116-5316-47fb-b9d9-b558daf3c9f9" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - f0160663-bd36-4edb-a2e8-b7236ea9840f + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "endpointDesc", "endpointType": "NfsMount", + "export": "exportfolder", "host": "172.176.131.56", "nfsVersion": "NFSv4"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint create-for-nfs + Connection: + - keep-alive + Content-Length: + - '150' + Content-Type: + - application/json + ParameterSetName: + - -g --storage-mover-name -n --description --export --nfs-version --host + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_nfs000006?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_nfs000006","name":"endpoint_nfs000006","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:54:11.0301547Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:54:11.0301547Z"},"properties":{"host":"172.176.131.56","nfsVersion":"NFSv4","export":"exportfolder","endpointType":"NfsMount","description":"endpointDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '683' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:11 GMT + etag: + - '"0000e8a1-0000-0100-0000-63f46a930000"' + expires: + - '-1' + mise-correlation-id: + - 502dfea2-3fbc-4cbb-8295-ebda8078eb6d + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint show + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name -n + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_nfs000006?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_nfs000006","name":"endpoint_nfs000006","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:54:11.0301547Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:54:11.0301547Z"},"properties":{"host":"172.176.131.56","nfsVersion":"NFSv4","export":"exportfolder","endpointType":"NfsMount","description":"endpointDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '683' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:15 GMT + etag: + - '"0000e8a1-0000-0100-0000-63f46a930000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint list + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints?api-version=2023-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_container000005","name":"endpoint_container000005","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:40.7896012Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:52:40.7896012Z"},"properties":{"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","blobContainerName":"container000004","endpointType":"AzureStorageBlobContainer","description":"endpointDesc","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_nfs000006","name":"endpoint_nfs000006","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:54:11.0301547Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:54:11.0301547Z"},"properties":{"host":"172.176.131.56","nfsVersion":"NFSv4","export":"exportfolder","endpointType":"NfsMount","description":"endpointDesc","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1548' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:17 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint update-for-storage-container + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name -n --description --container-name --storage-account-id + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_container000005?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_container000005","name":"endpoint_container000005","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:40.7896012Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:52:40.7896012Z"},"properties":{"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","blobContainerName":"container000004","endpointType":"AzureStorageBlobContainer","description":"endpointDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '852' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:18 GMT + etag: + - '"0000e7a1-0000-0100-0000-63f46a3a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "endpointDescUpdate", "endpointType": "AzureStorageBlobContainer", + "blobContainerName": "container000004", "storageAccountResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint update-for-storage-container + Connection: + - keep-alive + Content-Length: + - '311' + Content-Type: + - application/json + ParameterSetName: + - -g --storage-mover-name -n --description --container-name --storage-account-id + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_container000005?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_container000005","name":"endpoint_container000005","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:40.7896012Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:54:19.5587063Z"},"properties":{"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","blobContainerName":"container000004","endpointType":"AzureStorageBlobContainer","description":"endpointDescUpdate","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '858' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:19 GMT + etag: + - '"0000e9a1-0000-0100-0000-63f46a9c0000"' + expires: + - '-1' + mise-correlation-id: + - fe59b184-1f79-4540-a901-4920bb224d1a + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint update-for-nfs + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name -n --description --export --nfs-version --host + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_nfs000006?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_nfs000006","name":"endpoint_nfs000006","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:54:11.0301547Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:54:11.0301547Z"},"properties":{"host":"172.176.131.56","nfsVersion":"NFSv4","export":"exportfolder","endpointType":"NfsMount","description":"endpointDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '683' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:21 GMT + etag: + - '"0000e8a1-0000-0100-0000-63f46a930000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "endpointDescUpdate", "endpointType": "NfsMount", + "export": "exportfolder", "host": "172.176.131.56", "nfsVersion": "NFSv4"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint update-for-nfs + Connection: + - keep-alive + Content-Length: + - '156' + Content-Type: + - application/json + ParameterSetName: + - -g --storage-mover-name -n --description --export --nfs-version --host + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_nfs000006?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_nfs000006","name":"endpoint_nfs000006","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:54:11.0301547Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:54:23.1921562Z"},"properties":{"host":"172.176.131.56","nfsVersion":"NFSv4","export":"exportfolder","endpointType":"NfsMount","description":"endpointDescUpdate","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '689' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:23 GMT + etag: + - '"0000eaa1-0000-0100-0000-63f46a9f0000"' + expires: + - '-1' + mise-correlation-id: + - 5c280c1a-dbfd-462c-81bc-3ef7c1fc3de7 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --storage-mover-name -n -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_nfs000006?api-version=2023-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 21 Feb 2023 06:54:25 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint list + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints?api-version=2023-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000003/endpoints/endpoint_container000005","name":"endpoint_container000005","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:40.7896012Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:54:19.5587063Z"},"properties":{"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","blobContainerName":"container000004","endpointType":"AzureStorageBlobContainer","description":"endpointDescUpdate","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '870' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:54:28 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +version: 1 diff --git a/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_job_definition_scenarios.yaml b/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_job_definition_scenarios.yaml new file mode 100644 index 00000000000..0d89fb98ae3 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_job_definition_scenarios.yaml @@ -0,0 +1,5538 @@ +interactions: +- request: + body: '{"properties": {"description": "ProjectDesc"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover project create + Connection: + - keep-alive + Content-Length: + - '46' + Content-Type: + - application/json + ParameterSetName: + - -g --storage-mover-name -n --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject","name":"testproject","type":"microsoft.storagemover/storagemovers/projects","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-22T07:42:48.0286688Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-22T07:43:31.3075186Z"},"properties":{"provisioningState":"Succeeded","description":"ProjectDesc"}}' + headers: + cache-control: + - no-cache + content-length: + - '572' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:43:32 GMT + etag: + - '"0f032048-0000-0100-0000-63f5c7a40000"' + expires: + - '-1' + mise-correlation-id: + - 676a4f76-3eae-4a94-b4b8-22d21e13ba45 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-storagemover-rg?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg","name":"test-storagemover-rg","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:43:33 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "StorageV2", "location": "eastus", + "properties": {"encryption": {"services": {"blob": {}}, "keySource": "Microsoft.Storage"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + Content-Length: + - '170' + Content-Type: + - application/json + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-storage/21.0.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Storage/storageAccounts/testjobdefinitionsa2?api-version=2022-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:43:41 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/5ad2d72a-9d96-49ea-996e-5be8e2aee029?monitor=true&api-version=2022-09-01 + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-storage/21.0.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/5ad2d72a-9d96-49ea-996e-5be8e2aee029?monitor=true&api-version=2022-09-01 + response: + body: + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Storage/storageAccounts/testjobdefinitionsa2","name":"testjobdefinitionsa2","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2023-02-22T07:43:40.3087083Z","key2":"2023-02-22T07:43:40.3087083Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2023-02-22T07:43:40.3243158Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2023-02-22T07:43:40.3243158Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2023-02-22T07:43:40.1524796Z","primaryEndpoints":{"dfs":"https://testjobdefinitionsa2.dfs.core.windows.net/","web":"https://testjobdefinitionsa2.z13.web.core.windows.net/","blob":"https://testjobdefinitionsa2.blob.core.windows.net/","queue":"https://testjobdefinitionsa2.queue.core.windows.net/","table":"https://testjobdefinitionsa2.table.core.windows.net/","file":"https://testjobdefinitionsa2.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testjobdefinitionsa2-secondary.dfs.core.windows.net/","web":"https://testjobdefinitionsa2-secondary.z13.web.core.windows.net/","blob":"https://testjobdefinitionsa2-secondary.blob.core.windows.net/","queue":"https://testjobdefinitionsa2-secondary.queue.core.windows.net/","table":"https://testjobdefinitionsa2-secondary.table.core.windows.net/"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1903' + content-type: + - application/json + date: + - Wed, 22 Feb 2023 07:43:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account keys list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --query -o + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-storage/21.0.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Storage/storageAccounts/testjobdefinitionsa2/listKeys?api-version=2022-09-01&$expand=kerb + response: + body: + string: '{"keys":[{"creationTime":"2023-02-22T07:43:40.3087083Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2023-02-22T07:43:40.3087083Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '260' + content-type: + - application/json + date: + - Wed, 22 Feb 2023 07:43:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account show + Connection: + - keep-alive + ParameterSetName: + - -n -g --query -o + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-storage/21.0.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Storage/storageAccounts/testjobdefinitionsa2?api-version=2022-09-01 + response: + body: + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Storage/storageAccounts/testjobdefinitionsa2","name":"testjobdefinitionsa2","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2023-02-22T07:43:40.3087083Z","key2":"2023-02-22T07:43:40.3087083Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2023-02-22T07:43:40.3243158Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2023-02-22T07:43:40.3243158Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2023-02-22T07:43:40.1524796Z","primaryEndpoints":{"dfs":"https://testjobdefinitionsa2.dfs.core.windows.net/","web":"https://testjobdefinitionsa2.z13.web.core.windows.net/","blob":"https://testjobdefinitionsa2.blob.core.windows.net/","queue":"https://testjobdefinitionsa2.queue.core.windows.net/","table":"https://testjobdefinitionsa2.table.core.windows.net/","file":"https://testjobdefinitionsa2.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testjobdefinitionsa2-secondary.dfs.core.windows.net/","web":"https://testjobdefinitionsa2-secondary.z13.web.core.windows.net/","blob":"https://testjobdefinitionsa2-secondary.blob.core.windows.net/","queue":"https://testjobdefinitionsa2-secondary.queue.core.windows.net/","table":"https://testjobdefinitionsa2-secondary.table.core.windows.net/"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1903' + content-type: + - application/json + date: + - Wed, 22 Feb 2023 07:44:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + CommandName: + - storage container create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n --account-name --account-key + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-storage-blob/12.12.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + x-ms-date: + - Wed, 22 Feb 2023 07:44:02 GMT + x-ms-version: + - '2021-06-08' + method: PUT + uri: https://testjobdefinitionsa2.blob.core.windows.net/targetcontainer?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Wed, 22 Feb 2023 07:44:02 GMT + etag: + - '"0x8DB14A891E3B83B"' + last-modified: + - Wed, 22 Feb 2023 07:44:03 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2021-06-08' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-storagemover-rg?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg","name":"test-storagemover-rg","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + connection: + - close + content-length: + - '237' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.26.0 + method: GET + uri: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/arm-compute/quickstart-templates/aliases.json + response: + body: + string: "{\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json\",\n + \ \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {},\n \"variables\": + {},\n \"resources\": [],\n \"outputs\": {\n \"aliases\": {\n \"type\": + \"object\",\n \"value\": {\n \"Linux\": {\n \"CentOS\": + {\n \"publisher\": \"OpenLogic\",\n \"offer\": \"CentOS\",\n + \ \"sku\": \"7.5\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Debian\": {\n \"publisher\": + \"Debian\",\n \"offer\": \"debian-10\",\n \"sku\": \"10\",\n + \ \"version\": \"latest\",\n \"architecture\": \"x64\"\n + \ },\n \"Flatcar\": {\n \"publisher\": \"kinvolk\",\n + \ \"offer\": \"flatcar-container-linux-free\",\n \"sku\": + \"stable\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"openSUSE-Leap\": {\n \"publisher\": + \"SUSE\",\n \"offer\": \"opensuse-leap-15-3\",\n \"sku\": + \"gen2\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"RHEL\": {\n \"publisher\": \"RedHat\",\n + \ \"offer\": \"RHEL\",\n \"sku\": \"7-LVM\",\n \"version\": + \"latest\",\n \"architecture\": \"x64\"\n },\n \"SLES\": + {\n \"publisher\": \"SUSE\",\n \"offer\": \"sles-15-sp3\",\n + \ \"sku\": \"gen2\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"UbuntuLTS\": {\n \"publisher\": + \"Canonical\",\n \"offer\": \"UbuntuServer\",\n \"sku\": + \"18.04-LTS\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n }\n },\n \"Windows\": {\n \"Win2022Datacenter\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2022-Datacenter\",\n \"version\": + \"latest\",\n \"architecture\": \"x64\"\n },\n \"Win2022AzureEditionCore\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2022-datacenter-azure-edition-core\",\n + \ \"version\": \"latest\",\n \"architecture\": \"x64\"\n + \ },\n \"Win2019Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2019-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2016Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2016-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2012R2Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2012-R2-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2012Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2012-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2008R2SP1\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2008-R2-SP1\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n }\n }\n }\n }\n }\n}" + headers: + accept-ranges: + - bytes + access-control-allow-origin: + - '*' + cache-control: + - max-age=300 + connection: + - keep-alive + content-length: + - '3463' + content-security-policy: + - default-src 'none'; style-src 'unsafe-inline'; sandbox + content-type: + - text/plain; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:05 GMT + etag: + - W/"41b202f4dc5098d126019dc00721a4c5e30df0c5196794514fadc3710ee2a5cb" + expires: + - Wed, 22 Feb 2023 07:49:05 GMT + source-age: + - '131' + strict-transport-security: + - max-age=31536000 + vary: + - Authorization,Accept-Encoding,Origin + via: + - 1.1 varnish + x-cache: + - HIT + x-cache-hits: + - '1' + x-content-type-options: + - nosniff + x-fastly-request-id: + - aa8a48e922f9a48d3f539dc85797fb6375ef6fc6 + x-frame-options: + - deny + x-github-request-id: + - 523C:6DCF:80C5E:C29DF:63E2283D + x-served-by: + - cache-qpg1254-QPG + x-timer: + - S1677051846.731089,VS0,VE1 + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions?$top=1&$orderby=name%20desc&api-version=2022-11-01 + response: + body: + string: "[\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n + \ }\r\n]" + headers: + cache-control: + - no-cache + content-length: + - '286' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/ListVMImagesVersionsFromLocation3Min;15999,Microsoft.Compute/ListVMImagesVersionsFromLocation30Min;43999 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions/18.04.202302100?api-version=2022-11-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"architecture\": + \"x64\",\r\n \"replicaType\": \"Unmanaged\",\r\n \"disallowed\": {\r\n + \ \"vmDiskType\": \"None\"\r\n },\r\n \"automaticOSUpgradeProperties\": + {\r\n \"automaticOSUpgradeSupported\": true\r\n },\r\n \"imageDeprecationStatus\": + {\r\n \"imageState\": \"Active\"\r\n },\r\n \"features\": [\r\n + \ {\r\n \"name\": \"IsAcceleratedNetworkSupported\",\r\n \"value\": + \"True\"\r\n },\r\n {\r\n \"name\": \"DiskControllerTypes\",\r\n + \ \"value\": \"SCSI, NVMe\"\r\n },\r\n {\r\n \"name\": + \"IsHibernateSupported\",\r\n \"value\": \"True\"\r\n }\r\n ],\r\n + \ \"osDiskImage\": {\r\n \"operatingSystem\": \"Linux\",\r\n \"sizeInGb\": + 31,\r\n \"sizeInBytes\": 32213303808\r\n },\r\n \"dataDiskImages\": + []\r\n },\r\n \"location\": \"eastus\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1048' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMImageFromLocation3Min;12999,Microsoft.Compute/GetVMImageFromLocation30Min;73999 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-network/21.0.1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/virtualNetworks?api-version=2022-01-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/vmSizes?api-version=2022-11-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"Standard_B1ls\",\r\n + \ \"numberOfCores\": 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096,\r\n \"memoryInMB\": 512,\r\n \"maxDataDiskCount\": 2\r\n },\r\n + \ {\r\n \"name\": \"Standard_B1ms\",\r\n \"numberOfCores\": 1,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 4096,\r\n + \ \"memoryInMB\": 2048,\r\n \"maxDataDiskCount\": 2\r\n },\r\n + \ {\r\n \"name\": \"Standard_B1s\",\r\n \"numberOfCores\": 1,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 4096,\r\n + \ \"memoryInMB\": 1024,\r\n \"maxDataDiskCount\": 2\r\n },\r\n + \ {\r\n \"name\": \"Standard_B2ms\",\r\n \"numberOfCores\": 2,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 16384,\r\n + \ \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_B2s\",\r\n \"numberOfCores\": 2,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 8192,\r\n + \ \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_B4ms\",\r\n \"numberOfCores\": 4,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 32768,\r\n + \ \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_B8ms\",\r\n \"numberOfCores\": 8,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 65536,\r\n + \ \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_B12ms\",\r\n \"numberOfCores\": 12,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 98304,\r\n + \ \"memoryInMB\": 49152,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_B16ms\",\r\n \"numberOfCores\": 16,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 131072,\r\n + \ \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_B20ms\",\r\n \"numberOfCores\": 20,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 163840,\r\n + \ \"memoryInMB\": 81920,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_DS1_v2\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 7168,\r\n \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS2_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 14336,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS3_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS4_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS5_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS11-1_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS11_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS12-1_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS12-2_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS12_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS13-2_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS13-4_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS13_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS14-4_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 229376,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS14-8_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 229376,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS14_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 229376,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS15_v2\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 286720,\r\n \"memoryInMB\": 143360,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS2_v2_Promo\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 14336,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS3_v2_Promo\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS4_v2_Promo\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS5_v2_Promo\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS11_v2_Promo\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS12_v2_Promo\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS13_v2_Promo\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS14_v2_Promo\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 229376,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_F1s\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096,\r\n \"memoryInMB\": 2048,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_F2s\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8192,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_F4s\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_F8s\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F16s\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2s_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4s_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4_v4\",\r\n \"numberOfCores\": 4,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8_v4\",\r\n \"numberOfCores\": 8,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2d_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4d_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8d_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16d_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20d_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32d_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2s_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4-2s_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4s_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-2s_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-4s_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8s_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16-4s_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8s_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16s_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20s_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8s_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16s_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32s_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2ds_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4-2ds_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4ds_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-2ds_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-4ds_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8ds_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-4ds_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8ds_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16ds_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20ds_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8ds_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16ds_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32ds_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2d_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4d_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8d_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16d_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32d_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48d_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64d_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4_v4\",\r\n \"numberOfCores\": 4,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8_v4\",\r\n \"numberOfCores\": 8,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2ds_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4ds_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8ds_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16ds_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32ds_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48ds_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64ds_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2s_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4s_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8s_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16s_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32s_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48s_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64s_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D1_v2\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D3_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D5_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_D11_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D12_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D13_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D14_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_D15_v2\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 143360,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2_v2_Promo\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D3_v2_Promo\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4_v2_Promo\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D5_v2_Promo\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_D11_v2_Promo\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D12_v2_Promo\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D13_v2_Promo\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D14_v2_Promo\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_F1\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384,\r\n \"memoryInMB\": 2048,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_F2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_F4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_F8\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F16\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_A1_v2\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 10240,\r\n \"memoryInMB\": 2048,\r\n \"maxDataDiskCount\": 2\r\n + \ },\r\n {\r\n \"name\": \"Standard_A2m_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 20480,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_A2_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 20480,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_A4m_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 40960,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_A4_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 40960,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_A8m_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 81920,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_A8_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 81920,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1638400,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48s_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 393216,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64s_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20_v3\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 512000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2s_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4-2s_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4s_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-2s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-4s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-4s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20s_v3\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 327680,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F2s_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_F4s_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_F8s_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_F16s_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F32s_v2\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F48s_v2\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 393216,\r\n \"memoryInMB\": 98304,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F64s_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_F72s_v2\",\r\n \"numberOfCores\": + 72,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 589824,\r\n \"memoryInMB\": 147456,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M64\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8192000,\r\n \"memoryInMB\": 1024000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M64m\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8192000,\r\n \"memoryInMB\": 1792000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384000,\r\n \"memoryInMB\": 2048000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128m\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384000,\r\n \"memoryInMB\": 3891200,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M8-2ms\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 256000,\r\n \"memoryInMB\": 224000,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_M8-4ms\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 256000,\r\n \"memoryInMB\": 224000,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_M8ms\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 256000,\r\n \"memoryInMB\": 224000,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_M16-4ms\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 512000,\r\n \"memoryInMB\": 448000,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_M16-8ms\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 512000,\r\n \"memoryInMB\": 448000,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_M16ms\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 512000,\r\n \"memoryInMB\": 448000,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32-8ms\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 896000,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32-16ms\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 896000,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32ls\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32ms\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 896000,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32ts\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1024000,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M64-16ms\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2048000,\r\n \"memoryInMB\": 1792000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M64-32ms\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2048000,\r\n \"memoryInMB\": 1792000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M64ls\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2048000,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M64ms\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2048000,\r\n \"memoryInMB\": 1792000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M64s\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2097152,\r\n \"memoryInMB\": 1048576,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128-32ms\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096000,\r\n \"memoryInMB\": 3891200,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128-64ms\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096000,\r\n \"memoryInMB\": 3891200,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128ms\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096000,\r\n \"memoryInMB\": 3891200,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128s\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4096000,\r\n \"memoryInMB\": 2048000,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M32ms_v2\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 896000,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M64ms_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 1835008,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M64s_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 1048576,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M128ms_v2\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 3985408,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M128s_v2\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 2097152,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M192ims_v2\",\r\n \"numberOfCores\": + 192,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 4194304,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M192is_v2\",\r\n \"numberOfCores\": + 192,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 2097152,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M32dms_v2\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1048576,\r\n \"memoryInMB\": 896000,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_M64dms_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2097152,\r\n \"memoryInMB\": 1835008,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M64ds_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2097152,\r\n \"memoryInMB\": 1048576,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128dms_v2\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 3985408,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M128ds_v2\",\r\n \"numberOfCores\": + 128,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 2097152,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M192idms_v2\",\r\n \"numberOfCores\": + 192,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 4194304,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M192ids_v2\",\r\n \"numberOfCores\": + 192,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 2097152,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_DC2as_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC4as_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC8as_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC16as_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC32as_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC48as_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC64as_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC96as_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC2ads_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC4ads_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC8ads_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC16ads_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC32ads_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC48ads_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC64ads_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC96ads_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC2as_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_EC4as_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_EC8as_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_EC16as_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC20as_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC32as_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC48as_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC64as_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC96as_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC96ias_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC2ads_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC4ads_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC8ads_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC16ads_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC20ads_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC32ads_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC48ads_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC64ads_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC96ads_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_EC96iads_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2a_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4a_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8a_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16a_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32a_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48a_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64a_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1638400,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96a_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2as_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 16384,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4as_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8as_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16as_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32as_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48as_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 393216,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64as_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96as_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 786432,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2a_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4a_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8a_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16a_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20a_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 512000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32a_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48a_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64a_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1638400,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96a_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2as_v4\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 32768,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4-2as_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4as_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-2as_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-4as_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8as_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-4as_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8as_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16as_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20as_v4\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 327680,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8as_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16as_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32as_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 524288,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48as_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 786432,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16as_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32as_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64as_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-24as_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-48as_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96as_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96ias_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1638400,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48s_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 786432,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16s_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32s_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64s_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_A0\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 20480,\r\n \"memoryInMB\": 768,\r\n \"maxDataDiskCount\": 1\r\n + \ },\r\n {\r\n \"name\": \"Standard_A1\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 71680,\r\n \"memoryInMB\": 1792,\r\n \"maxDataDiskCount\": 2\r\n + \ },\r\n {\r\n \"name\": \"Standard_A2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 138240,\r\n \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_A3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 291840,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_A5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 138240,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_A4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 619520,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_A6\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 291840,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_A7\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 619520,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Basic_A0\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 20480,\r\n \"memoryInMB\": 768,\r\n \"maxDataDiskCount\": 1\r\n + \ },\r\n {\r\n \"name\": \"Basic_A1\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 40960,\r\n \"memoryInMB\": 1792,\r\n \"maxDataDiskCount\": 2\r\n + \ },\r\n {\r\n \"name\": \"Basic_A2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 61440,\r\n \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Basic_A3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 122880,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Basic_A4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 245760,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2ds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4ds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8ds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16ds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32ds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48ds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64ds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96ds_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2d_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4d_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8d_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16d_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32d_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48d_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64d_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96d_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2s_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4s_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8s_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16s_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32s_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48s_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64s_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96s_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4_v5\",\r\n \"numberOfCores\": 4,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8_v5\",\r\n \"numberOfCores\": 8,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48ds_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16ds_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32ds_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64ds_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2ds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4-2ds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4ds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-2ds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-4ds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8ds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-4ds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8ds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16ds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20ds_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8ds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16ds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32ds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48ds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16ds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32ds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64ds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-24ds_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-48ds_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96ds_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E104ids_v5\",\r\n \"numberOfCores\": + 104,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3891200,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48d_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64d_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2d_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4d_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8d_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16d_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20d_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32d_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48d_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64d_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96d_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E104id_v5\",\r\n \"numberOfCores\": + 104,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3891200,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48s_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16s_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32s_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64s_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2s_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4-2s_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4s_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-2s_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-4s_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8s_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16-4s_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8s_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16s_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20s_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8s_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16s_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32s_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48s_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16s_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32s_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64s_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-24s_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-48s_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96s_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E104is_v5\",\r\n \"numberOfCores\": + 104,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64_v4\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4_v5\",\r\n \"numberOfCores\": 4,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8_v5\",\r\n \"numberOfCores\": 8,\r\n + \ \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": 0,\r\n + \ \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E104i_v5\",\r\n \"numberOfCores\": + 104,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2bs_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4bs_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8bs_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16bs_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32bs_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48bs_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64bs_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2bds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4bds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8bds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16bds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32bds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48bds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64bds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2as_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4as_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8as_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16as_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32as_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48as_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64as_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96as_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2ads_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4ads_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8ads_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16ads_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32ads_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48ads_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64ads_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2ls_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4ls_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8ls_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16ls_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32ls_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D48ls_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 98304,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D64ls_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96ls_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2lds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4lds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8lds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16lds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32lds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48lds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 98304,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64lds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96lds_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D1\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D11\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D12\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D13\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D14\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS1\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 7168,\r\n \"memoryInMB\": 3584,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 14336,\r\n \"memoryInMB\": 7168,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS11\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 28672,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS12\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 57344,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS13\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 114688,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DS14\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 229376,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_E80is_v4\",\r\n \"numberOfCores\": + 80,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_E80ids_v4\",\r\n \"numberOfCores\": + 80,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4362240,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_M208ms_v2\",\r\n \"numberOfCores\": + 208,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 5836800,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M208s_v2\",\r\n \"numberOfCores\": + 208,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 4194304,\r\n \"memoryInMB\": 2918400,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M416-208s_v2\",\r\n \"numberOfCores\": + 416,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8388608,\r\n \"memoryInMB\": 5836800,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M416s_v2\",\r\n \"numberOfCores\": + 416,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8388608,\r\n \"memoryInMB\": 5836800,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M416-208ms_v2\",\r\n \"numberOfCores\": + 416,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8388608,\r\n \"memoryInMB\": 11673600,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_M416ms_v2\",\r\n \"numberOfCores\": + 416,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 8388608,\r\n \"memoryInMB\": 11673600,\r\n \"maxDataDiskCount\": + 64\r\n },\r\n {\r\n \"name\": \"Standard_E64i_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1638400,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64is_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 884736,\r\n \"memoryInMB\": 442368,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV6\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 389120,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV12\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 696320,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 48\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV24\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV6_Promo\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 389120,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV12_Promo\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 696320,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 48\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV24_Promo\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_L8s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 81920,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_L16s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 163840,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L32s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 327680,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L48s_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L64s_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 655360,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L80s_v3\",\r\n \"numberOfCores\": + 80,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 655360,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC4as_T4_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 180224,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC8as_T4_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 360448,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC16as_T4_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 360448,\r\n \"memoryInMB\": 112640,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC64as_T4_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2883584,\r\n \"memoryInMB\": 450560,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV6s_v2\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 344064,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 12\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV12s_v2\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 688128,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV24s_v2\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV12s_v3\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 344064,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 12\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV24s_v3\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 688128,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV48s_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3018752,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB120-16rs_v2\",\r\n \"numberOfCores\": + 120,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 466944,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB120-32rs_v2\",\r\n \"numberOfCores\": + 120,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 466944,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB120-64rs_v2\",\r\n \"numberOfCores\": + 120,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 466944,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB120-96rs_v2\",\r\n \"numberOfCores\": + 120,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 466944,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB120rs_v2\",\r\n \"numberOfCores\": + 120,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 466944,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2plds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4plds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8plds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16plds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32plds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48plds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 98304,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64plds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2pls_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4pls_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8pls_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16pls_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32pls_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D48pls_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 98304,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D64pls_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2pds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_D4pds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_D8pds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_D16pds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D32pds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48pds_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64pds_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 212992,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D2ps_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_D4ps_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_D8ps_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_D16ps_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_D32ps_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D48ps_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D64ps_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 212992,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2pds_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4pds_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8pds_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16pds_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20pds_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32pds_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 212992,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2ps_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4ps_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8ps_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16ps_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20ps_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32ps_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 212992,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L8as_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 81920,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_L16as_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 163840,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L32as_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 327680,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L48as_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L64as_v3\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 655360,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L80as_v3\",\r\n \"numberOfCores\": + 80,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 655360,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2as_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4-2as_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E4as_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-2as_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8-4as_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E8as_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_E16-4as_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8as_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16as_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20as_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8as_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16as_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32as_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48as_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16as_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32as_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64as_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-24as_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-48as_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96as_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_D96ads_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E2ads_v5\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4-2ads_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E4ads_v5\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-2ads_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8-4ads_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E8ads_v5\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-4ads_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16-8ads_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E16ads_v5\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E20ads_v5\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 768000,\r\n \"memoryInMB\": 163840,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-8ads_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32-16ads_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E32ads_v5\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E48ads_v5\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-16ads_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64-32ads_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E64ads_v5\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-24ads_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96-48ads_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_E96ads_v5\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3686400,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC6s_v2\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 344064,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 12\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC12s_v2\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 688128,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24rs_v2\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24s_v2\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC6\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 389120,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC12\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 696320,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 48\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24r\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC6_Promo\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 389120,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC12_Promo\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 696320,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 48\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24_Promo\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24r_Promo\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_L8s_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 81920,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_L16s_v2\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 163840,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L32s_v2\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 327680,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L48s_v2\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L64s_v2\",\r\n \"numberOfCores\": + 64,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 655360,\r\n \"memoryInMB\": 524288,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_L80s_v2\",\r\n \"numberOfCores\": + 80,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 819200,\r\n \"memoryInMB\": 655360,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV6ads_A10_v5\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 184320,\r\n \"memoryInMB\": 56320,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV12ads_A10_v5\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 368640,\r\n \"memoryInMB\": 112640,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV18ads_A10_v5\",\r\n \"numberOfCores\": + 18,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 737280,\r\n \"memoryInMB\": 225280,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV36adms_A10_v5\",\r\n \"numberOfCores\": + 36,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2949120,\r\n \"memoryInMB\": 901120,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV36ads_A10_v5\",\r\n \"numberOfCores\": + 36,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1474560,\r\n \"memoryInMB\": 450560,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV72ads_A10_v5\",\r\n \"numberOfCores\": + 72,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2949120,\r\n \"memoryInMB\": 901120,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC8_v2\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 409600,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC1s_v2\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 51200,\r\n \"memoryInMB\": 4096,\r\n \"maxDataDiskCount\": 1\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC2s_v2\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 2\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC4s_v2\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_ND40rs_v2\",\r\n \"numberOfCores\": + 40,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2969600,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_FX4mds\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 172032,\r\n \"memoryInMB\": 86016,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_FX12mds\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 516096,\r\n \"memoryInMB\": 258048,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_FX24mds\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1032192,\r\n \"memoryInMB\": 516096,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_FX36mds\",\r\n \"numberOfCores\": + 36,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1548288,\r\n \"memoryInMB\": 774144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_FX48mds\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2064384,\r\n \"memoryInMB\": 1032192,\r\n \"maxDataDiskCount\": + 32\r\n },\r\n {\r\n \"name\": \"Standard_E112ias_v5\",\r\n \"numberOfCores\": + 112,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_E112iads_v5\",\r\n \"numberOfCores\": + 112,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3891200,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 64\r\n + \ },\r\n {\r\n \"name\": \"Standard_NP10s\",\r\n \"numberOfCores\": + 10,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 753664,\r\n \"memoryInMB\": 172032,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_NP20s\",\r\n \"numberOfCores\": + 20,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1509376,\r\n \"memoryInMB\": 344064,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_NP40s\",\r\n \"numberOfCores\": + 40,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3018752,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24ads_A100_v4\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 65536,\r\n \"memoryInMB\": 225280,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC48ads_A100_v4\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 131072,\r\n \"memoryInMB\": 450560,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC96ads_A100_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 262144,\r\n \"memoryInMB\": 901120,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_ND96amsr_A100_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2969600,\r\n \"memoryInMB\": 1970176,\r\n \"maxDataDiskCount\": + 16\r\n },\r\n {\r\n \"name\": \"Standard_DC1s_v3\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC2s_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC4s_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC8s_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n },\r\n + \ {\r\n \"name\": \"Standard_DC16s_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC24s_v3\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC32s_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC48s_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 0,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC1ds_v3\",\r\n \"numberOfCores\": + 1,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 76800,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC2ds_v3\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 153600,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC4ds_v3\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 307200,\r\n \"memoryInMB\": 32768,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC8ds_v3\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 614400,\r\n \"memoryInMB\": 65536,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC16ds_v3\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1228800,\r\n \"memoryInMB\": 131072,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC24ds_v3\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1843200,\r\n \"memoryInMB\": 196608,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC32ds_v3\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 262144,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC48ds_v3\",\r\n \"numberOfCores\": + 48,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2457600,\r\n \"memoryInMB\": 393216,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV4as_v4\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 90112,\r\n \"memoryInMB\": 14336,\r\n \"maxDataDiskCount\": 8\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV8as_v4\",\r\n \"numberOfCores\": + 8,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 180224,\r\n \"memoryInMB\": 28672,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV16as_v4\",\r\n \"numberOfCores\": + 16,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 360448,\r\n \"memoryInMB\": 57344,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NV32as_v4\",\r\n \"numberOfCores\": + 32,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 720896,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB120-16rs_v3\",\r\n \"numberOfCores\": + 120,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB120-32rs_v3\",\r\n \"numberOfCores\": + 120,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB120-64rs_v3\",\r\n \"numberOfCores\": + 120,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB120-96rs_v3\",\r\n \"numberOfCores\": + 120,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB120rs_v3\",\r\n \"numberOfCores\": + 120,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 491520,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC6s_v3\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 344064,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 12\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC12s_v3\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 688128,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24rs_v3\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3018752,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_NC24s_v3\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_HC44-16rs\",\r\n \"numberOfCores\": + 44,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 716800,\r\n \"memoryInMB\": 360448,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_HC44-32rs\",\r\n \"numberOfCores\": + 44,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 716800,\r\n \"memoryInMB\": 360448,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_HC44rs\",\r\n \"numberOfCores\": + 44,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 716800,\r\n \"memoryInMB\": 360448,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_ND6s\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 344064,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 12\r\n + \ },\r\n {\r\n \"name\": \"Standard_ND12s\",\r\n \"numberOfCores\": + 12,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 688128,\r\n \"memoryInMB\": 229376,\r\n \"maxDataDiskCount\": 24\r\n + \ },\r\n {\r\n \"name\": \"Standard_ND24rs\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 3018752,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_ND24s\",\r\n \"numberOfCores\": + 24,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 1376256,\r\n \"memoryInMB\": 458752,\r\n \"maxDataDiskCount\": 32\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC2s\",\r\n \"numberOfCores\": + 2,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 102400,\r\n \"memoryInMB\": 8192,\r\n \"maxDataDiskCount\": 2\r\n + \ },\r\n {\r\n \"name\": \"Standard_DC4s\",\r\n \"numberOfCores\": + 4,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 204800,\r\n \"memoryInMB\": 16384,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_PB6s\",\r\n \"numberOfCores\": + 6,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 344064,\r\n \"memoryInMB\": 114688,\r\n \"maxDataDiskCount\": 12\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB60-15rs\",\r\n \"numberOfCores\": + 60,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 716800,\r\n \"memoryInMB\": 233472,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB60-30rs\",\r\n \"numberOfCores\": + 60,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 716800,\r\n \"memoryInMB\": 233472,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB60-45rs\",\r\n \"numberOfCores\": + 60,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 716800,\r\n \"memoryInMB\": 233472,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_HB60rs\",\r\n \"numberOfCores\": + 60,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 716800,\r\n \"memoryInMB\": 233472,\r\n \"maxDataDiskCount\": 4\r\n + \ },\r\n {\r\n \"name\": \"Standard_ND96asr_v4\",\r\n \"numberOfCores\": + 96,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 2969600,\r\n \"memoryInMB\": 921600,\r\n \"maxDataDiskCount\": 16\r\n + \ },\r\n {\r\n \"name\": \"Standard_ND40s_v3\",\r\n \"numberOfCores\": + 40,\r\n \"osDiskSizeInMB\": 1047552,\r\n \"resourceDiskSizeInMB\": + 39630000,\r\n \"memoryInMB\": 688128,\r\n \"maxDataDiskCount\": + 32\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '144807' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetSubscriptionInfo3Min;359 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.26.0 + method: GET + uri: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/arm-compute/quickstart-templates/aliases.json + response: + body: + string: "{\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json\",\n + \ \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {},\n \"variables\": + {},\n \"resources\": [],\n \"outputs\": {\n \"aliases\": {\n \"type\": + \"object\",\n \"value\": {\n \"Linux\": {\n \"CentOS\": + {\n \"publisher\": \"OpenLogic\",\n \"offer\": \"CentOS\",\n + \ \"sku\": \"7.5\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Debian\": {\n \"publisher\": + \"Debian\",\n \"offer\": \"debian-10\",\n \"sku\": \"10\",\n + \ \"version\": \"latest\",\n \"architecture\": \"x64\"\n + \ },\n \"Flatcar\": {\n \"publisher\": \"kinvolk\",\n + \ \"offer\": \"flatcar-container-linux-free\",\n \"sku\": + \"stable\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"openSUSE-Leap\": {\n \"publisher\": + \"SUSE\",\n \"offer\": \"opensuse-leap-15-3\",\n \"sku\": + \"gen2\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"RHEL\": {\n \"publisher\": \"RedHat\",\n + \ \"offer\": \"RHEL\",\n \"sku\": \"7-LVM\",\n \"version\": + \"latest\",\n \"architecture\": \"x64\"\n },\n \"SLES\": + {\n \"publisher\": \"SUSE\",\n \"offer\": \"sles-15-sp3\",\n + \ \"sku\": \"gen2\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"UbuntuLTS\": {\n \"publisher\": + \"Canonical\",\n \"offer\": \"UbuntuServer\",\n \"sku\": + \"18.04-LTS\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n }\n },\n \"Windows\": {\n \"Win2022Datacenter\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2022-Datacenter\",\n \"version\": + \"latest\",\n \"architecture\": \"x64\"\n },\n \"Win2022AzureEditionCore\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2022-datacenter-azure-edition-core\",\n + \ \"version\": \"latest\",\n \"architecture\": \"x64\"\n + \ },\n \"Win2019Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2019-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2016Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2016-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2012R2Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2012-R2-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2012Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2012-Datacenter\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n },\n \"Win2008R2SP1\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2008-R2-SP1\",\n \"version\": \"latest\",\n \"architecture\": + \"x64\"\n }\n }\n }\n }\n }\n}" + headers: + accept-ranges: + - bytes + access-control-allow-origin: + - '*' + cache-control: + - max-age=300 + connection: + - keep-alive + content-length: + - '3463' + content-security-policy: + - default-src 'none'; style-src 'unsafe-inline'; sandbox + content-type: + - text/plain; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:12 GMT + etag: + - W/"41b202f4dc5098d126019dc00721a4c5e30df0c5196794514fadc3710ee2a5cb" + expires: + - Wed, 22 Feb 2023 07:49:12 GMT + source-age: + - '138' + strict-transport-security: + - max-age=31536000 + vary: + - Authorization,Accept-Encoding,Origin + via: + - 1.1 varnish + x-cache: + - HIT + x-cache-hits: + - '1' + x-content-type-options: + - nosniff + x-fastly-request-id: + - 4342e2d183ea758a0e4314a97e316a91f6a78bf5 + x-frame-options: + - deny + x-github-request-id: + - 523C:6DCF:80C5E:C29DF:63E2283D + x-served-by: + - cache-qpg1280-QPG + x-timer: + - S1677051853.817133,VS0,VE1 + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions?$top=1&$orderby=name%20desc&api-version=2022-11-01 + response: + body: + string: "[\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n + \ }\r\n]" + headers: + cache-control: + - no-cache + content-length: + - '286' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/ListVMImagesVersionsFromLocation3Min;15998,Microsoft.Compute/ListVMImagesVersionsFromLocation30Min;43998 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions/18.04.202302100?api-version=2022-11-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"architecture\": + \"x64\",\r\n \"replicaType\": \"Unmanaged\",\r\n \"disallowed\": {\r\n + \ \"vmDiskType\": \"None\"\r\n },\r\n \"automaticOSUpgradeProperties\": + {\r\n \"automaticOSUpgradeSupported\": true\r\n },\r\n \"imageDeprecationStatus\": + {\r\n \"imageState\": \"Active\"\r\n },\r\n \"features\": [\r\n + \ {\r\n \"name\": \"IsAcceleratedNetworkSupported\",\r\n \"value\": + \"True\"\r\n },\r\n {\r\n \"name\": \"DiskControllerTypes\",\r\n + \ \"value\": \"SCSI, NVMe\"\r\n },\r\n {\r\n \"name\": + \"IsHibernateSupported\",\r\n \"value\": \"True\"\r\n }\r\n ],\r\n + \ \"osDiskImage\": {\r\n \"operatingSystem\": \"Linux\",\r\n \"sizeInGb\": + 31,\r\n \"sizeInBytes\": 32213303808\r\n },\r\n \"dataDiskImages\": + []\r\n },\r\n \"location\": \"eastus\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1048' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMImageFromLocation3Min;12998,Microsoft.Compute/GetVMImageFromLocation30Min;73998 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions?$top=1&$orderby=name%20desc&api-version=2022-11-01 + response: + body: + string: "[\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n + \ }\r\n]" + headers: + cache-control: + - no-cache + content-length: + - '286' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/ListVMImagesVersionsFromLocation3Min;15997,Microsoft.Compute/ListVMImagesVersionsFromLocation30Min;43997 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions/18.04.202302100?api-version=2022-11-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"architecture\": + \"x64\",\r\n \"replicaType\": \"Unmanaged\",\r\n \"disallowed\": {\r\n + \ \"vmDiskType\": \"None\"\r\n },\r\n \"automaticOSUpgradeProperties\": + {\r\n \"automaticOSUpgradeSupported\": true\r\n },\r\n \"imageDeprecationStatus\": + {\r\n \"imageState\": \"Active\"\r\n },\r\n \"features\": [\r\n + \ {\r\n \"name\": \"IsAcceleratedNetworkSupported\",\r\n \"value\": + \"True\"\r\n },\r\n {\r\n \"name\": \"DiskControllerTypes\",\r\n + \ \"value\": \"SCSI, NVMe\"\r\n },\r\n {\r\n \"name\": + \"IsHibernateSupported\",\r\n \"value\": \"True\"\r\n }\r\n ],\r\n + \ \"osDiskImage\": {\r\n \"operatingSystem\": \"Linux\",\r\n \"sizeInGb\": + 31,\r\n \"sizeInBytes\": 32213303808\r\n },\r\n \"dataDiskImages\": + []\r\n },\r\n \"location\": \"eastus\",\r\n \"name\": \"18.04.202302100\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202302100\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1048' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMImageFromLocation3Min;12997,Microsoft.Compute/GetVMImageFromLocation30Min;73997 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": + [{"name": "sourcevmVNET", "type": "Microsoft.Network/virtualNetworks", "location": + "eastus", "apiVersion": "2015-06-15", "dependsOn": [], "tags": {}, "properties": + {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "subnets": [{"name": + "sourcevmSubnet", "properties": {"addressPrefix": "10.0.0.0/24"}}]}}, {"type": + "Microsoft.Network/networkSecurityGroups", "name": "sourcevmNSG", "apiVersion": + "2015-06-15", "location": "eastus", "tags": {}, "dependsOn": []}, {"apiVersion": + "2022-01-01", "type": "Microsoft.Network/publicIPAddresses", "name": "sourcevmPublicIP", + "location": "eastus", "tags": {}, "dependsOn": [], "properties": {"publicIPAllocationMethod": + null}}, {"apiVersion": "2015-06-15", "type": "Microsoft.Network/networkInterfaces", + "name": "sourcevmVMNic", "location": "eastus", "tags": {}, "dependsOn": ["Microsoft.Network/virtualNetworks/sourcevmVNET", + "Microsoft.Network/networkSecurityGroups/sourcevmNSG", "Microsoft.Network/publicIpAddresses/sourcevmPublicIP"], + "properties": {"ipConfigurations": [{"name": "ipconfigsourcevm", "properties": + {"privateIPAllocationMethod": "Dynamic", "subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/virtualNetworks/sourcevmVNET/subnets/sourcevmSubnet"}, + "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/publicIPAddresses/sourcevmPublicIP"}}}], + "networkSecurityGroup": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkSecurityGroups/sourcevmNSG"}}}, + {"apiVersion": "2022-11-01", "type": "Microsoft.Compute/virtualMachines", "name": + "sourcevm", "location": "eastus", "tags": {}, "dependsOn": ["Microsoft.Network/networkInterfaces/sourcevmVMNic"], + "properties": {"hardwareProfile": {"vmSize": "Standard_D4s_v3"}, "networkProfile": + {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkInterfaces/sourcevmVMNic", + "properties": {"deleteOption": null}}]}, "storageProfile": {"osDisk": {"createOption": + "fromImage", "name": null, "caching": "ReadWrite", "managedDisk": {"storageAccountType": + null}}, "imageReference": {"publisher": "Canonical", "offer": "UbuntuServer", + "sku": "18.04-LTS", "version": "latest"}}, "osProfile": {"computerName": "sourcevm", + "adminUsername": "ubuntuuser", "linuxConfiguration": {"disablePasswordAuthentication": + true, "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDy4KT6QZuyFbmWDdF/Vdc7B8PzU/TrgtnZNHofoVGpHUY9emsn6t3OhrT8y+he9stKP+CfcOEhR38Rn8gCJXdeo6VX3OyeCrkPMw+PZEj+TJi3Yp+N/BXritww+I8HFF+vihoKBPFP3DQSeq7VMQWGfFmf67Dm0r2F8CLvnqWPcrBx14GelF4vg3P3dDltHh9ZedEcNYA1b0+BcupL8249JVsv38oSMw3bTxTVzFzLY0KCgQno2HOt0VsZSvIp76UO4io4msPdmJm1NLIJ4s5YK6lHdnp8w+kuZi/pZyQx8GKbKjEqaxQaPDy5tHE5ohvIxqwZcewN7rlUJ3ZVYibd", + "path": "/home/ubuntuuser/.ssh/authorized_keys"}]}}}}}], "outputs": {}}, "parameters": + {}, "mode": "incremental"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + Content-Length: + - '3287' + Content-Type: + - application/json + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-storagemover-rg/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Resources/deployments/vm_deploy_vxukcmVYPhZwF4kYrrkBQ7dZAt5oXmXE","name":"vm_deploy_vxukcmVYPhZwF4kYrrkBQ7dZAt5oXmXE","type":"Microsoft.Resources/deployments","properties":{"templateHash":"17013478730198629692","parameters":{},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2023-02-22T07:44:27.1641683Z","duration":"PT0.0002418S","correlationId":"cd2ca31a-391a-437c-8585-e7a4e4e2ce74","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/virtualNetworks/sourcevmVNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"sourcevmVNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkSecurityGroups/sourcevmNSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"sourcevmNSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/publicIPAddresses/sourcevmPublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"sourcevmPublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkInterfaces/sourcevmVMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"sourcevmVMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkInterfaces/sourcevmVMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"sourcevmVMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Compute/virtualMachines/sourcevm","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"sourcevm"}]}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-storagemover-rg/providers/Microsoft.Resources/deployments/vm_deploy_vxukcmVYPhZwF4kYrrkBQ7dZAt5oXmXE/operationStatuses/08585245550219125379?api-version=2021-04-01 + cache-control: + - no-cache + content-length: + - '2418' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:28 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-storagemover-rg/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585245550219125379?api-version=2021-04-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:44:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-storagemover-rg/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585245550219125379?api-version=2021-04-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:45:29 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-storagemover-rg/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585245550219125379?api-version=2021-04-01 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-storagemover-rg/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Resources/deployments/vm_deploy_vxukcmVYPhZwF4kYrrkBQ7dZAt5oXmXE","name":"vm_deploy_vxukcmVYPhZwF4kYrrkBQ7dZAt5oXmXE","type":"Microsoft.Resources/deployments","properties":{"templateHash":"17013478730198629692","parameters":{},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2023-02-22T07:45:30.4543314Z","duration":"PT1M3.2904049S","correlationId":"cd2ca31a-391a-437c-8585-e7a4e4e2ce74","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/virtualNetworks/sourcevmVNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"sourcevmVNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkSecurityGroups/sourcevmNSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"sourcevmNSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/publicIPAddresses/sourcevmPublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"sourcevmPublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkInterfaces/sourcevmVMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"sourcevmVMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkInterfaces/sourcevmVMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"sourcevmVMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Compute/virtualMachines/sourcevm","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"sourcevm"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Compute/virtualMachines/sourcevm"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkInterfaces/sourcevmVMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkSecurityGroups/sourcevmNSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/publicIPAddresses/sourcevmPublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/virtualNetworks/sourcevmVNET"}]}}' + headers: + cache-control: + - no-cache + content-length: + - '3234' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-compute/29.1.0 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Compute/virtualMachines/sourcevm?$expand=instanceView&api-version=2022-11-01 + response: + body: + string: "{\r\n \"name\": \"sourcevm\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Compute/virtualMachines/sourcevm\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"33d4de22-a7c7-4c07-ac0f-e529707c9355\",\r\n + \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_D4s_v3\"\r\n },\r\n + \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": + \"Canonical\",\r\n \"offer\": \"UbuntuServer\",\r\n \"sku\": + \"18.04-LTS\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": + \"18.04.202302100\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"Linux\",\r\n \"name\": \"sourcevm_OsDisk_1_7176b5b9791a480696063996668c5410\",\r\n + \ \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n + \ \"managedDisk\": {\r\n \"storageAccountType\": \"Premium_LRS\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Compute/disks/sourcevm_OsDisk_1_7176b5b9791a480696063996668c5410\"\r\n + \ },\r\n \"deleteOption\": \"Detach\",\r\n \"diskSizeGB\": + 30\r\n },\r\n \"dataDisks\": []\r\n },\r\n \"osProfile\": + {\r\n \"computerName\": \"sourcevm\",\r\n \"adminUsername\": \"ubuntuuser\",\r\n + \ \"linuxConfiguration\": {\r\n \"disablePasswordAuthentication\": + true,\r\n \"ssh\": {\r\n \"publicKeys\": [\r\n {\r\n + \ \"path\": \"/home/ubuntuuser/.ssh/authorized_keys\",\r\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDy4KT6QZuyFbmWDdF/Vdc7B8PzU/TrgtnZNHofoVGpHUY9emsn6t3OhrT8y+he9stKP+CfcOEhR38Rn8gCJXdeo6VX3OyeCrkPMw+PZEj+TJi3Yp+N/BXritww+I8HFF+vihoKBPFP3DQSeq7VMQWGfFmf67Dm0r2F8CLvnqWPcrBx14GelF4vg3P3dDltHh9ZedEcNYA1b0+BcupL8249JVsv38oSMw3bTxTVzFzLY0KCgQno2HOt0VsZSvIp76UO4io4msPdmJm1NLIJ4s5YK6lHdnp8w+kuZi/pZyQx8GKbKjEqaxQaPDy5tHE5ohvIxqwZcewN7rlUJ3ZVYibd\"\r\n + \ }\r\n ]\r\n },\r\n \"provisionVMAgent\": + true,\r\n \"patchSettings\": {\r\n \"patchMode\": \"ImageDefault\",\r\n + \ \"assessmentMode\": \"ImageDefault\"\r\n },\r\n \"enableVMAgentPlatformUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"networkProfile\": + {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkInterfaces/sourcevmVMNic\"}]},\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"instanceView\": {\r\n \"computerName\": + \"sourcevm\",\r\n \"osName\": \"ubuntu\",\r\n \"osVersion\": \"18.04\",\r\n + \ \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.9.0.4\",\r\n \"statuses\": + [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n + \ \"message\": \"Guest Agent is running\",\r\n \"time\": + \"2023-02-22T07:45:36+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": + []\r\n },\r\n \"disks\": [\r\n {\r\n \"name\": \"sourcevm_OsDisk_1_7176b5b9791a480696063996668c5410\",\r\n + \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning + succeeded\",\r\n \"time\": \"2023-02-22T07:44:54.3671633+00:00\"\r\n + \ }\r\n ]\r\n }\r\n ],\r\n \"hyperVGeneration\": + \"V1\",\r\n \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning + succeeded\",\r\n \"time\": \"2023-02-22T07:45:23.0235506+00:00\"\r\n + \ },\r\n {\r\n \"code\": \"PowerState/running\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"VM running\"\r\n + \ }\r\n ]\r\n },\r\n \"timeCreated\": \"2023-02-22T07:44:51.5858997+00:00\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3894' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/LowCostGet3Min;3997,Microsoft.Compute/LowCostGet30Min;31997 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-network/21.0.1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkInterfaces/sourcevmVMNic?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"sourcevmVMNic\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkInterfaces/sourcevmVMNic\",\r\n + \ \"etag\": \"W/\\\"a908a23d-7091-48ae-b508-fa5a70150004\\\"\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"9791e58f-b897-452e-97ad-91af0ada72f5\",\r\n \"ipConfigurations\": + [\r\n {\r\n \"name\": \"ipconfigsourcevm\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkInterfaces/sourcevmVMNic/ipConfigurations/ipconfigsourcevm\",\r\n + \ \"etag\": \"W/\\\"a908a23d-7091-48ae-b508-fa5a70150004\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": + \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/publicIPAddresses/sourcevmPublicIP\"\r\n + \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/virtualNetworks/sourcevmVNET/subnets/sourcevmSubnet\"\r\n + \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": + \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": + [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": + \"bd2sefxo1f5u3fj5wweomxhawe.bx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": + \"00-22-48-1E-8C-20\",\r\n \"enableAcceleratedNetworking\": false,\r\n + \ \"vnetEncryptionSupported\": false,\r\n \"enableIPForwarding\": false,\r\n + \ \"networkSecurityGroup\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkSecurityGroups/sourcevmNSG\"\r\n + \ },\r\n \"primary\": true,\r\n \"virtualMachine\": {\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Compute/virtualMachines/sourcevm\"\r\n + \ },\r\n \"hostedWorkloads\": [],\r\n \"tapConfigurations\": [],\r\n + \ \"nicType\": \"Standard\",\r\n \"allowPort25Out\": true\r\n },\r\n + \ \"type\": \"Microsoft.Network/networkInterfaces\",\r\n \"location\": \"eastus\",\r\n + \ \"kind\": \"Regular\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2464' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:04 GMT + etag: + - W/"a908a23d-7091-48ae-b508-fa5a70150004" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - eca1a23f-5acd-49e3-84b1-e247c761511d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vm create + Connection: + - keep-alive + ParameterSetName: + - -n -g --image --size --nsg-rule --admin-username --generate-ssh-keys + User-Agent: + - AZURECLI/2.45.0 (PIP) azsdk-python-azure-mgmt-network/21.0.1 Python/3.9.6 + (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/publicIPAddresses/sourcevmPublicIP?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"sourcevmPublicIP\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/publicIPAddresses/sourcevmPublicIP\",\r\n + \ \"etag\": \"W/\\\"6d0a776a-c3bc-4aa0-9b04-71a580d773bf\\\"\",\r\n \"location\": + \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"resourceGuid\": \"a61b56e0-252f-472e-a136-fa958f6d535c\",\r\n + \ \"ipAddress\": \"20.124.107.176\",\r\n \"publicIPAddressVersion\": + \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": + 4,\r\n \"ipTags\": [],\r\n \"ipConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Network/networkInterfaces/sourcevmVMNic/ipConfigurations/ipconfigsourcevm\"\r\n + \ }\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n + \ \"sku\": {\r\n \"name\": \"Basic\",\r\n \"tier\": \"Regional\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '933' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:05 GMT + etag: + - W/"6d0a776a-c3bc-4aa0-9b04-71a580d773bf" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - b818eb58-3fbd-4466-af0e-42a35bc34b17 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "srcendpointDesc", "endpointType": "NfsMount", + "export": "exportfolder", "host": "20.124.107.176", "nfsVersion": "NFSv4"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint create-for-nfs + Connection: + - keep-alive + Content-Length: + - '153' + Content-Type: + - application/json + ParameterSetName: + - -g --storage-mover-name -n --description --export --nfs-version --host + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/sourceendpoint?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/sourceendpoint","name":"sourceendpoint","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-22T07:46:07.743486Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-22T07:46:07.743486Z"},"properties":{"host":"20.124.107.176","nfsVersion":"NFSv4","export":"exportfolder","endpointType":"NfsMount","description":"srcendpointDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '677' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:10 GMT + etag: + - '"0000cdac-0000-0100-0000-63f5c8420000"' + expires: + - '-1' + mise-correlation-id: + - 0e2612e6-f145-4fd6-bb23-9693769c1e9e + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "tgtendpointDesc", "endpointType": "AzureStorageBlobContainer", + "blobContainerName": "targetcontainer", "storageAccountResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Storage/storageAccounts/testjobdefinitionsa2"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover endpoint create-for-storage-container + Connection: + - keep-alive + Content-Length: + - '319' + Content-Type: + - application/json + ParameterSetName: + - -g --storage-mover-name -n --container-name --storage-account-id --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/targetendpoint?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/targetendpoint","name":"targetendpoint","type":"microsoft.storagemover/storagemovers/endpoints","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-22T07:46:11.7355787Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-22T07:46:11.7355787Z"},"properties":{"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Storage/storageAccounts/testjobdefinitionsa2","blobContainerName":"targetcontainer","endpointType":"AzureStorageBlobContainer","description":"tgtendpointDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '847' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:13 GMT + etag: + - '"0000ceac-0000-0100-0000-63f5c8450000"' + expires: + - '-1' + mise-correlation-id: + - 376faba4-feac-4785-99d8-4cdfee3b6095 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"agentName": "testagent", "copyMode": "Additive", "description": + "JobDefinitionDescription", "sourceName": "sourceendpoint", "sourceSubpath": + "path1", "targetName": "targetendpoint", "targetSubpath": "path2"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition create + Connection: + - keep-alive + Content-Length: + - '225' + Content-Type: + - application/json + ParameterSetName: + - -g -n --project-name --storage-mover-name --copy-mode --source-name --target-name + --agent-name --description --source-subpath --target-subpath + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","name":"testdefinition","type":"microsoft.storagemover/storagemovers/projects/jobdefinitions","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-22T07:46:14.8319935Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-22T07:46:14.8319935Z"},"properties":{"copyMode":"Additive","sourceName":"sourceendpoint","sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/sourceendpoint","sourceSubpath":"path1","targetName":"targetendpoint","targetResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/targetendpoint","targetSubpath":"path2","agentName":"testagent","agentResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","description":"JobDefinitionDescription","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1372' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:17 GMT + etag: + - '"0000645b-0000-0100-0000-63f5c8490000"' + expires: + - '-1' + mise-correlation-id: + - 9be6ebda-ccd0-41ad-9031-a431c55bfba4 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition show + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","name":"testdefinition","type":"microsoft.storagemover/storagemovers/projects/jobdefinitions","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-22T07:46:14.8319935Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-22T07:46:14.8319935Z"},"properties":{"copyMode":"Additive","sourceName":"sourceendpoint","sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/sourceendpoint","sourceSubpath":"path1","targetName":"targetendpoint","targetResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/targetendpoint","targetSubpath":"path2","agentName":"testagent","agentResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","description":"JobDefinitionDescription","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1372' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:19 GMT + etag: + - '"0000645b-0000-0100-0000-63f5c8490000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"agentName": "testagent", "copyMode": "Mirror", "description": + "JobDefinitionDescription2"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition update + Connection: + - keep-alive + Content-Length: + - '108' + Content-Type: + - application/json + ParameterSetName: + - -g -n --project-name --storage-mover-name --copy-mode --agent-name --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","name":"testdefinition","type":"microsoft.storagemover/storagemovers/projects/jobdefinitions","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-22T07:46:14.8319935Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-22T07:46:19.7836379Z"},"properties":{"copyMode":"Mirror","sourceName":"sourceendpoint","sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/sourceendpoint","sourceSubpath":"path1","targetName":"targetendpoint","targetResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/targetendpoint","targetSubpath":"path2","agentName":"testagent","agentResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","description":"JobDefinitionDescription2","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1371' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:20 GMT + etag: + - '"0000655b-0000-0100-0000-63f5c84d0000"' + expires: + - '-1' + mise-correlation-id: + - 9933964f-4233-419e-9211-005a514ca1e1 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition list + Connection: + - keep-alive + ParameterSetName: + - -g --project-name --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions?api-version=2023-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","name":"testdefinition","type":"microsoft.storagemover/storagemovers/projects/jobdefinitions","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-22T07:46:14.8319935Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-22T07:46:19.7836379Z"},"properties":{"copyMode":"Mirror","sourceName":"sourceendpoint","sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/sourceendpoint","sourceSubpath":"path1","targetName":"targetendpoint","targetResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/targetendpoint","targetSubpath":"path2","agentName":"testagent","agentResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","description":"JobDefinitionDescription2","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1383' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition start-job + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --job-definition-name --project-name --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition/startJob?api-version=2023-03-01 + response: + body: + string: '{"jobRunResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition/jobRuns/4001b948-0224-4b30-9fdc-f636ad8d5636"}' + headers: + cache-control: + - no-cache + content-length: + - '270' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:26 GMT + expires: + - '-1' + mise-correlation-id: + - b33c289a-a226-4fca-951e-8251dcd9408a + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-run list + Connection: + - keep-alive + ParameterSetName: + - -g --job-definition-name --project-name --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition/jobRuns?api-version=2023-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition/jobRuns/4001b948-0224-4b30-9fdc-f636ad8d5636","name":"4001b948-0224-4b30-9fdc-f636ad8d5636","type":"microsoft.storagemover/storagemovers/projects/jobdefinitions/jobruns","systemData":{"createdBy":"aed824f0-6446-4ef9-9e17-98b0157c09dc","createdByType":"Application","createdAt":"2023-02-22T07:46:26.0641416Z","lastModifiedBy":"aed824f0-6446-4ef9-9e17-98b0157c09dc","lastModifiedByType":"Application","lastModifiedAt":"2023-02-22T07:46:26.0641416Z"},"properties":{"status":"Queued","agentName":"testagent","agentResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","lastStatusUpdate":"2023-02-22T07:46:25.9777912Z","sourceName":"sourceendpoint","sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/sourceendpoint","sourceProperties":{"host":"20.124.107.176","nfsVersion":"NFSv4","export":"exportfolder","endpointType":"NfsMount","description":"srcendpointDesc","provisioningState":"Succeeded"},"targetName":"targetendpoint","targetResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/targetendpoint","targetProperties":{"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Storage/storageAccounts/testjobdefinitionsa2","blobContainerName":"targetcontainer","endpointType":"AzureStorageBlobContainer","description":"tgtendpointDesc","provisioningState":"Succeeded"},"jobDefinitionProperties":{"copyMode":"Mirror","sourceName":"sourceendpoint","sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/sourceendpoint","sourceSubpath":"path1","targetName":"targetendpoint","targetResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/targetendpoint","targetSubpath":"path2","latestJobRunName":"4001b948-0224-4b30-9fdc-f636ad8d5636","latestJobRunResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition/jobRuns/4001b948-0224-4b30-9fdc-f636ad8d5636","latestJobRunStatus":"Queued","agentName":"testagent","agentResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","internalMetadata":{"jobDefinitionId":"88310d28-6b71-4f8f-b6bd-6ed8efd3d8c4"},"description":"JobDefinitionDescription2","provisioningState":"Succeeded"},"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '3262' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:29 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition stop-job + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --job-definition-name --project-name --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition/stopJob?api-version=2023-03-01 + response: + body: + string: '{"jobRunResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition/jobRuns//subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition/jobRuns/4001b948-0224-4b30-9fdc-f636ad8d5636"}' + headers: + cache-control: + - no-cache + content-length: + - '481' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:32 GMT + expires: + - '-1' + mise-correlation-id: + - d77900f4-5f1c-4d64-8a74-65196f0ee667 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-run show + Connection: + - keep-alive + ParameterSetName: + - -n -g --job-definition-name --project-name --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition/jobRuns/4001b948-0224-4b30-9fdc-f636ad8d5636?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition/jobRuns/4001b948-0224-4b30-9fdc-f636ad8d5636","name":"4001b948-0224-4b30-9fdc-f636ad8d5636","type":"microsoft.storagemover/storagemovers/projects/jobdefinitions/jobruns","systemData":{"createdBy":"aed824f0-6446-4ef9-9e17-98b0157c09dc","createdByType":"Application","createdAt":"2023-02-22T07:46:26.0641416Z","lastModifiedBy":"aed824f0-6446-4ef9-9e17-98b0157c09dc","lastModifiedByType":"Application","lastModifiedAt":"2023-02-22T07:46:32.3226323Z"},"properties":{"status":"CancelRequested","agentName":"testagent","agentResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","lastStatusUpdate":"2023-02-22T07:46:25.9777912Z","sourceName":"sourceendpoint","sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/sourceendpoint","sourceProperties":{"host":"20.124.107.176","nfsVersion":"NFSv4","export":"exportfolder","endpointType":"NfsMount","description":"srcendpointDesc","provisioningState":"Succeeded"},"targetName":"targetendpoint","targetResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/targetendpoint","targetProperties":{"storageAccountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.Storage/storageAccounts/testjobdefinitionsa2","blobContainerName":"targetcontainer","endpointType":"AzureStorageBlobContainer","description":"tgtendpointDesc","provisioningState":"Succeeded"},"jobDefinitionProperties":{"copyMode":"Mirror","sourceName":"sourceendpoint","sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/sourceendpoint","sourceSubpath":"path1","targetName":"targetendpoint","targetResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/endpoints/targetendpoint","targetSubpath":"path2","latestJobRunName":"4001b948-0224-4b30-9fdc-f636ad8d5636","latestJobRunResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition/jobRuns/4001b948-0224-4b30-9fdc-f636ad8d5636","latestJobRunStatus":"Queued","agentName":"testagent","agentResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/agents/testagent","internalMetadata":{"jobDefinitionId":"88310d28-6b71-4f8f-b6bd-6ed8efd3d8c4"},"description":"JobDefinitionDescription2","provisioningState":"Succeeded"},"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '3259' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:34 GMT + etag: + - '"ff02861f-0000-0100-0000-63f5c8580000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition?api-version=2023-03-01 + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:46:36 GMT + etag: + - '"0000685b-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + mise-correlation-id: + - e5b55bf6-cdd3-4634-9fdb-f43656ece978 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:47:07 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:47:39 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:48:09 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:48:40 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:49:11 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:49:42 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:50:12 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:50:44 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:51:15 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:51:46 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:52:18 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:52:48 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:53:19 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:53:50 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:54:22 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:54:53 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:55:24 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:55:54 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:56:26 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:56:56 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:57:28 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:57:58 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:58:29 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:59:00 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 07:59:32 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:00:03 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:00:33 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:01:05 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Deleting","startTime":"2023-02-22T07:46:36.4293166Z"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:01:35 GMT + etag: + - '"07005358-0000-0100-0000-63f5c85c0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Succeeded","startTime":"2023-02-22T07:46:36.4293166Z","endTime":"2023-02-22T08:01:40.9885138Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '682' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:02:07 GMT + etag: + - '"07006259-0000-0100-0000-63f5cbe40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --project-name --storage-mover-name -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS/operationStatuses/11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","name":"11ae41a3-cf71-4128-b51c-9e2f6a77688c*1CD552982EA8CD3D830D2762680BF6B090405F80B4DF3DFE9E14F918C0E962EE","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions/testdefinition","status":"Succeeded","startTime":"2023-02-22T07:46:36.4293166Z","endTime":"2023-02-22T08:01:40.9885138Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '682' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:02:07 GMT + etag: + - '"07006259-0000-0100-0000-63f5cbe40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover job-definition list + Connection: + - keep-alive + ParameterSetName: + - -g --project-name --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-storagemover-rg/providers/Microsoft.StorageMover/storageMovers/teststoragemover/projects/testproject/jobDefinitions?api-version=2023-03-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 22 Feb 2023 08:02:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +version: 1 diff --git a/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_project_scenarios.yaml b/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_project_scenarios.yaml new file mode 100644 index 00000000000..0a1f463d383 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_project_scenarios.yaml @@ -0,0 +1,503 @@ +interactions: +- request: + body: '{"location": "eastus2", "properties": {"description": "MoverDesc"}, "tags": + {"key1": "value1"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover create + Connection: + - keep-alive + Content-Length: + - '95' + Content-Type: + - application/json + ParameterSetName: + - -g -n -l --tags --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002","name":"storage-mover000002","type":"microsoft.storagemover/storagemovers","location":"eastus2","tags":{"key1":"value1"},"systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:51:58.9316991Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:51:58.9316991Z"},"properties":{"description":"MoverDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '593' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:01 GMT + etag: + - '"04000663-0000-0100-0000-63f46a0f0000"' + expires: + - '-1' + mise-correlation-id: + - 890739cc-817e-4a93-9b25-521b654915cb + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "ProjectDesc"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover project create + Connection: + - keep-alive + Content-Length: + - '46' + Content-Type: + - application/json + ParameterSetName: + - -g --storage-mover-name -n --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003","name":"project000003","type":"microsoft.storagemover/storagemovers/projects","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:02.6681671Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:52:02.6681671Z"},"properties":{"description":"ProjectDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '575' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:03 GMT + etag: + - '"d802bff5-0000-0100-0000-63f46a130000"' + expires: + - '-1' + mise-correlation-id: + - a75ccd1d-9e9d-4a62-9f2f-9533fecd393a + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover project show + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name -n + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003","name":"project000003","type":"microsoft.storagemover/storagemovers/projects","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:02.6681671Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:52:02.6681671Z"},"properties":{"description":"ProjectDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '575' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:05 GMT + etag: + - '"d802bff5-0000-0100-0000-63f46a130000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover project list + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects?api-version=2023-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003","name":"project000003","type":"microsoft.storagemover/storagemovers/projects","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:02.6681671Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:52:02.6681671Z"},"properties":{"description":"ProjectDesc","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '587' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:07 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover project update + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name -n --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003","name":"project000003","type":"microsoft.storagemover/storagemovers/projects","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:02.6681671Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:52:02.6681671Z"},"properties":{"description":"ProjectDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '575' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:07 GMT + etag: + - '"d802bff5-0000-0100-0000-63f46a130000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "ProjectDesc2"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover project update + Connection: + - keep-alive + Content-Length: + - '47' + Content-Type: + - application/json + ParameterSetName: + - -g --storage-mover-name -n --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003","name":"project000003","type":"microsoft.storagemover/storagemovers/projects","systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:52:02.6681671Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:52:08.8823264Z"},"properties":{"provisioningState":"Succeeded","description":"ProjectDesc2"}}' + headers: + cache-control: + - no-cache + content-length: + - '576' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:08 GMT + etag: + - '"d8027ff6-0000-0100-0000-63f46a190000"' + expires: + - '-1' + mise-correlation-id: + - 1df1c29d-248c-4549-a96c-3bf9616f4303 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover project delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --storage-mover-name -n -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003?api-version=2023-03-01 + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/d7010e0e-d559-466e-9338-1fbab25a987e*D4A58D872DA0FF69A350992AA69680E15E96BC8974713908F6D8A1B400264471?api-version=2023-03-01 + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:11 GMT + etag: + - '"d802d7f6-0000-0100-0000-63f46a1b0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/d7010e0e-d559-466e-9338-1fbab25a987e*D4A58D872DA0FF69A350992AA69680E15E96BC8974713908F6D8A1B400264471?api-version=2023-03-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover project delete + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name -n -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/d7010e0e-d559-466e-9338-1fbab25a987e*D4A58D872DA0FF69A350992AA69680E15E96BC8974713908F6D8A1B400264471?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/d7010e0e-d559-466e-9338-1fbab25a987e*D4A58D872DA0FF69A350992AA69680E15E96BC8974713908F6D8A1B400264471","name":"d7010e0e-d559-466e-9338-1fbab25a987e*D4A58D872DA0FF69A350992AA69680E15E96BC8974713908F6D8A1B400264471","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003","status":"Succeeded","startTime":"2023-02-21T06:52:11.4455964Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '613' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:42 GMT + etag: + - '"05009e0c-0000-4d00-0000-63f46a310000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover project delete + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name -n -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/d7010e0e-d559-466e-9338-1fbab25a987e*D4A58D872DA0FF69A350992AA69680E15E96BC8974713908F6D8A1B400264471?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/d7010e0e-d559-466e-9338-1fbab25a987e*D4A58D872DA0FF69A350992AA69680E15E96BC8974713908F6D8A1B400264471","name":"d7010e0e-d559-466e-9338-1fbab25a987e*D4A58D872DA0FF69A350992AA69680E15E96BC8974713908F6D8A1B400264471","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects/project000003","status":"Succeeded","startTime":"2023-02-21T06:52:11.4455964Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '613' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:42 GMT + etag: + - '"05009e0c-0000-4d00-0000-63f46a310000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover project list + Connection: + - keep-alive + ParameterSetName: + - -g --storage-mover-name + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002/projects?api-version=2023-03-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:44 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +version: 1 diff --git a/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_scenarios.yaml b/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_scenarios.yaml new file mode 100644 index 00000000000..23979d9eaf1 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/tests/latest/recordings/test_storage_mover_scenarios.yaml @@ -0,0 +1,403 @@ +interactions: +- request: + body: '{"location": "eastus2", "properties": {"description": "ExampleDesc"}, "tags": + {"key1": "value1"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover create + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json + ParameterSetName: + - -g -n -l --tags --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002","name":"storage-mover000002","type":"microsoft.storagemover/storagemovers","location":"eastus2","tags":{"key1":"value1"},"systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:51:57.7497652Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:51:57.7497652Z"},"properties":{"description":"ExampleDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '595' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:01 GMT + etag: + - '"04000563-0000-0100-0000-63f46a0e0000"' + expires: + - '-1' + mise-correlation-id: + - ce4f54e4-ab7f-46ef-abe8-747b8f42f77b + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002","name":"storage-mover000002","type":"microsoft.storagemover/storagemovers","location":"eastus2","tags":{"key1":"value1"},"systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:51:57.7497652Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:51:57.7497652Z"},"properties":{"description":"ExampleDesc","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '595' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:01 GMT + etag: + - '"04000563-0000-0100-0000-63f46a0e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers?api-version=2023-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002","name":"storage-mover000002","type":"microsoft.storagemover/storagemovers","location":"eastus2","tags":{"key1":"value1"},"systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:51:57.7497652Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:51:57.7497652Z"},"properties":{"description":"ExampleDesc","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '607' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:03 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 83fa22d5-bc65-476b-aa03-e90ef024fa53 + - c9d94b9c-b182-4ce8-a18e-d9d91e0030e9 + - 48463766-23ab-454a-bd0a-0ab4ecafc3c2 + - 14f6883d-3679-443e-bb55-7dd6c759ffc7 + - fd639395-efec-4212-a88a-d530f3156b2a + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "ExampleDesc2"}, "tags": {"key2": "value2"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover update + Connection: + - keep-alive + Content-Length: + - '75' + Content-Type: + - application/json + ParameterSetName: + - -g -n --tags --description + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002","name":"storage-mover000002","type":"microsoft.storagemover/storagemovers","location":"eastus2","tags":{"key2":"value2"},"systemData":{"createdBy":"zhiyihuang@microsoft.com","createdByType":"User","createdAt":"2023-02-21T06:51:57.7497652Z","lastModifiedBy":"zhiyihuang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-02-21T06:52:04.9285362Z"},"properties":{"description":"ExampleDesc2","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '596' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:08 GMT + etag: + - '"04000763-0000-0100-0000-63f46a150000"' + expires: + - '-1' + mise-correlation-id: + - 1a7343ae-d618-4c01-a300-3e50b10af40b + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002?api-version=2023-03-01 + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/705aa74b-d9ec-4b95-adfc-0d2c7dd08a8d*1B19B3AD7BD3298B3A9F08898AFBE68EFEE83BEAC4BB31F4F4E1F857A07F01A0?api-version=2023-03-01 + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:12 GMT + etag: + - '"04000a63-0000-0100-0000-63f46a1c0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/705aa74b-d9ec-4b95-adfc-0d2c7dd08a8d*1B19B3AD7BD3298B3A9F08898AFBE68EFEE83BEAC4BB31F4F4E1F857A07F01A0?api-version=2023-03-01 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover delete + Connection: + - keep-alive + ParameterSetName: + - -g -n -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/705aa74b-d9ec-4b95-adfc-0d2c7dd08a8d*1B19B3AD7BD3298B3A9F08898AFBE68EFEE83BEAC4BB31F4F4E1F857A07F01A0?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/705aa74b-d9ec-4b95-adfc-0d2c7dd08a8d*1B19B3AD7BD3298B3A9F08898AFBE68EFEE83BEAC4BB31F4F4E1F857A07F01A0","name":"705aa74b-d9ec-4b95-adfc-0d2c7dd08a8d*1B19B3AD7BD3298B3A9F08898AFBE68EFEE83BEAC4BB31F4F4E1F857A07F01A0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002","status":"Succeeded","startTime":"2023-02-21T06:52:11.774029Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '589' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:42 GMT + etag: + - '"0600b6f0-0000-0100-0000-63f46a310000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover delete + Connection: + - keep-alive + ParameterSetName: + - -g -n -y + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/705aa74b-d9ec-4b95-adfc-0d2c7dd08a8d*1B19B3AD7BD3298B3A9F08898AFBE68EFEE83BEAC4BB31F4F4E1F857A07F01A0?api-version=2023-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageMover/locations/EASTUS2/operationStatuses/705aa74b-d9ec-4b95-adfc-0d2c7dd08a8d*1B19B3AD7BD3298B3A9F08898AFBE68EFEE83BEAC4BB31F4F4E1F857A07F01A0","name":"705aa74b-d9ec-4b95-adfc-0d2c7dd08a8d*1B19B3AD7BD3298B3A9F08898AFBE68EFEE83BEAC4BB31F4F4E1F857A07F01A0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers/storage-mover000002","status":"Succeeded","startTime":"2023-02-21T06:52:11.774029Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '589' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:42 GMT + etag: + - '"0600b6f0-0000-0100-0000-63f46a310000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-mover list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.45.0 (PIP) (AAZ) azsdk-python-core/1.24.0 Python/3.9.6 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageMover/storageMovers?api-version=2023-03-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 21 Feb 2023 06:52:44 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - cd4b0d90-7772-420d-bb5e-9b763755e964 + - c9948962-5fc3-4aa8-acb1-13baaa2080f0 + - f49d0c49-8e5d-4d1d-b3a5-11f66aecc7b5 + - 603383b3-4599-4c59-8683-31ac5a05040b + - 03a9a675-5954-4a9b-8143-a919fb3af14e + status: + code: 200 + message: OK +version: 1 diff --git a/src/storage-mover/azext_storage_mover/tests/latest/test_storage_mover.py b/src/storage-mover/azext_storage_mover/tests/latest/test_storage_mover.py new file mode 100644 index 00000000000..ec70b3430f3 --- /dev/null +++ b/src/storage-mover/azext_storage_mover/tests/latest/test_storage_mover.py @@ -0,0 +1,213 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +from azure.cli.testsdk import * +import time +from azure.cli.testsdk.scenario_tests import AllowLargeResponse + + +class StorageMoverScenario(ScenarioTest): + @ResourceGroupPreparer(location='eastus2') + def test_storage_mover_scenarios(self, resource_group): + self.kwargs.update({ + "mover_name": self.create_random_name('storage-mover', 24) + }) + self.cmd('az storage-mover create -g {rg} -n {mover_name} -l eastus2 ' + '--tags {{key1:value1}} --description ExampleDesc') + self.cmd('az storage-mover show -g {rg} -n {mover_name}', + checks=[JMESPathCheck('name', self.kwargs.get('mover_name', '')), + JMESPathCheck('location', "eastus2"), + JMESPathCheck('tags', {"key1":"value1"}), + JMESPathCheck('description', "ExampleDesc")]) + self.cmd('az storage-mover list -g {rg}', checks=[JMESPathCheck('length(@)', 1)]) + self.cmd('az storage-mover update -g {rg} -n {mover_name} ' + '--tags {{key2:value2}} --description ExampleDesc2', + checks=[JMESPathCheck('tags', {"key2":"value2"}), + JMESPathCheck('description', "ExampleDesc2")]) + self.cmd('az storage-mover delete -g {rg} -n {mover_name} -y') + self.cmd('az storage-mover list -g {rg}', checks=[JMESPathCheck('length(@)', 0)]) + + @record_only() + # need to manually register agent, first create the rg and the storagemover + # az group create -n test-storagemover-rg -l eastus + # az storage-mover create -n teststoragemover -g test-storagemover-rg + def test_storage_mover_agent_scenarios(self): + self.kwargs.update({ + "rg": "test-storagemover-rg", + "mover_name": "teststoragemover", + "agent_name": "testagent" + }) + self.cmd('az storage-mover agent show -g {rg} -n {agent_name} --storage-mover-name {mover_name}') + self.cmd('az storage-mover agent list -g {rg} --storage-mover-name {mover_name}', + checks=[JMESPathCheck('length(@)', 1)]) + self.cmd('az storage-mover agent update -g {rg} -n {agent_name} --storage-mover-name {mover_name} ' + '--description 123') + self.cmd('az storage-mover agent unregister -g {rg} -n {agent_name} --storage-mover-name {mover_name} -y') + self.cmd('az storage-mover agent list -g {rg} --storage-mover-name {mover_name}', + checks=[JMESPathCheck('length(@)', 0)]) + + @ResourceGroupPreparer(location='eastus2') + @StorageAccountPreparer() + @AllowLargeResponse() + def test_storage_mover_endpoint_scenarios(self, resource_group, storage_account): + self.kwargs.update({ + "mover_name": self.create_random_name('storage-mover', 24), + "container_name": self.create_random_name('container', 24), + "account_name": storage_account, + "account_key": self.cmd('az storage account keys list -n {} -g {} --query "[0].value" ' + '-otsv'.format(storage_account, resource_group)).output, + "account_id": self.cmd('az storage account show -n {} -g {} --query id ' + '-otsv'.format(storage_account, resource_group)).output.strip(), + "endpoint_container": self.create_random_name('endpoint_container', 32), + "endpoint_nfs": self.create_random_name('endpoint_nfs', 32), + "vm_name": self.create_random_name('vm', 24), + }) + self.cmd('az storage-mover create -g {rg} -n {mover_name} -l eastus2 ' + '--tags {{key1:value1}} --description MoverDesc') + # create for storage container + self.cmd('az storage container create -n {container_name} --account-name {account_name} ' + '--account-key {account_key}') + self.cmd('az storage-mover endpoint create-for-storage-container -g {rg} --storage-mover-name {mover_name} ' + '-n {endpoint_container} --container-name {container_name} --storage-account-id {account_id} ' + '--description endpointDesc') + self.cmd('az storage-mover endpoint show -g {rg} --storage-mover-name {mover_name} -n {endpoint_container}', + checks=[JMESPathCheck('name', self.kwargs.get('endpoint_container', '')), + JMESPathCheck('properties.blobContainerName', self.kwargs.get('container_name', '')), + JMESPathCheck('properties.endpointType', "AzureStorageBlobContainer"), + JMESPathCheck('properties.storageAccountResourceId', self.kwargs.get('account_id', '')), + JMESPathCheck('properties.description', "endpointDesc"), + ]) + # create for nfs + vm_ip = self.cmd('az vm create -n {vm_name} -g {rg} --image UbuntuLTS --size Standard_D4s_v3 --nsg-rule ' + 'NONE --admin-username ubuntuuser --generate-ssh-keys').get_output_in_json()["publicIpAddress"] + self.cmd('az storage-mover endpoint create-for-nfs -g {rg} --storage-mover-name {mover_name} ' + '-n {endpoint_nfs} --description endpointDesc --export exportfolder --nfs-version NFSv4 --host '+vm_ip) + self.cmd('az storage-mover endpoint show -g {rg} --storage-mover-name {mover_name} -n {endpoint_nfs}', + checks=[JMESPathCheck('name', self.kwargs.get('endpoint_nfs', '')), + JMESPathCheck('properties.export', "exportfolder"), + JMESPathCheck('properties.endpointType', "NfsMount"), + JMESPathCheck('properties.host', vm_ip), + JMESPathCheck('properties.nfsVersion', "NFSv4"), + JMESPathCheck('properties.description', "endpointDesc")]) + self.cmd('az storage-mover endpoint list -g {rg} --storage-mover-name {mover_name}', + checks=[JMESPathCheck('length(@)', 2)]) + + # update for storage container + self.cmd('az storage-mover endpoint update-for-storage-container -g {rg} --storage-mover-name {mover_name} ' + '-n {endpoint_container} --description endpointDescUpdate ' + '--container-name {container_name} --storage-account-id {account_id}', + checks=[JMESPathCheck('name', self.kwargs.get('endpoint_container', '')), + JMESPathCheck('properties.description', "endpointDescUpdate")]) + + # update for nfs + self.cmd('az storage-mover endpoint update-for-nfs -g {rg} --storage-mover-name {mover_name} ' + '-n {endpoint_nfs} --description endpointDescUpdate ' + '--export exportfolder --nfs-version NFSv4 --host ' + vm_ip, + checks=[JMESPathCheck('name', self.kwargs.get('endpoint_nfs', '')), + JMESPathCheck('properties.description', "endpointDescUpdate")]) + + self.cmd('az storage-mover endpoint delete -g {rg} --storage-mover-name {mover_name} -n {endpoint_nfs} -y') + self.cmd('az storage-mover endpoint list -g {rg} --storage-mover-name {mover_name}', + checks=[JMESPathCheck('length(@)', 1)]) + + @record_only() + # need to manually register agent, first create the rg and the storagemover + # az group create -n test-storagemover-rg -l eastus + # az storage-mover create -n teststoragemover -g test-storagemover-rg + @AllowLargeResponse() + def test_storage_mover_job_definition_scenarios(self): + self.kwargs.update({ + "rg": "test-storagemover-rg", + "mover_name": "teststoragemover", + "agent_name": "testagent", + "project_name": "testproject", + "job_definition": "testdefinition", + "account_name": "testjobdefinitionsa2", + "source_vm": "sourcevm", + "target_container": "targetcontainer", + "source_endpoint": "sourceendpoint", + "target_endpoint": "targetendpoint" + }) + self.cmd('az storage-mover project create -g {rg} --storage-mover-name {mover_name} -n {project_name} ' + '--description ProjectDesc') + self.cmd('az storage account create -n {account_name} -g {rg}') + account_key = self.cmd('az storage account keys list -n {account_name} -g {rg} --query "[0].value" ' + '-otsv').output.strip() + account_id = self.cmd('az storage account show -n {account_name} -g {rg} --query id -otsv').output.strip() + self.kwargs.update({ + "account_key": account_key, + "account_id": account_id + }) + self.cmd('az storage container create -n {target_container} --account-name {account_name} ' + '--account-key {account_key}') + vm_ip = self.cmd('az vm create -n {source_vm} -g {rg} --image UbuntuLTS --size Standard_D4s_v3 --nsg-rule ' + 'NONE --admin-username ubuntuuser --generate-ssh-keys').get_output_in_json()["publicIpAddress"] + self.cmd('az storage-mover endpoint create-for-nfs -g {rg} --storage-mover-name {mover_name} ' + '-n {source_endpoint} --description srcendpointDesc --export exportfolder --nfs-version NFSv4 ' + '--host ' + vm_ip) + self.cmd('az storage-mover endpoint create-for-storage-container -g {rg} --storage-mover-name {mover_name} ' + '-n {target_endpoint} --container-name {target_container} --storage-account-id {account_id} ' + '--description tgtendpointDesc') + self.cmd('az storage-mover job-definition create -g {rg} -n {job_definition} --project-name {project_name} ' + '--storage-mover-name {mover_name} --copy-mode Additive --source-name {source_endpoint} ' + '--target-name {target_endpoint} --agent-name {agent_name} --description JobDefinitionDescription ' + '--source-subpath path1 --target-subpath path2') + self.cmd('az storage-mover job-definition show -g {rg} -n {job_definition} --project-name {project_name} ' + '--storage-mover-name {mover_name}', + checks=[JMESPathCheck('copyMode', 'Additive'), + JMESPathCheck('description ', "JobDefinitionDescription"), + JMESPathCheck('sourceName', self.kwargs.get('source_endpoint')), + JMESPathCheck('targetName', self.kwargs.get('target_endpoint')), + JMESPathCheck('sourceSubpath', "path1"), + JMESPathCheck('targetSubpath', "path2")]) + self.cmd('az storage-mover job-definition update -g {rg} -n {job_definition} --project-name {project_name} ' + '--storage-mover-name {mover_name} --copy-mode Mirror ' + '--agent-name {agent_name} --description JobDefinitionDescription2', + checks=[JMESPathCheck('copyMode', 'Mirror'), + JMESPathCheck('description ', "JobDefinitionDescription2")]) + self.cmd('az storage-mover job-definition list -g {rg} --project-name {project_name} ' + '--storage-mover-name {mover_name}', checks=[JMESPathCheck('length(@)', 1)]) + + # # job run + self.cmd('az storage-mover job-definition start-job -g {rg} --job-definition-name {job_definition} ' + '--project-name {project_name} --storage-mover-name {mover_name}') + job_runs = self.cmd('az storage-mover job-run list -g {rg} --job-definition-name {job_definition} ' + '--project-name {project_name} --storage-mover-name {mover_name}').get_output_in_json() + self.kwargs.update({"job_name": job_runs[0]["name"]}) + self.cmd('az storage-mover job-definition stop-job -g {rg} --job-definition-name {job_definition} ' + '--project-name {project_name} --storage-mover-name {mover_name}') + self.cmd('az storage-mover job-run show -n {job_name} -g {rg} --job-definition-name {job_definition} ' + '--project-name {project_name} --storage-mover-name {mover_name}') + + self.cmd('az storage-mover job-definition delete -g {rg} -n {job_definition} --project-name {project_name} ' + '--storage-mover-name {mover_name} -y') + self.cmd('az storage-mover job-definition list -g {rg} --project-name {project_name} ' + '--storage-mover-name {mover_name}', checks=[JMESPathCheck('length(@)', 0)]) + + + @ResourceGroupPreparer(location='eastus2') + def test_storage_mover_project_scenarios(self, resource_group): + self.kwargs.update({ + "mover_name": self.create_random_name('storage-mover', 24), + "project_name": self.create_random_name('project', 24) + }) + self.cmd('az storage-mover create -g {rg} -n {mover_name} -l eastus2 ' + '--tags {{key1:value1}} --description MoverDesc') + self.cmd('az storage-mover project create -g {rg} --storage-mover-name {mover_name} -n {project_name} ' + '--description ProjectDesc') + self.cmd('az storage-mover project show -g {rg} --storage-mover-name {mover_name} -n {project_name}', + checks=[JMESPathCheck('name', self.kwargs.get('project_name', '')), + JMESPathCheck('description', "ProjectDesc")] + ) + self.cmd('az storage-mover project list -g {rg} --storage-mover-name {mover_name}', + checks=[JMESPathCheck('length(@)', 1)]) + self.cmd('az storage-mover project update -g {rg} --storage-mover-name {mover_name} -n {project_name} ' + '--description ProjectDesc2', + checks=[JMESPathCheck('description', "ProjectDesc2")]) + self.cmd('az storage-mover project delete -g {rg} --storage-mover-name {mover_name} -n {project_name} -y') + self.cmd('az storage-mover project list -g {rg} --storage-mover-name {mover_name}', + checks=[JMESPathCheck('length(@)', 0)]) diff --git a/src/storage-mover/setup.cfg b/src/storage-mover/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/storage-mover/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/storage-mover/setup.py b/src/storage-mover/setup.py new file mode 100644 index 00000000000..ec6b649e67d --- /dev/null +++ b/src/storage-mover/setup.py @@ -0,0 +1,49 @@ +# -------------------------------------------------------------------------------------------- +# 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 aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +from codecs import open +from setuptools import setup, find_packages + + +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'License :: OSI Approved :: MIT License', +] + +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='storage-mover', + version=VERSION, + description='Microsoft Azure Command-Line Tools StorageMover Extension.', + long_description=README + '\n\n' + HISTORY, + license='MIT', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/storage-mover', + classifiers=CLASSIFIERS, + packages=find_packages(exclude=["tests"]), + package_data={'azext_storage_mover': ['azext_metadata.json']}, + install_requires=DEPENDENCIES +)