From 7c556afd55101b9b191c645086225d0357f8bb81 Mon Sep 17 00:00:00 2001 From: Zhiyi Huang <17182306+calvinhzy@users.noreply.github.com> Date: Fri, 21 Jun 2024 14:17:01 +0800 Subject: [PATCH] remove preview version of `az storage account migration` --- src/storage-preview/HISTORY.rst | 4 + .../aaz/latest/__init__.py | 6 - .../aaz/latest/storage/__cmd_group.py | 24 -- .../aaz/latest/storage/__init__.py | 11 - .../aaz/latest/storage/account/__cmd_group.py | 24 -- .../aaz/latest/storage/account/__init__.py | 11 - .../storage/account/migration/__cmd_group.py | 24 -- .../storage/account/migration/__init__.py | 13 -- .../latest/storage/account/migration/_show.py | 207 ------------------ .../storage/account/migration/_start.py | 204 ----------------- .../azext_storage_preview/azext_metadata.json | 2 +- src/storage-preview/setup.py | 2 +- 12 files changed, 6 insertions(+), 526 deletions(-) delete mode 100644 src/storage-preview/azext_storage_preview/aaz/latest/__init__.py delete mode 100644 src/storage-preview/azext_storage_preview/aaz/latest/storage/__cmd_group.py delete mode 100644 src/storage-preview/azext_storage_preview/aaz/latest/storage/__init__.py delete mode 100644 src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__cmd_group.py delete mode 100644 src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__init__.py delete mode 100644 src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__cmd_group.py delete mode 100644 src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__init__.py delete mode 100644 src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_show.py delete mode 100644 src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_start.py diff --git a/src/storage-preview/HISTORY.rst b/src/storage-preview/HISTORY.rst index 191458f144a..9c40ae3472c 100644 --- a/src/storage-preview/HISTORY.rst +++ b/src/storage-preview/HISTORY.rst @@ -2,6 +2,10 @@ Release History =============== +1.0.0b2(2024-06-21) +++++++++++++++++++ +* `az storage account migration start/show`: Remove as it has been GA in main repo + 1.0.0b1(2023-08-11) ++++++++++++++++++ * `az storage account migration start/show`: Support start and show storage account migration diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/__init__.py b/src/storage-preview/azext_storage_preview/aaz/latest/__init__.py deleted file mode 100644 index 5757aea3175..00000000000 --- a/src/storage-preview/azext_storage_preview/aaz/latest/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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-preview/azext_storage_preview/aaz/latest/storage/__cmd_group.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/__cmd_group.py deleted file mode 100644 index 119e290e4b4..00000000000 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/__cmd_group.py +++ /dev/null @@ -1,24 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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", - is_preview=True, -) -class __CMDGroup(AAZCommandGroup): - """Manage Azure Cloud Storage resources. - """ - pass - - -__all__ = ["__CMDGroup"] diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/__init__.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/__init__.py deleted file mode 100644 index 5a9d61963d6..00000000000 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/__init__.py +++ /dev/null @@ -1,11 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 * diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__cmd_group.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__cmd_group.py deleted file mode 100644 index 3cb958cfa52..00000000000 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__cmd_group.py +++ /dev/null @@ -1,24 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 account", - is_preview=True, -) -class __CMDGroup(AAZCommandGroup): - """Manage storage accounts. - """ - pass - - -__all__ = ["__CMDGroup"] diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__init__.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__init__.py deleted file mode 100644 index 5a9d61963d6..00000000000 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__init__.py +++ /dev/null @@ -1,11 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 * diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__cmd_group.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__cmd_group.py deleted file mode 100644 index d7e47628926..00000000000 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__cmd_group.py +++ /dev/null @@ -1,24 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 account migration", - is_preview=True, -) -class __CMDGroup(AAZCommandGroup): - """Manage Storage Account Migration - """ - pass - - -__all__ = ["__CMDGroup"] diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__init__.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__init__.py deleted file mode 100644 index 1a94969d1a6..00000000000 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 ._show import * -from ._start import * diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_show.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_show.py deleted file mode 100644 index 483db27df43..00000000000 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_show.py +++ /dev/null @@ -1,207 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 account migration show", - is_preview=True, -) -class Show(AAZCommand): - """Get the status of the ongoing migration for the specified storage account. - """ - - _aaz_info = { - "version": "2023-01-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storage/storageaccounts/{}/accountmigrations/{}", "2023-01-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.account_name = AAZStrArg( - options=["--account-name"], - help="The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="^[a-z0-9]+$", - max_length=24, - min_length=3, - ), - ) - _args_schema.migration_name = AAZStrArg( - options=["-n", "--name", "--migration-name"], - help="The name of the Storage Account Migration. It should always be 'default'", - required=True, - id_part="child_name_1", - enum={"default": "default"}, - fmt=AAZStrArgFormat( - pattern="^[a-z][a-z0-9]*$", - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.StorageAccountsGetCustomerInitiatedMigration(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 StorageAccountsGetCustomerInitiatedMigration(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.Storage/storageAccounts/{accountName}/accountMigrations/{migrationName}", - **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( - "accountName", self.ctx.args.account_name, - required=True, - ), - **self.serialize_url_param( - "migrationName", self.ctx.args.migration_name, - required=True, - ), - **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-01-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() - _schema_on_200.properties = AAZObjectType( - flags={"required": True, "client_flatten": True}, - ) - _schema_on_200.type = AAZStrType() - - properties = cls._schema_on_200.properties - properties.migration_failed_detailed_reason = AAZStrType( - serialized_name="migrationFailedDetailedReason", - flags={"read_only": True}, - ) - properties.migration_failed_reason = AAZStrType( - serialized_name="migrationFailedReason", - flags={"read_only": True}, - ) - properties.migration_status = AAZStrType( - serialized_name="migrationStatus", - flags={"read_only": True}, - ) - properties.target_sku_name = AAZStrType( - serialized_name="targetSkuName", - flags={"required": True}, - ) - - return cls._schema_on_200 - - -class _ShowHelper: - """Helper class for Show""" - - -__all__ = ["Show"] diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_start.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_start.py deleted file mode 100644 index 6101e2c2510..00000000000 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_start.py +++ /dev/null @@ -1,204 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 account migration start", - is_preview=True, -) -class Start(AAZCommand): - """Account Migration request can be triggered for a storage account to change its redundancy level. The migration updates the non-zonal redundant storage account to a zonal redundant account or vice-versa in order to have better reliability and availability. Zone-redundant storage (ZRS) replicates your storage account synchronously across three Azure availability zones in the primary region. - """ - - _aaz_info = { - "version": "2023-01-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storage/storageaccounts/{}/startaccountmigration", "2023-01-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.account_name = AAZStrArg( - options=["--account-name"], - help="The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="^[a-z0-9]+$", - max_length=24, - min_length=3, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - - # define Arg Group "Parameters" - - _args_schema = cls._args_schema - _args_schema.name = AAZStrArg( - options=["--name"], - arg_group="Parameters", - help="current value is 'default' for customer initiated migration", - ) - _args_schema.type = AAZStrArg( - options=["--type"], - arg_group="Parameters", - help="SrpAccountMigrationType in ARM contract which is 'accountMigrations'", - ) - - # define Arg Group "Properties" - - _args_schema = cls._args_schema - _args_schema.target_sku_name = AAZStrArg( - options=["--sku", "--target-sku-name"], - arg_group="Properties", - help="Target sku name for the account", - required=True, - enum={"Premium_LRS": "Premium_LRS", "Premium_ZRS": "Premium_ZRS", "Standard_GRS": "Standard_GRS", "Standard_GZRS": "Standard_GZRS", "Standard_LRS": "Standard_LRS", "Standard_RAGRS": "Standard_RAGRS", "Standard_RAGZRS": "Standard_RAGZRS", "Standard_ZRS": "Standard_ZRS"}, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - yield self.StorageAccountsCustomerInitiatedMigration(ctx=self.ctx)() - self.post_operations() - - @register_callback - def pre_operations(self): - pass - - @register_callback - def post_operations(self): - pass - - class StorageAccountsCustomerInitiatedMigration(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, - ) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/startAccountMigration", - **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( - "accountName", self.ctx.args.account_name, - required=True, - ), - **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-01-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Content-Type", "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("name", AAZStrType, ".name") - _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) - _builder.set_prop("type", AAZStrType, ".type") - - properties = _builder.get(".properties") - if properties is not None: - properties.set_prop("targetSkuName", AAZStrType, ".target_sku_name", typ_kwargs={"flags": {"required": True}}) - - return self.serialize_content(_content_value) - - def on_200(self, session): - pass - - -class _StartHelper: - """Helper class for Start""" - - -__all__ = ["Start"] diff --git a/src/storage-preview/azext_storage_preview/azext_metadata.json b/src/storage-preview/azext_storage_preview/azext_metadata.json index 8138e860821..916deb3b5c2 100644 --- a/src/storage-preview/azext_storage_preview/azext_metadata.json +++ b/src/storage-preview/azext_storage_preview/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.50.0" + "azext.minCliCoreVersion": "2.57.0" } \ No newline at end of file diff --git a/src/storage-preview/setup.py b/src/storage-preview/setup.py index 6d959552966..f9d5575d403 100644 --- a/src/storage-preview/setup.py +++ b/src/storage-preview/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "1.0.0b1" +VERSION = "1.0.0b2" CLASSIFIERS = [ 'Development Status :: 4 - Beta',