From b3c8a65f06fd9b0741afbdac44948c3f693c7f10 Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Thu, 12 Oct 2023 18:15:52 +0000 Subject: [PATCH 01/12] WIP tests --- src/azurelargeinstance/HISTORY.rst | 8 + src/azurelargeinstance/README.md | 5 + .../azext_azurelargeinstance/__init__.py | 42 ++ .../azext_azurelargeinstance/_help.py | 11 + .../azext_azurelargeinstance/_params.py | 13 + .../azext_azurelargeinstance/aaz/__init__.py | 6 + .../aaz/latest/__init__.py | 6 + .../latest/azurelargeinstance/__cmd_group.py | 23 + .../aaz/latest/azurelargeinstance/__init__.py | 17 + .../aaz/latest/azurelargeinstance/_list.py | 547 ++++++++++++++++++ .../aaz/latest/azurelargeinstance/_restart.py | 313 ++++++++++ .../aaz/latest/azurelargeinstance/_show.py | 311 ++++++++++ .../latest/azurelargeinstance/_shutdown.py | 289 +++++++++ .../aaz/latest/azurelargeinstance/_start.py | 289 +++++++++ .../aaz/latest/azurelargeinstance/_update.py | 344 +++++++++++ .../azurelargestorageinstance/__cmd_group.py | 24 + .../azurelargestorageinstance/__init__.py | 14 + .../latest/azurelargestorageinstance/_list.py | 416 +++++++++++++ .../latest/azurelargestorageinstance/_show.py | 247 ++++++++ .../azurelargestorageinstance/_update.py | 280 +++++++++ .../azext_metadata.json | 4 + .../azext_azurelargeinstance/commands.py | 15 + .../azext_azurelargeinstance/custom.py | 14 + .../tests/__init__.py | 6 + .../tests/latest/__init__.py | 6 + .../tests/latest/test_azurelargeinstance.py | 33 ++ src/azurelargeinstance/setup.cfg | 1 + src/azurelargeinstance/setup.py | 49 ++ 28 files changed, 3333 insertions(+) create mode 100644 src/azurelargeinstance/HISTORY.rst create mode 100644 src/azurelargeinstance/README.md create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/__init__.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/_help.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/_params.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/__init__.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/__init__.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__init__.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__cmd_group.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__init__.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/azext_metadata.json create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/commands.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/custom.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/__init__.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/__init__.py create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py create mode 100644 src/azurelargeinstance/setup.cfg create mode 100644 src/azurelargeinstance/setup.py diff --git a/src/azurelargeinstance/HISTORY.rst b/src/azurelargeinstance/HISTORY.rst new file mode 100644 index 00000000000..abbff5a61a7 --- /dev/null +++ b/src/azurelargeinstance/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +1.0.0b1 +++++++ +* Initial release. \ No newline at end of file diff --git a/src/azurelargeinstance/README.md b/src/azurelargeinstance/README.md new file mode 100644 index 00000000000..dddc2847663 --- /dev/null +++ b/src/azurelargeinstance/README.md @@ -0,0 +1,5 @@ +# Azure CLI Azurelargeinstance Extension # +This is an extension to Azure CLI to manage Azurelargeinstance resources. + +## How to use ## +Please add commands usage here. \ No newline at end of file diff --git a/src/azurelargeinstance/azext_azurelargeinstance/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/__init__.py new file mode 100644 index 00000000000..3c4081efda6 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/__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_azurelargeinstance._help import helps # pylint: disable=unused-import + + +class AzurelargeinstanceCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + custom_command_type = CliCommandType( + operations_tmpl='azext_azurelargeinstance.custom#{}') + super().__init__(cli_ctx=cli_ctx, + custom_command_type=custom_command_type) + + def load_command_table(self, args): + from azext_azurelargeinstance.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_azurelargeinstance._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = AzurelargeinstanceCommandsLoader diff --git a/src/azurelargeinstance/azext_azurelargeinstance/_help.py b/src/azurelargeinstance/azext_azurelargeinstance/_help.py new file mode 100644 index 00000000000..126d5d00714 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/_help.py @@ -0,0 +1,11 @@ +# -------------------------------------------------------------------------------------------- +# 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 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/_params.py b/src/azurelargeinstance/azext_azurelargeinstance/_params.py new file mode 100644 index 00000000000..cfcec717c9c --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/_params.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: disable=too-many-lines +# pylint: disable=too-many-statements + + +def load_arguments(self, _): # pylint: disable=unused-argument + pass diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/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/azurelargeinstance/azext_azurelargeinstance/aaz/latest/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/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/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py new file mode 100644 index 00000000000..a4e69704f0b --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__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( + "azurelargeinstance", +) +class __CMDGroup(AAZCommandGroup): + """Handle Operations for Compute Azure Large Instances. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__init__.py new file mode 100644 index 00000000000..5d057a48206 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__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 ._list import * +from ._restart import * +from ._show import * +from ._shutdown import * +from ._start import * +from ._update import * diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py new file mode 100644 index 00000000000..751d169afe1 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py @@ -0,0 +1,547 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "azurelargeinstance list", +) +class List(AAZCommand): + """Gets a list of Azure Large Instances in the specified subscription + + Gets a list of Azure Large Instances in the specified subscription. The operations returns various properties of each Azure Large Instance. + + :example: To list Azure Large Instances in a specific subscription + az azurelargeinstance list --subscription $SUBSCRIPTIONID + + :example: To list Azure Large Instances in a specific subscription and resource group + az azurelargeinstance list --subscription $SUBSCRIPTIONID --resource-group $RESOURCE_GROUP + """ + + _aaz_info = { + "version": "2023-07-20-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.azurelargeinstance/azurelargeinstance", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance", "2023-07-20-preview"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + 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( + help="The name of the resource group. The name is case insensitive.", + ) + 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.AzureLargeInstanceListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.AzureLargeInstanceListBySubscription(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 AzureLargeInstanceListByResourceGroup(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.AzureLargeInstance/azureLargeInstance", + **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-07-20-preview", + 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", + ) + _schema_on_200.value = AAZListType() + + 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.azure_large_instance_id = AAZStrType( + serialized_name="azureLargeInstanceId", + flags={"read_only": True}, + ) + properties.hardware_profile = AAZObjectType( + serialized_name="hardwareProfile", + ) + properties.hw_revision = AAZStrType( + serialized_name="hwRevision", + flags={"read_only": True}, + ) + properties.network_profile = AAZObjectType( + serialized_name="networkProfile", + ) + properties.os_profile = AAZObjectType( + serialized_name="osProfile", + ) + properties.partner_node_id = AAZStrType( + serialized_name="partnerNodeId", + ) + properties.power_state = AAZStrType( + serialized_name="powerState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.proximity_placement_group = AAZStrType( + serialized_name="proximityPlacementGroup", + flags={"read_only": True}, + ) + properties.storage_profile = AAZObjectType( + serialized_name="storageProfile", + ) + + hardware_profile = cls._schema_on_200.value.Element.properties.hardware_profile + hardware_profile.azure_large_instance_size = AAZStrType( + serialized_name="azureLargeInstanceSize", + flags={"read_only": True}, + ) + hardware_profile.hardware_type = AAZStrType( + serialized_name="hardwareType", + flags={"read_only": True}, + ) + + network_profile = cls._schema_on_200.value.Element.properties.network_profile + network_profile.circuit_id = AAZStrType( + serialized_name="circuitId", + flags={"read_only": True}, + ) + network_profile.network_interfaces = AAZListType( + serialized_name="networkInterfaces", + ) + + network_interfaces = cls._schema_on_200.value.Element.properties.network_profile.network_interfaces + network_interfaces.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.network_profile.network_interfaces.Element + _element.ip_address = AAZStrType( + serialized_name="ipAddress", + ) + + os_profile = cls._schema_on_200.value.Element.properties.os_profile + os_profile.computer_name = AAZStrType( + serialized_name="computerName", + ) + os_profile.os_type = AAZStrType( + serialized_name="osType", + flags={"read_only": True}, + ) + os_profile.ssh_public_key = AAZStrType( + serialized_name="sshPublicKey", + ) + os_profile.version = AAZStrType( + flags={"read_only": True}, + ) + + storage_profile = cls._schema_on_200.value.Element.properties.storage_profile + storage_profile.nfs_ip_address = AAZStrType( + serialized_name="nfsIpAddress", + flags={"read_only": True}, + ) + storage_profile.os_disks = AAZListType( + serialized_name="osDisks", + ) + + os_disks = cls._schema_on_200.value.Element.properties.storage_profile.os_disks + os_disks.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.storage_profile.os_disks.Element + _element.disk_size_gb = AAZIntType( + serialized_name="diskSizeGB", + ) + _element.lun = AAZIntType( + flags={"read_only": True}, + ) + _element.name = 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", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class AzureLargeInstanceListBySubscription(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.AzureLargeInstance/azureLargeInstance", + **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-07-20-preview", + 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", + ) + _schema_on_200.value = AAZListType() + + 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.azure_large_instance_id = AAZStrType( + serialized_name="azureLargeInstanceId", + flags={"read_only": True}, + ) + properties.hardware_profile = AAZObjectType( + serialized_name="hardwareProfile", + ) + properties.hw_revision = AAZStrType( + serialized_name="hwRevision", + flags={"read_only": True}, + ) + properties.network_profile = AAZObjectType( + serialized_name="networkProfile", + ) + properties.os_profile = AAZObjectType( + serialized_name="osProfile", + ) + properties.partner_node_id = AAZStrType( + serialized_name="partnerNodeId", + ) + properties.power_state = AAZStrType( + serialized_name="powerState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.proximity_placement_group = AAZStrType( + serialized_name="proximityPlacementGroup", + flags={"read_only": True}, + ) + properties.storage_profile = AAZObjectType( + serialized_name="storageProfile", + ) + + hardware_profile = cls._schema_on_200.value.Element.properties.hardware_profile + hardware_profile.azure_large_instance_size = AAZStrType( + serialized_name="azureLargeInstanceSize", + flags={"read_only": True}, + ) + hardware_profile.hardware_type = AAZStrType( + serialized_name="hardwareType", + flags={"read_only": True}, + ) + + network_profile = cls._schema_on_200.value.Element.properties.network_profile + network_profile.circuit_id = AAZStrType( + serialized_name="circuitId", + flags={"read_only": True}, + ) + network_profile.network_interfaces = AAZListType( + serialized_name="networkInterfaces", + ) + + network_interfaces = cls._schema_on_200.value.Element.properties.network_profile.network_interfaces + network_interfaces.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.network_profile.network_interfaces.Element + _element.ip_address = AAZStrType( + serialized_name="ipAddress", + ) + + os_profile = cls._schema_on_200.value.Element.properties.os_profile + os_profile.computer_name = AAZStrType( + serialized_name="computerName", + ) + os_profile.os_type = AAZStrType( + serialized_name="osType", + flags={"read_only": True}, + ) + os_profile.ssh_public_key = AAZStrType( + serialized_name="sshPublicKey", + ) + os_profile.version = AAZStrType( + flags={"read_only": True}, + ) + + storage_profile = cls._schema_on_200.value.Element.properties.storage_profile + storage_profile.nfs_ip_address = AAZStrType( + serialized_name="nfsIpAddress", + flags={"read_only": True}, + ) + storage_profile.os_disks = AAZListType( + serialized_name="osDisks", + ) + + os_disks = cls._schema_on_200.value.Element.properties.storage_profile.os_disks + os_disks.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.storage_profile.os_disks.Element + _element.disk_size_gb = AAZIntType( + serialized_name="diskSizeGB", + ) + _element.lun = AAZIntType( + flags={"read_only": True}, + ) + _element.name = 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", + ) + + 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/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py new file mode 100644 index 00000000000..293bfc80d8d --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py @@ -0,0 +1,313 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "azurelargeinstance restart", +) +class Restart(AAZCommand): + """The operation to restart an Azure Large Instance (only for compute instances) + + :example: To restart a specific Azure Large Instance + az azurelargeinstance restart --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME + """ + + _aaz_info = { + "version": "2023-07-20-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance/{}/restart", "2023-07-20-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(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.azure_large_instance_name = AAZStrArg( + options=["--azure-large-instance-name"], + help="Name of the AzureLargeInstance.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern=".*", + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="The name of the resource group. The name is case insensitive.", + required=True, + ) + + # define Arg Group "ForceParameter" + + _args_schema = cls._args_schema + _args_schema.force_state = AAZStrArg( + options=["--force-state"], + arg_group="ForceParameter", + help={"short-summary": "Whether to force restart by shutting all processes.", "long-summary": "When set to 'active', this parameter empowers the server with the ability to forcefully terminate and halt any existing processes that may be running on the server."}, + enum={"active": "active", "inactive": "inactive"}, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.AzureLargeInstanceRestart(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 AzureLargeInstanceRestart(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.AzureLargeInstance/azureLargeInstance/{azureLargeInstanceName}/restart", + **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( + "azureLargeInstanceName", self.ctx.args.azure_large_instance_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-07-20-preview", + 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": {"client_flatten": True}} + ) + _builder.set_prop("forceState", AAZStrType, ".force_state") + + 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() + _RestartHelper._build_schema_operation_status_result_read(cls._schema_on_200) + + return cls._schema_on_200 + + +class _RestartHelper: + """Helper class for Restart""" + + _schema_error_detail_read = None + + @classmethod + def _build_schema_error_detail_read(cls, _schema): + if cls._schema_error_detail_read is not None: + _schema.additional_info = cls._schema_error_detail_read.additional_info + _schema.code = cls._schema_error_detail_read.code + _schema.details = cls._schema_error_detail_read.details + _schema.message = cls._schema_error_detail_read.message + _schema.target = cls._schema_error_detail_read.target + return + + cls._schema_error_detail_read = _schema_error_detail_read = AAZObjectType() + + error_detail_read = _schema_error_detail_read + error_detail_read.additional_info = AAZListType( + serialized_name="additionalInfo", + flags={"read_only": True}, + ) + error_detail_read.code = AAZStrType( + flags={"read_only": True}, + ) + error_detail_read.details = AAZListType( + flags={"read_only": True}, + ) + error_detail_read.message = AAZStrType( + flags={"read_only": True}, + ) + error_detail_read.target = AAZStrType( + flags={"read_only": True}, + ) + + additional_info = _schema_error_detail_read.additional_info + additional_info.Element = AAZObjectType() + + _element = _schema_error_detail_read.additional_info.Element + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + details = _schema_error_detail_read.details + details.Element = AAZObjectType() + cls._build_schema_error_detail_read(details.Element) + + _schema.additional_info = cls._schema_error_detail_read.additional_info + _schema.code = cls._schema_error_detail_read.code + _schema.details = cls._schema_error_detail_read.details + _schema.message = cls._schema_error_detail_read.message + _schema.target = cls._schema_error_detail_read.target + + _schema_operation_status_result_read = None + + @classmethod + def _build_schema_operation_status_result_read(cls, _schema): + if cls._schema_operation_status_result_read is not None: + _schema.end_time = cls._schema_operation_status_result_read.end_time + _schema.error = cls._schema_operation_status_result_read.error + _schema.id = cls._schema_operation_status_result_read.id + _schema.name = cls._schema_operation_status_result_read.name + _schema.operations = cls._schema_operation_status_result_read.operations + _schema.percent_complete = cls._schema_operation_status_result_read.percent_complete + _schema.resource_id = cls._schema_operation_status_result_read.resource_id + _schema.start_time = cls._schema_operation_status_result_read.start_time + _schema.status = cls._schema_operation_status_result_read.status + return + + cls._schema_operation_status_result_read = _schema_operation_status_result_read = AAZObjectType() + + operation_status_result_read = _schema_operation_status_result_read + operation_status_result_read.end_time = AAZStrType( + serialized_name="endTime", + ) + operation_status_result_read.error = AAZObjectType() + cls._build_schema_error_detail_read(operation_status_result_read.error) + operation_status_result_read.id = AAZStrType() + operation_status_result_read.name = AAZStrType() + operation_status_result_read.operations = AAZListType() + operation_status_result_read.percent_complete = AAZFloatType( + serialized_name="percentComplete", + ) + operation_status_result_read.resource_id = AAZStrType( + serialized_name="resourceId", + flags={"read_only": True}, + ) + operation_status_result_read.start_time = AAZStrType( + serialized_name="startTime", + ) + operation_status_result_read.status = AAZStrType( + flags={"required": True}, + ) + + operations = _schema_operation_status_result_read.operations + operations.Element = AAZObjectType() + cls._build_schema_operation_status_result_read(operations.Element) + + _schema.end_time = cls._schema_operation_status_result_read.end_time + _schema.error = cls._schema_operation_status_result_read.error + _schema.id = cls._schema_operation_status_result_read.id + _schema.name = cls._schema_operation_status_result_read.name + _schema.operations = cls._schema_operation_status_result_read.operations + _schema.percent_complete = cls._schema_operation_status_result_read.percent_complete + _schema.resource_id = cls._schema_operation_status_result_read.resource_id + _schema.start_time = cls._schema_operation_status_result_read.start_time + _schema.status = cls._schema_operation_status_result_read.status + + +__all__ = ["Restart"] diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py new file mode 100644 index 00000000000..7129bcc1962 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py @@ -0,0 +1,311 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "azurelargeinstance show", +) +class Show(AAZCommand): + """Get an Azure Large Instance for the specified subscription, resource group, and instance name. + + :example: To show details about a specific AzureLargeInstance + az azurelargeinstance show --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID + """ + + _aaz_info = { + "version": "2023-07-20-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance/{}", "2023-07-20-preview"], + ] + } + + 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.instance_name = AAZStrArg( + options=["-n", "--name", "--instance-name"], + help="Name of the AzureLargeInstance.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern=".*", + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="The name of the resource group. The name is case insensitive.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AzureLargeInstanceGet(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 AzureLargeInstanceGet(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.AzureLargeInstance/azureLargeInstance/{azureLargeInstanceName}", + **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( + "azureLargeInstanceName", self.ctx.args.instance_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-07-20-preview", + 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.azure_large_instance_id = AAZStrType( + serialized_name="azureLargeInstanceId", + flags={"read_only": True}, + ) + properties.hardware_profile = AAZObjectType( + serialized_name="hardwareProfile", + ) + properties.hw_revision = AAZStrType( + serialized_name="hwRevision", + flags={"read_only": True}, + ) + properties.network_profile = AAZObjectType( + serialized_name="networkProfile", + ) + properties.os_profile = AAZObjectType( + serialized_name="osProfile", + ) + properties.partner_node_id = AAZStrType( + serialized_name="partnerNodeId", + ) + properties.power_state = AAZStrType( + serialized_name="powerState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.proximity_placement_group = AAZStrType( + serialized_name="proximityPlacementGroup", + flags={"read_only": True}, + ) + properties.storage_profile = AAZObjectType( + serialized_name="storageProfile", + ) + + hardware_profile = cls._schema_on_200.properties.hardware_profile + hardware_profile.azure_large_instance_size = AAZStrType( + serialized_name="azureLargeInstanceSize", + flags={"read_only": True}, + ) + hardware_profile.hardware_type = AAZStrType( + serialized_name="hardwareType", + flags={"read_only": True}, + ) + + network_profile = cls._schema_on_200.properties.network_profile + network_profile.circuit_id = AAZStrType( + serialized_name="circuitId", + flags={"read_only": True}, + ) + network_profile.network_interfaces = AAZListType( + serialized_name="networkInterfaces", + ) + + network_interfaces = cls._schema_on_200.properties.network_profile.network_interfaces + network_interfaces.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.network_profile.network_interfaces.Element + _element.ip_address = AAZStrType( + serialized_name="ipAddress", + ) + + os_profile = cls._schema_on_200.properties.os_profile + os_profile.computer_name = AAZStrType( + serialized_name="computerName", + ) + os_profile.os_type = AAZStrType( + serialized_name="osType", + flags={"read_only": True}, + ) + os_profile.ssh_public_key = AAZStrType( + serialized_name="sshPublicKey", + ) + os_profile.version = AAZStrType( + flags={"read_only": True}, + ) + + storage_profile = cls._schema_on_200.properties.storage_profile + storage_profile.nfs_ip_address = AAZStrType( + serialized_name="nfsIpAddress", + flags={"read_only": True}, + ) + storage_profile.os_disks = AAZListType( + serialized_name="osDisks", + ) + + os_disks = cls._schema_on_200.properties.storage_profile.os_disks + os_disks.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.storage_profile.os_disks.Element + _element.disk_size_gb = AAZIntType( + serialized_name="diskSizeGB", + ) + _element.lun = AAZIntType( + flags={"read_only": True}, + ) + _element.name = 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", + ) + + 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/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py new file mode 100644 index 00000000000..2ae8f619fa1 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py @@ -0,0 +1,289 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "azurelargeinstance shutdown", +) +class Shutdown(AAZCommand): + """The operation to shutdown an Azure Large Instance (only for compute instances) + + :example: To shutdown a specific Azure Large Instance + az azurelargeinstance shutdown --subscription $SUBSCRIPTIONID --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME + """ + + _aaz_info = { + "version": "2023-07-20-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance/{}/shutdown", "2023-07-20-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(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.azure_large_instance_name = AAZStrArg( + options=["--azure-large-instance-name"], + help="Name of the AzureLargeInstance.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern=".*", + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="The name of the resource group. The name is case insensitive.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.AzureLargeInstanceShutdown(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 AzureLargeInstanceShutdown(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.AzureLargeInstance/azureLargeInstance/{azureLargeInstanceName}/shutdown", + **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( + "azureLargeInstanceName", self.ctx.args.azure_large_instance_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-07-20-preview", + 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() + _ShutdownHelper._build_schema_operation_status_result_read(cls._schema_on_200) + + return cls._schema_on_200 + + +class _ShutdownHelper: + """Helper class for Shutdown""" + + _schema_error_detail_read = None + + @classmethod + def _build_schema_error_detail_read(cls, _schema): + if cls._schema_error_detail_read is not None: + _schema.additional_info = cls._schema_error_detail_read.additional_info + _schema.code = cls._schema_error_detail_read.code + _schema.details = cls._schema_error_detail_read.details + _schema.message = cls._schema_error_detail_read.message + _schema.target = cls._schema_error_detail_read.target + return + + cls._schema_error_detail_read = _schema_error_detail_read = AAZObjectType() + + error_detail_read = _schema_error_detail_read + error_detail_read.additional_info = AAZListType( + serialized_name="additionalInfo", + flags={"read_only": True}, + ) + error_detail_read.code = AAZStrType( + flags={"read_only": True}, + ) + error_detail_read.details = AAZListType( + flags={"read_only": True}, + ) + error_detail_read.message = AAZStrType( + flags={"read_only": True}, + ) + error_detail_read.target = AAZStrType( + flags={"read_only": True}, + ) + + additional_info = _schema_error_detail_read.additional_info + additional_info.Element = AAZObjectType() + + _element = _schema_error_detail_read.additional_info.Element + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + details = _schema_error_detail_read.details + details.Element = AAZObjectType() + cls._build_schema_error_detail_read(details.Element) + + _schema.additional_info = cls._schema_error_detail_read.additional_info + _schema.code = cls._schema_error_detail_read.code + _schema.details = cls._schema_error_detail_read.details + _schema.message = cls._schema_error_detail_read.message + _schema.target = cls._schema_error_detail_read.target + + _schema_operation_status_result_read = None + + @classmethod + def _build_schema_operation_status_result_read(cls, _schema): + if cls._schema_operation_status_result_read is not None: + _schema.end_time = cls._schema_operation_status_result_read.end_time + _schema.error = cls._schema_operation_status_result_read.error + _schema.id = cls._schema_operation_status_result_read.id + _schema.name = cls._schema_operation_status_result_read.name + _schema.operations = cls._schema_operation_status_result_read.operations + _schema.percent_complete = cls._schema_operation_status_result_read.percent_complete + _schema.resource_id = cls._schema_operation_status_result_read.resource_id + _schema.start_time = cls._schema_operation_status_result_read.start_time + _schema.status = cls._schema_operation_status_result_read.status + return + + cls._schema_operation_status_result_read = _schema_operation_status_result_read = AAZObjectType() + + operation_status_result_read = _schema_operation_status_result_read + operation_status_result_read.end_time = AAZStrType( + serialized_name="endTime", + ) + operation_status_result_read.error = AAZObjectType() + cls._build_schema_error_detail_read(operation_status_result_read.error) + operation_status_result_read.id = AAZStrType() + operation_status_result_read.name = AAZStrType() + operation_status_result_read.operations = AAZListType() + operation_status_result_read.percent_complete = AAZFloatType( + serialized_name="percentComplete", + ) + operation_status_result_read.resource_id = AAZStrType( + serialized_name="resourceId", + flags={"read_only": True}, + ) + operation_status_result_read.start_time = AAZStrType( + serialized_name="startTime", + ) + operation_status_result_read.status = AAZStrType( + flags={"required": True}, + ) + + operations = _schema_operation_status_result_read.operations + operations.Element = AAZObjectType() + cls._build_schema_operation_status_result_read(operations.Element) + + _schema.end_time = cls._schema_operation_status_result_read.end_time + _schema.error = cls._schema_operation_status_result_read.error + _schema.id = cls._schema_operation_status_result_read.id + _schema.name = cls._schema_operation_status_result_read.name + _schema.operations = cls._schema_operation_status_result_read.operations + _schema.percent_complete = cls._schema_operation_status_result_read.percent_complete + _schema.resource_id = cls._schema_operation_status_result_read.resource_id + _schema.start_time = cls._schema_operation_status_result_read.start_time + _schema.status = cls._schema_operation_status_result_read.status + + +__all__ = ["Shutdown"] diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py new file mode 100644 index 00000000000..4939d886dbe --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py @@ -0,0 +1,289 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "azurelargeinstance start", +) +class Start(AAZCommand): + """The operation to start an Azure Large Instance (only for compute instances) + + :example: Start an Azure Large Instance + az shutdown --subscription $SUBSCRIPTIONID --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME + """ + + _aaz_info = { + "version": "2023-07-20-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance/{}/start", "2023-07-20-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(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.azure_large_instance_name = AAZStrArg( + options=["--azure-large-instance-name"], + help="Name of the AzureLargeInstance.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern=".*", + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="The name of the resource group. The name is case insensitive.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.AzureLargeInstanceStart(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 AzureLargeInstanceStart(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.AzureLargeInstance/azureLargeInstance/{azureLargeInstanceName}/start", + **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( + "azureLargeInstanceName", self.ctx.args.azure_large_instance_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-07-20-preview", + 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() + _StartHelper._build_schema_operation_status_result_read(cls._schema_on_200) + + return cls._schema_on_200 + + +class _StartHelper: + """Helper class for Start""" + + _schema_error_detail_read = None + + @classmethod + def _build_schema_error_detail_read(cls, _schema): + if cls._schema_error_detail_read is not None: + _schema.additional_info = cls._schema_error_detail_read.additional_info + _schema.code = cls._schema_error_detail_read.code + _schema.details = cls._schema_error_detail_read.details + _schema.message = cls._schema_error_detail_read.message + _schema.target = cls._schema_error_detail_read.target + return + + cls._schema_error_detail_read = _schema_error_detail_read = AAZObjectType() + + error_detail_read = _schema_error_detail_read + error_detail_read.additional_info = AAZListType( + serialized_name="additionalInfo", + flags={"read_only": True}, + ) + error_detail_read.code = AAZStrType( + flags={"read_only": True}, + ) + error_detail_read.details = AAZListType( + flags={"read_only": True}, + ) + error_detail_read.message = AAZStrType( + flags={"read_only": True}, + ) + error_detail_read.target = AAZStrType( + flags={"read_only": True}, + ) + + additional_info = _schema_error_detail_read.additional_info + additional_info.Element = AAZObjectType() + + _element = _schema_error_detail_read.additional_info.Element + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + details = _schema_error_detail_read.details + details.Element = AAZObjectType() + cls._build_schema_error_detail_read(details.Element) + + _schema.additional_info = cls._schema_error_detail_read.additional_info + _schema.code = cls._schema_error_detail_read.code + _schema.details = cls._schema_error_detail_read.details + _schema.message = cls._schema_error_detail_read.message + _schema.target = cls._schema_error_detail_read.target + + _schema_operation_status_result_read = None + + @classmethod + def _build_schema_operation_status_result_read(cls, _schema): + if cls._schema_operation_status_result_read is not None: + _schema.end_time = cls._schema_operation_status_result_read.end_time + _schema.error = cls._schema_operation_status_result_read.error + _schema.id = cls._schema_operation_status_result_read.id + _schema.name = cls._schema_operation_status_result_read.name + _schema.operations = cls._schema_operation_status_result_read.operations + _schema.percent_complete = cls._schema_operation_status_result_read.percent_complete + _schema.resource_id = cls._schema_operation_status_result_read.resource_id + _schema.start_time = cls._schema_operation_status_result_read.start_time + _schema.status = cls._schema_operation_status_result_read.status + return + + cls._schema_operation_status_result_read = _schema_operation_status_result_read = AAZObjectType() + + operation_status_result_read = _schema_operation_status_result_read + operation_status_result_read.end_time = AAZStrType( + serialized_name="endTime", + ) + operation_status_result_read.error = AAZObjectType() + cls._build_schema_error_detail_read(operation_status_result_read.error) + operation_status_result_read.id = AAZStrType() + operation_status_result_read.name = AAZStrType() + operation_status_result_read.operations = AAZListType() + operation_status_result_read.percent_complete = AAZFloatType( + serialized_name="percentComplete", + ) + operation_status_result_read.resource_id = AAZStrType( + serialized_name="resourceId", + flags={"read_only": True}, + ) + operation_status_result_read.start_time = AAZStrType( + serialized_name="startTime", + ) + operation_status_result_read.status = AAZStrType( + flags={"required": True}, + ) + + operations = _schema_operation_status_result_read.operations + operations.Element = AAZObjectType() + cls._build_schema_operation_status_result_read(operations.Element) + + _schema.end_time = cls._schema_operation_status_result_read.end_time + _schema.error = cls._schema_operation_status_result_read.error + _schema.id = cls._schema_operation_status_result_read.id + _schema.name = cls._schema_operation_status_result_read.name + _schema.operations = cls._schema_operation_status_result_read.operations + _schema.percent_complete = cls._schema_operation_status_result_read.percent_complete + _schema.resource_id = cls._schema_operation_status_result_read.resource_id + _schema.start_time = cls._schema_operation_status_result_read.start_time + _schema.status = cls._schema_operation_status_result_read.status + + +__all__ = ["Start"] diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py new file mode 100644 index 00000000000..359fb0d3738 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py @@ -0,0 +1,344 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "azurelargeinstance update", +) +class Update(AAZCommand): + """Update the Tags field of an Azure Large Instance for the specified subscription, resource group, and instance name. + + :example: Add a key-value pair in the Tags field of a specific Azure Large Instance: + az azurelargeinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID --tags newKey=value + + :example: Update a key-value pair in the Tags field of a specific Azure Large Instance + az azurelargeinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID --set tags.key=updatedValue + """ + + _aaz_info = { + "version": "2023-07-20-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance/{}", "2023-07-20-preview"], + ] + } + + 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.instance_name = AAZStrArg( + options=["-n", "--name", "--instance-name"], + help="Name of the AzureLargeInstance.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern=".*", + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="The name of the resource group. The name is case insensitive.", + required=True, + ) + + # define Arg Group "TagsParameter" + + _args_schema = cls._args_schema + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="TagsParameter", + help="Tags field of the AzureLargeInstance instance.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AzureLargeInstanceUpdate(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 AzureLargeInstanceUpdate(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.AzureLargeInstance/azureLargeInstance/{azureLargeInstanceName}", + **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( + "azureLargeInstanceName", self.ctx.args.instance_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-07-20-preview", + 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("tags", AAZDictType, ".tags") + + 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.azure_large_instance_id = AAZStrType( + serialized_name="azureLargeInstanceId", + flags={"read_only": True}, + ) + properties.hardware_profile = AAZObjectType( + serialized_name="hardwareProfile", + ) + properties.hw_revision = AAZStrType( + serialized_name="hwRevision", + flags={"read_only": True}, + ) + properties.network_profile = AAZObjectType( + serialized_name="networkProfile", + ) + properties.os_profile = AAZObjectType( + serialized_name="osProfile", + ) + properties.partner_node_id = AAZStrType( + serialized_name="partnerNodeId", + ) + properties.power_state = AAZStrType( + serialized_name="powerState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.proximity_placement_group = AAZStrType( + serialized_name="proximityPlacementGroup", + flags={"read_only": True}, + ) + properties.storage_profile = AAZObjectType( + serialized_name="storageProfile", + ) + + hardware_profile = cls._schema_on_200.properties.hardware_profile + hardware_profile.azure_large_instance_size = AAZStrType( + serialized_name="azureLargeInstanceSize", + flags={"read_only": True}, + ) + hardware_profile.hardware_type = AAZStrType( + serialized_name="hardwareType", + flags={"read_only": True}, + ) + + network_profile = cls._schema_on_200.properties.network_profile + network_profile.circuit_id = AAZStrType( + serialized_name="circuitId", + flags={"read_only": True}, + ) + network_profile.network_interfaces = AAZListType( + serialized_name="networkInterfaces", + ) + + network_interfaces = cls._schema_on_200.properties.network_profile.network_interfaces + network_interfaces.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.network_profile.network_interfaces.Element + _element.ip_address = AAZStrType( + serialized_name="ipAddress", + ) + + os_profile = cls._schema_on_200.properties.os_profile + os_profile.computer_name = AAZStrType( + serialized_name="computerName", + ) + os_profile.os_type = AAZStrType( + serialized_name="osType", + flags={"read_only": True}, + ) + os_profile.ssh_public_key = AAZStrType( + serialized_name="sshPublicKey", + ) + os_profile.version = AAZStrType( + flags={"read_only": True}, + ) + + storage_profile = cls._schema_on_200.properties.storage_profile + storage_profile.nfs_ip_address = AAZStrType( + serialized_name="nfsIpAddress", + flags={"read_only": True}, + ) + storage_profile.os_disks = AAZListType( + serialized_name="osDisks", + ) + + os_disks = cls._schema_on_200.properties.storage_profile.os_disks + os_disks.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.storage_profile.os_disks.Element + _element.disk_size_gb = AAZIntType( + serialized_name="diskSizeGB", + ) + _element.lun = AAZIntType( + flags={"read_only": True}, + ) + _element.name = 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", + ) + + 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/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__cmd_group.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__cmd_group.py new file mode 100644 index 00000000000..0d4c7a8ab2b --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__cmd_group.py @@ -0,0 +1,24 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "azurelargestorageinstance", + is_preview=True, +) +class __CMDGroup(AAZCommandGroup): + """Handle Operations for Storage Azure Large Instances. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__init__.py new file mode 100644 index 00000000000..bee768f7653 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__init__.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------------------------- +# 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 * +from ._update import * diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py new file mode 100644 index 00000000000..43028af592c --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py @@ -0,0 +1,416 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "azurelargestorageinstance list", + is_preview=True, +) +class List(AAZCommand): + """List a list of AzureLargeStorageInstances in the specified subscription. The operations returns various properties of each Azure LargeStorage instance. + + :example: To list Azure Large Storage Instances in a specific subscription + az azurelargestorageinstance list --subscription $SUBSCRIPTIONID + + :example: To list Azure Large Storage Instances in a specific subscription and resource group + az azurelargestorageinstance list --subscription $SUBSCRIPTIONID --resource-group $RESOURCE_GROUP + """ + + _aaz_info = { + "version": "2023-07-20-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstance", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstance", "2023-07-20-preview"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + 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( + help="The name of the resource group. The name is case insensitive.", + ) + 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.AzureLargeStorageInstanceListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.AzureLargeStorageInstanceListBySubscription(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 AzureLargeStorageInstanceListByResourceGroup(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.AzureLargeInstance/azureLargeStorageInstance", + **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-07-20-preview", + 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", + ) + _schema_on_200.value = AAZListType() + + 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.azure_large_storage_instance_unique_identifier = AAZStrType( + serialized_name="azureLargeStorageInstanceUniqueIdentifier", + ) + properties.storage_properties = AAZObjectType( + serialized_name="storageProperties", + ) + + storage_properties = cls._schema_on_200.value.Element.properties.storage_properties + storage_properties.generation = AAZStrType() + storage_properties.hardware_type = AAZStrType( + serialized_name="hardwareType", + ) + storage_properties.offering_type = AAZStrType( + serialized_name="offeringType", + ) + storage_properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + storage_properties.storage_billing_properties = AAZObjectType( + serialized_name="storageBillingProperties", + ) + storage_properties.storage_type = AAZStrType( + serialized_name="storageType", + ) + storage_properties.workload_type = AAZStrType( + serialized_name="workloadType", + ) + + storage_billing_properties = cls._schema_on_200.value.Element.properties.storage_properties.storage_billing_properties + storage_billing_properties.billing_mode = AAZStrType( + serialized_name="billingMode", + ) + storage_billing_properties.sku = 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", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class AzureLargeStorageInstanceListBySubscription(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.AzureLargeInstance/azureLargeStorageInstance", + **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-07-20-preview", + 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", + ) + _schema_on_200.value = AAZListType() + + 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.azure_large_storage_instance_unique_identifier = AAZStrType( + serialized_name="azureLargeStorageInstanceUniqueIdentifier", + ) + properties.storage_properties = AAZObjectType( + serialized_name="storageProperties", + ) + + storage_properties = cls._schema_on_200.value.Element.properties.storage_properties + storage_properties.generation = AAZStrType() + storage_properties.hardware_type = AAZStrType( + serialized_name="hardwareType", + ) + storage_properties.offering_type = AAZStrType( + serialized_name="offeringType", + ) + storage_properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + storage_properties.storage_billing_properties = AAZObjectType( + serialized_name="storageBillingProperties", + ) + storage_properties.storage_type = AAZStrType( + serialized_name="storageType", + ) + storage_properties.workload_type = AAZStrType( + serialized_name="workloadType", + ) + + storage_billing_properties = cls._schema_on_200.value.Element.properties.storage_properties.storage_billing_properties + storage_billing_properties.billing_mode = AAZStrType( + serialized_name="billingMode", + ) + storage_billing_properties.sku = 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", + ) + + 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/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py new file mode 100644 index 00000000000..9ab35010f75 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py @@ -0,0 +1,247 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "azurelargestorageinstance show", + is_preview=True, +) +class Show(AAZCommand): + """Get an Azure Large Storage instance for the specified subscription, resource group, and instance name. + + :example: To show details about a specific AzureLargeStorageInstance + az azurelargestorageinstance show --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID + """ + + _aaz_info = { + "version": "2023-07-20-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstance/{}", "2023-07-20-preview"], + ] + } + + 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.instance_name = AAZStrArg( + options=["-n", "--name", "--instance-name"], + help="Name of the AzureLargeStorageInstance.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern=".*", + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="The name of the resource group. The name is case insensitive.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AzureLargeStorageInstanceGet(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 AzureLargeStorageInstanceGet(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.AzureLargeInstance/azureLargeStorageInstance/{azureLargeStorageInstanceName}", + **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( + "azureLargeStorageInstanceName", self.ctx.args.instance_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-07-20-preview", + 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.azure_large_storage_instance_unique_identifier = AAZStrType( + serialized_name="azureLargeStorageInstanceUniqueIdentifier", + ) + properties.storage_properties = AAZObjectType( + serialized_name="storageProperties", + ) + + storage_properties = cls._schema_on_200.properties.storage_properties + storage_properties.generation = AAZStrType() + storage_properties.hardware_type = AAZStrType( + serialized_name="hardwareType", + ) + storage_properties.offering_type = AAZStrType( + serialized_name="offeringType", + ) + storage_properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + storage_properties.storage_billing_properties = AAZObjectType( + serialized_name="storageBillingProperties", + ) + storage_properties.storage_type = AAZStrType( + serialized_name="storageType", + ) + storage_properties.workload_type = AAZStrType( + serialized_name="workloadType", + ) + + storage_billing_properties = cls._schema_on_200.properties.storage_properties.storage_billing_properties + storage_billing_properties.billing_mode = AAZStrType( + serialized_name="billingMode", + ) + storage_billing_properties.sku = 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", + ) + + 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/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py new file mode 100644 index 00000000000..240a44bf560 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py @@ -0,0 +1,280 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "azurelargestorageinstance update", + is_preview=True, +) +class Update(AAZCommand): + """Update the Tags field of a Azure Large Storage Instance for the specified subscription, resource group, and instance name. + + :example: Add a key-value pair in the Tags field of a specific Azure Large Storage Instance: + az azurelargestorageinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID --tags newKey=value + + :example: Update a key-value pair in the Tags field of a specific Azure Large Storage Instance + az azurelargestorageinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID --set tags.key=updatedValue + """ + + _aaz_info = { + "version": "2023-07-20-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstance/{}", "2023-07-20-preview"], + ] + } + + 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.instance_name = AAZStrArg( + options=["-n", "--name", "--instance-name"], + help="Name of the AzureLargeStorageInstance.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern=".*", + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="The name of the resource group. The name is case insensitive.", + required=True, + ) + + # define Arg Group "TagsParameter" + + _args_schema = cls._args_schema + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="TagsParameter", + help="Tags field of the AzureLargeInstance instance.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AzureLargeStorageInstanceUpdate(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 AzureLargeStorageInstanceUpdate(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.AzureLargeInstance/azureLargeStorageInstance/{azureLargeStorageInstanceName}", + **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( + "azureLargeStorageInstanceName", self.ctx.args.instance_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-07-20-preview", + 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("tags", AAZDictType, ".tags") + + 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.azure_large_storage_instance_unique_identifier = AAZStrType( + serialized_name="azureLargeStorageInstanceUniqueIdentifier", + ) + properties.storage_properties = AAZObjectType( + serialized_name="storageProperties", + ) + + storage_properties = cls._schema_on_200.properties.storage_properties + storage_properties.generation = AAZStrType() + storage_properties.hardware_type = AAZStrType( + serialized_name="hardwareType", + ) + storage_properties.offering_type = AAZStrType( + serialized_name="offeringType", + ) + storage_properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + storage_properties.storage_billing_properties = AAZObjectType( + serialized_name="storageBillingProperties", + ) + storage_properties.storage_type = AAZStrType( + serialized_name="storageType", + ) + storage_properties.workload_type = AAZStrType( + serialized_name="workloadType", + ) + + storage_billing_properties = cls._schema_on_200.properties.storage_properties.storage_billing_properties + storage_billing_properties.billing_mode = AAZStrType( + serialized_name="billingMode", + ) + storage_billing_properties.sku = 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", + ) + + 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/azurelargeinstance/azext_azurelargeinstance/azext_metadata.json b/src/azurelargeinstance/azext_azurelargeinstance/azext_metadata.json new file mode 100644 index 00000000000..24862c32571 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.51.0" +} \ No newline at end of file diff --git a/src/azurelargeinstance/azext_azurelargeinstance/commands.py b/src/azurelargeinstance/azext_azurelargeinstance/commands.py new file mode 100644 index 00000000000..b0d842e4993 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/commands.py @@ -0,0 +1,15 @@ +# -------------------------------------------------------------------------------------------- +# 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 + pass diff --git a/src/azurelargeinstance/azext_azurelargeinstance/custom.py b/src/azurelargeinstance/azext_azurelargeinstance/custom.py new file mode 100644 index 00000000000..86df1e48ef5 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/custom.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------------------------- +# 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 + + +logger = get_logger(__name__) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/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/azurelargeinstance/azext_azurelargeinstance/tests/latest/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/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/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py new file mode 100644 index 00000000000..cd9a483cecc --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py @@ -0,0 +1,33 @@ +# -------------------------------------------------------------------------------------------- +# 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 * +from azure.cli.core.commands.client_factory import get_subscription_id +from azure.cli.core.decorators import Completer + +class AzurelargeinstanceScenario(ScenarioTest): + @Completer + def test_list_azurelargeinstance_in_subscription(self, cmd): + subscription = get_subscription_id(cmd.cli_ctx) + + self.kwargs.update({ + 'sub_id': subscription + }) + + self.cmd('az azurelargeinstance list --subscription {sub_id}').get_output_in_json() + + @Completer + @ResourceGroupPreparer() + def test_list_azurelargeinstance_in_resourcegroup(self, resource_group, cmd): + subscription = get_subscription_id(cmd.cli_ctx) + + self.kwargs.update({ + 'sub_id': subscription + }) + + self.cmd('az azurelargeinstance list --subscription {sub_id} --resource-group {rg}').get_output_in_json() + diff --git a/src/azurelargeinstance/setup.cfg b/src/azurelargeinstance/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/azurelargeinstance/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/azurelargeinstance/setup.py b/src/azurelargeinstance/setup.py new file mode 100644 index 00000000000..bca2c95ad69 --- /dev/null +++ b/src/azurelargeinstance/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 = '1.0.0b1' + +# 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='azurelargeinstance', + version=VERSION, + description='Microsoft Azure Command-Line Tools Azurelargeinstance 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/azurelargeinstance', + classifiers=CLASSIFIERS, + packages=find_packages(exclude=["tests"]), + package_data={'azext_azurelargeinstance': ['azext_metadata.json']}, + install_requires=DEPENDENCIES +) From dd45b16592fd2aabd18902e55c69ab1e686804b1 Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Thu, 26 Oct 2023 20:17:46 +0000 Subject: [PATCH 02/12] Added tests and updated descriptions --- .../latest/azurelargeinstance/__cmd_group.py | 1 + .../aaz/latest/azurelargeinstance/_list.py | 9 +- .../aaz/latest/azurelargeinstance/_restart.py | 12 ++- .../aaz/latest/azurelargeinstance/_show.py | 5 +- .../latest/azurelargeinstance/_shutdown.py | 9 +- .../aaz/latest/azurelargeinstance/_start.py | 9 +- .../aaz/latest/azurelargeinstance/_update.py | 5 +- .../latest/azurelargestorageinstance/_list.py | 4 +- .../latest/azurelargestorageinstance/_show.py | 2 +- .../azurelargestorageinstance/_update.py | 4 +- .../tests/latest/test_azurelargeinstance.py | 91 +++++++++++++++---- 11 files changed, 110 insertions(+), 41 deletions(-) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py index a4e69704f0b..535a1ced6c5 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py @@ -13,6 +13,7 @@ @register_command_group( "azurelargeinstance", + is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Handle Operations for Compute Azure Large Instances. diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py index 751d169afe1..675c62bca02 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py @@ -13,17 +13,18 @@ @register_command( "azurelargeinstance list", + is_preview=True, ) class List(AAZCommand): """Gets a list of Azure Large Instances in the specified subscription Gets a list of Azure Large Instances in the specified subscription. The operations returns various properties of each Azure Large Instance. - :example: To list Azure Large Instances in a specific subscription - az azurelargeinstance list --subscription $SUBSCRIPTIONID + :example: To list Azure Large Instances in a subscription + az azurelargeinstance list - :example: To list Azure Large Instances in a specific subscription and resource group - az azurelargeinstance list --subscription $SUBSCRIPTIONID --resource-group $RESOURCE_GROUP + :example: To list Azure Large Instances in a subscription and resource group + az azurelargeinstance list --resource-group $RESOURCE_GROUP """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py index 293bfc80d8d..6c5a6b85ee5 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py @@ -13,12 +13,16 @@ @register_command( "azurelargeinstance restart", + is_preview=True, ) class Restart(AAZCommand): """The operation to restart an Azure Large Instance (only for compute instances) - :example: To restart a specific Azure Large Instance + :example: To restart an Azure Large Instance in a resource group az azurelargeinstance restart --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME + + :example: To force restart an Azure Large Instance in a resource group + az azurelargeinstance restart --resource-group $RESOUCE_GROUP --instance-name $INSTANCE_NAME --force-state active """ _aaz_info = { @@ -45,8 +49,8 @@ def _build_arguments_schema(cls, *args, **kwargs): # define Arg Group "" _args_schema = cls._args_schema - _args_schema.azure_large_instance_name = AAZStrArg( - options=["--azure-large-instance-name"], + _args_schema.instance_name = AAZStrArg( + options=["-n", "--name", "--instance-name"], help="Name of the AzureLargeInstance.", required=True, id_part="name", @@ -133,7 +137,7 @@ def error_format(self): def url_parameters(self): parameters = { **self.serialize_url_param( - "azureLargeInstanceName", self.ctx.args.azure_large_instance_name, + "azureLargeInstanceName", self.ctx.args.instance_name, required=True, ), **self.serialize_url_param( diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py index 7129bcc1962..79c48e2c1fb 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py @@ -13,12 +13,13 @@ @register_command( "azurelargeinstance show", + is_preview=True, ) class Show(AAZCommand): """Get an Azure Large Instance for the specified subscription, resource group, and instance name. - :example: To show details about a specific AzureLargeInstance - az azurelargeinstance show --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID + :example: To show details about a specific AzureLargeInstance in a resource group + az azurelargeinstance show --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py index 2ae8f619fa1..68e951c625f 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py @@ -13,12 +13,13 @@ @register_command( "azurelargeinstance shutdown", + is_preview=True, ) class Shutdown(AAZCommand): """The operation to shutdown an Azure Large Instance (only for compute instances) :example: To shutdown a specific Azure Large Instance - az azurelargeinstance shutdown --subscription $SUBSCRIPTIONID --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME + az azurelargeinstance shutdown --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME """ _aaz_info = { @@ -45,8 +46,8 @@ def _build_arguments_schema(cls, *args, **kwargs): # define Arg Group "" _args_schema = cls._args_schema - _args_schema.azure_large_instance_name = AAZStrArg( - options=["--azure-large-instance-name"], + _args_schema.instance_name = AAZStrArg( + options=["-n", "--name", "--instance-name"], help="Name of the AzureLargeInstance.", required=True, id_part="name", @@ -123,7 +124,7 @@ def error_format(self): def url_parameters(self): parameters = { **self.serialize_url_param( - "azureLargeInstanceName", self.ctx.args.azure_large_instance_name, + "azureLargeInstanceName", self.ctx.args.instance_name, required=True, ), **self.serialize_url_param( diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py index 4939d886dbe..e72ef25c54a 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py @@ -13,12 +13,13 @@ @register_command( "azurelargeinstance start", + is_preview=True, ) class Start(AAZCommand): """The operation to start an Azure Large Instance (only for compute instances) :example: Start an Azure Large Instance - az shutdown --subscription $SUBSCRIPTIONID --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME + az start --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME """ _aaz_info = { @@ -45,8 +46,8 @@ def _build_arguments_schema(cls, *args, **kwargs): # define Arg Group "" _args_schema = cls._args_schema - _args_schema.azure_large_instance_name = AAZStrArg( - options=["--azure-large-instance-name"], + _args_schema.instance_name = AAZStrArg( + options=["-n", "--name", "--instance-name"], help="Name of the AzureLargeInstance.", required=True, id_part="name", @@ -123,7 +124,7 @@ def error_format(self): def url_parameters(self): parameters = { **self.serialize_url_param( - "azureLargeInstanceName", self.ctx.args.azure_large_instance_name, + "azureLargeInstanceName", self.ctx.args.instance_name, required=True, ), **self.serialize_url_param( diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py index 359fb0d3738..8f4a32c3f86 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py @@ -13,15 +13,16 @@ @register_command( "azurelargeinstance update", + is_preview=True, ) class Update(AAZCommand): """Update the Tags field of an Azure Large Instance for the specified subscription, resource group, and instance name. :example: Add a key-value pair in the Tags field of a specific Azure Large Instance: - az azurelargeinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID --tags newKey=value + az azurelargeinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --tags newKey=value :example: Update a key-value pair in the Tags field of a specific Azure Large Instance - az azurelargeinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID --set tags.key=updatedValue + az azurelargeinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --tags key=updatedValue """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py index 43028af592c..dd25782ad66 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py @@ -19,10 +19,10 @@ class List(AAZCommand): """List a list of AzureLargeStorageInstances in the specified subscription. The operations returns various properties of each Azure LargeStorage instance. :example: To list Azure Large Storage Instances in a specific subscription - az azurelargestorageinstance list --subscription $SUBSCRIPTIONID + az azurelargestorageinstance list :example: To list Azure Large Storage Instances in a specific subscription and resource group - az azurelargestorageinstance list --subscription $SUBSCRIPTIONID --resource-group $RESOURCE_GROUP + az azurelargestorageinstance list --resource-group $RESOURCE_GROUP """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py index 9ab35010f75..3453559f2a1 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py @@ -19,7 +19,7 @@ class Show(AAZCommand): """Get an Azure Large Storage instance for the specified subscription, resource group, and instance name. :example: To show details about a specific AzureLargeStorageInstance - az azurelargestorageinstance show --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID + az azurelargestorageinstance show --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py index 240a44bf560..950318adfda 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py @@ -19,10 +19,10 @@ class Update(AAZCommand): """Update the Tags field of a Azure Large Storage Instance for the specified subscription, resource group, and instance name. :example: Add a key-value pair in the Tags field of a specific Azure Large Storage Instance: - az azurelargestorageinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID --tags newKey=value + az azurelargestorageinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --tags newKey=value :example: Update a key-value pair in the Tags field of a specific Azure Large Storage Instance - az azurelargestorageinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTIONID --set tags.key=updatedValue + az azurelargestorageinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --set tags.key=updatedValue """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py index cd9a483cecc..69b72b6d773 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py @@ -7,27 +7,86 @@ from azure.cli.testsdk import * from azure.cli.core.commands.client_factory import get_subscription_id -from azure.cli.core.decorators import Completer class AzurelargeinstanceScenario(ScenarioTest): - @Completer - def test_list_azurelargeinstance_in_subscription(self, cmd): - subscription = get_subscription_id(cmd.cli_ctx) - - self.kwargs.update({ - 'sub_id': subscription - }) - self.cmd('az azurelargeinstance list --subscription {sub_id}').get_output_in_json() + def test_list_azurelargeinstances_in_subscription(self): + self.cmd('az azurelargeinstance list') + + @ResourceGroupPreparer() + def test_list_azurelargeinstances_in_resourcegroup(self, resource_group): + self.cmd('az azurelargeinstance list --resource-group {rg}') - @Completer @ResourceGroupPreparer() - def test_list_azurelargeinstance_in_resourcegroup(self, resource_group, cmd): - subscription = get_subscription_id(cmd.cli_ctx) - + def test_restart_azurelargeinstance(self, resource_group): self.kwargs.update({ - 'sub_id': subscription + 'name': self.create_random_name(), + 'force_state': 'active', }) - - self.cmd('az azurelargeinstance list --subscription {sub_id} --resource-group {rg}').get_output_in_json() + self.cmd('az azurelargeinstance restart --resource-group $RESOURCE_GROUP --instance-name {name}') + + @ResourceGroupPreparer() + def test_restart_azurelargeinstance_with_force(self, resource_group): + self.kwargs.update({ + 'name': self.create_random_name(), + 'force_state': 'active', + }) + force_state = 'active' + self.cmd('az azurelargeinstance restart --resource-group $RESOURCE_GROUP --instance-name {name} --force-state {force_state}') + + @ResourceGroupPreparer() + def test_show_azurelargeinstance(self, resource_group): + self.kwargs.update({ + 'name': self.create_random_name(), + }) + self.cmd('az azurelargeinstance show --instance-name {name} --resource-group {rg}') + + @ResourceGroupPreparer() + def test_shutdown_azurelargeinstance(self, resource_group): + self.kwargs.update({ + 'name': self.create_random_name(), + }) + self.cmd('az azurelargeinstance shutdown --instance-name {name} --resource-group {rg}') + @ResourceGroupPreparer() + def test_start_azurelargeinstance(self, resource_group): + self.kwargs.update({ + 'name': self.create_random_name(), + }) + self.cmd('az azurelargeinstance start --instance-name {name} --resource-group {rg}') + + @ResourceGroupPreparer() + def test_add_azurelargeinstance_tag(self, resource_group): + self.kwargs.update({ + 'name': self.create_random_name(), + 'key': self.create_random_name(), + 'value': self.create_random_name(), + }) + self.cmd('az azurelargeinstance start --instance-name {name} --resource-group {rg} --tags {key}={value}') + + + def test_list_azurelargestorageinstances_in_subscription(self): + self.cmd('az azurelargestorageinstance list') + + @ResourceGroupPreparer() + def test_list_azurelargestorageinstances_in_resourcegroup(self, resource_group): + self.cmd('az azurelargestorageinstance list --resource-group {rg}') + + @ResourceGroupPreparer() + def test_show_azurelargestorageinstance(self, resource_group): + self.kwargs.update({ + 'name': self.create_random_name(), + }) + self.cmd('az azurelargestorageinstance show --instance-name {name} --resource-group {rg}') + + @ResourceGroupPreparer() + def test_add_azurelargestorageinstance_tag(self, resource_group): + self.kwargs.update({ + 'name': self.create_random_name(), + 'key': self.create_random_name(), + 'value': self.create_random_name(), + }) + self.cmd('az azurelargestorageinstance start --instance-name {name} --resource-group {rg} --tags {key}={value}') + + + From 98e4b95c81ae80014e20f68948661b33ee783b5c Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Thu, 26 Oct 2023 20:45:03 +0000 Subject: [PATCH 03/12] Removed import --- .../tests/latest/test_azurelargeinstance.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py index 69b72b6d773..721cd5eb8a1 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py @@ -6,7 +6,6 @@ # -------------------------------------------------------------------------------------------- from azure.cli.testsdk import * -from azure.cli.core.commands.client_factory import get_subscription_id class AzurelargeinstanceScenario(ScenarioTest): From b0902bd95df78e31f6c033ada385677ae55dbab3 Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Fri, 27 Oct 2023 21:57:52 +0000 Subject: [PATCH 04/12] Updated resource type --- .../latest/azurelargeinstance/__cmd_group.py | 1 - .../aaz/latest/azurelargeinstance/_list.py | 17 +++++++---------- .../aaz/latest/azurelargeinstance/_restart.py | 13 ++++--------- .../aaz/latest/azurelargeinstance/_show.py | 8 +++----- .../aaz/latest/azurelargeinstance/_shutdown.py | 8 +++----- .../aaz/latest/azurelargeinstance/_start.py | 10 ++++------ .../aaz/latest/azurelargeinstance/_update.py | 13 ++++--------- .../azurelargestorageinstance/__cmd_group.py | 1 - .../latest/azurelargestorageinstance/_list.py | 17 +++++++---------- .../latest/azurelargestorageinstance/_show.py | 8 +++----- .../latest/azurelargestorageinstance/_update.py | 11 +++-------- .../tests/latest/test_azurelargeinstance.py | 6 +++--- 12 files changed, 41 insertions(+), 72 deletions(-) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py index 535a1ced6c5..a4e69704f0b 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "azurelargeinstance", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Handle Operations for Compute Azure Large Instances. diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py index 675c62bca02..f5567662176 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py @@ -13,25 +13,24 @@ @register_command( "azurelargeinstance list", - is_preview=True, ) class List(AAZCommand): - """Gets a list of Azure Large Instances in the specified subscription + """Gets a list of Azure Large Instances in the specified subscription. The operations returns various properties of each Azure Large Instance. Gets a list of Azure Large Instances in the specified subscription. The operations returns various properties of each Azure Large Instance. :example: To list Azure Large Instances in a subscription az azurelargeinstance list - :example: To list Azure Large Instances in a subscription and resource group + :example: To list Azure Large Instances in a specific subscription and resource group az azurelargeinstance list --resource-group $RESOURCE_GROUP """ _aaz_info = { "version": "2023-07-20-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/providers/microsoft.azurelargeinstance/azurelargeinstance", "2023-07-20-preview"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.azurelargeinstance/azurelargeinstances", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstances", "2023-07-20-preview"], ] } @@ -52,9 +51,7 @@ def _build_arguments_schema(cls, *args, **kwargs): # define Arg Group "" _args_schema = cls._args_schema - _args_schema.resource_group = AAZResourceGroupNameArg( - help="The name of the resource group. The name is case insensitive.", - ) + _args_schema.resource_group = AAZResourceGroupNameArg() return cls._args_schema def _execute_operations(self): @@ -94,7 +91,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstance", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances", **self.url_parameters ) @@ -326,7 +323,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureLargeInstance/azureLargeInstance", + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureLargeInstance/azureLargeInstances", **self.url_parameters ) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py index 6c5a6b85ee5..0aa627717a4 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py @@ -13,22 +13,18 @@ @register_command( "azurelargeinstance restart", - is_preview=True, ) class Restart(AAZCommand): """The operation to restart an Azure Large Instance (only for compute instances) - :example: To restart an Azure Large Instance in a resource group + :example: To restart an Azure Large Instance az azurelargeinstance restart --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME - - :example: To force restart an Azure Large Instance in a resource group - az azurelargeinstance restart --resource-group $RESOUCE_GROUP --instance-name $INSTANCE_NAME --force-state active """ _aaz_info = { "version": "2023-07-20-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance/{}/restart", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstances/{}/restart", "2023-07-20-preview"], ] } @@ -59,7 +55,6 @@ def _build_arguments_schema(cls, *args, **kwargs): ), ) _args_schema.resource_group = AAZResourceGroupNameArg( - help="The name of the resource group. The name is case insensitive.", required=True, ) @@ -69,7 +64,7 @@ def _build_arguments_schema(cls, *args, **kwargs): _args_schema.force_state = AAZStrArg( options=["--force-state"], arg_group="ForceParameter", - help={"short-summary": "Whether to force restart by shutting all processes.", "long-summary": "When set to 'active', this parameter empowers the server with the ability to forcefully terminate and halt any existing processes that may be running on the server."}, + help="Whether to force restart by shutting all processes.", enum={"active": "active", "inactive": "inactive"}, ) return cls._args_schema @@ -121,7 +116,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstance/{azureLargeInstanceName}/restart", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}/restart", **self.url_parameters ) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py index 79c48e2c1fb..b10a4a2bb27 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py @@ -13,19 +13,18 @@ @register_command( "azurelargeinstance show", - is_preview=True, ) class Show(AAZCommand): """Get an Azure Large Instance for the specified subscription, resource group, and instance name. - :example: To show details about a specific AzureLargeInstance in a resource group + :example: To show details about an Azure Large Instance az azurelargeinstance show --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP """ _aaz_info = { "version": "2023-07-20-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance/{}", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstances/{}", "2023-07-20-preview"], ] } @@ -55,7 +54,6 @@ def _build_arguments_schema(cls, *args, **kwargs): ), ) _args_schema.resource_group = AAZResourceGroupNameArg( - help="The name of the resource group. The name is case insensitive.", required=True, ) return cls._args_schema @@ -91,7 +89,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstance/{azureLargeInstanceName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}", **self.url_parameters ) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py index 68e951c625f..44271c11907 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py @@ -13,19 +13,18 @@ @register_command( "azurelargeinstance shutdown", - is_preview=True, ) class Shutdown(AAZCommand): """The operation to shutdown an Azure Large Instance (only for compute instances) - :example: To shutdown a specific Azure Large Instance + :example: To shutdown an Azure Large Instance az azurelargeinstance shutdown --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME """ _aaz_info = { "version": "2023-07-20-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance/{}/shutdown", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstances/{}/shutdown", "2023-07-20-preview"], ] } @@ -56,7 +55,6 @@ def _build_arguments_schema(cls, *args, **kwargs): ), ) _args_schema.resource_group = AAZResourceGroupNameArg( - help="The name of the resource group. The name is case insensitive.", required=True, ) return cls._args_schema @@ -108,7 +106,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstance/{azureLargeInstanceName}/shutdown", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}/shutdown", **self.url_parameters ) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py index e72ef25c54a..8bc7a9b99fd 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py @@ -13,19 +13,18 @@ @register_command( "azurelargeinstance start", - is_preview=True, ) class Start(AAZCommand): """The operation to start an Azure Large Instance (only for compute instances) - :example: Start an Azure Large Instance - az start --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME + :example: To start an Azure Large Instance + az azurelargeinstance start --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME """ _aaz_info = { "version": "2023-07-20-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance/{}/start", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstances/{}/start", "2023-07-20-preview"], ] } @@ -56,7 +55,6 @@ def _build_arguments_schema(cls, *args, **kwargs): ), ) _args_schema.resource_group = AAZResourceGroupNameArg( - help="The name of the resource group. The name is case insensitive.", required=True, ) return cls._args_schema @@ -108,7 +106,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstance/{azureLargeInstanceName}/start", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}/start", **self.url_parameters ) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py index 8f4a32c3f86..f1e62067009 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py @@ -13,22 +13,18 @@ @register_command( "azurelargeinstance update", - is_preview=True, ) class Update(AAZCommand): """Update the Tags field of an Azure Large Instance for the specified subscription, resource group, and instance name. - :example: Add a key-value pair in the Tags field of a specific Azure Large Instance: - az azurelargeinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --tags newKey=value - - :example: Update a key-value pair in the Tags field of a specific Azure Large Instance - az azurelargeinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --tags key=updatedValue + :example: To add an Azure Large Instance tag + az azurelargeinstance update --instance-name=$INSTANCE_NAME --resource-group=$RESOURCE_GROUP --tags newKey=value """ _aaz_info = { "version": "2023-07-20-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstance/{}", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargeinstances/{}", "2023-07-20-preview"], ] } @@ -58,7 +54,6 @@ def _build_arguments_schema(cls, *args, **kwargs): ), ) _args_schema.resource_group = AAZResourceGroupNameArg( - help="The name of the resource group. The name is case insensitive.", required=True, ) @@ -106,7 +101,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstance/{azureLargeInstanceName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}", **self.url_parameters ) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__cmd_group.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__cmd_group.py index 0d4c7a8ab2b..2b9eb150599 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__cmd_group.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "azurelargestorageinstance", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Handle Operations for Storage Azure Large Instances. diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py index dd25782ad66..e957912da0e 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py @@ -13,23 +13,22 @@ @register_command( "azurelargestorageinstance list", - is_preview=True, ) class List(AAZCommand): """List a list of AzureLargeStorageInstances in the specified subscription. The operations returns various properties of each Azure LargeStorage instance. - :example: To list Azure Large Storage Instances in a specific subscription + :example: To list Azure Large Storage Instances in a subscription az azurelargestorageinstance list :example: To list Azure Large Storage Instances in a specific subscription and resource group - az azurelargestorageinstance list --resource-group $RESOURCE_GROUP + az azurelargestorageinstance list --subscription $SUBSCRIPTIONID --resource-group $RESOURCE_GROUP """ _aaz_info = { "version": "2023-07-20-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstance", "2023-07-20-preview"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstance", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstances", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstances", "2023-07-20-preview"], ] } @@ -50,9 +49,7 @@ def _build_arguments_schema(cls, *args, **kwargs): # define Arg Group "" _args_schema = cls._args_schema - _args_schema.resource_group = AAZResourceGroupNameArg( - help="The name of the resource group. The name is case insensitive.", - ) + _args_schema.resource_group = AAZResourceGroupNameArg() return cls._args_schema def _execute_operations(self): @@ -92,7 +89,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstance", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances", **self.url_parameters ) @@ -259,7 +256,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstance", + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances", **self.url_parameters ) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py index 3453559f2a1..711fdc3e06d 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py @@ -13,19 +13,18 @@ @register_command( "azurelargestorageinstance show", - is_preview=True, ) class Show(AAZCommand): """Get an Azure Large Storage instance for the specified subscription, resource group, and instance name. - :example: To show details about a specific AzureLargeStorageInstance + :example: To show details about a specific Azure Large Storage Instance az azurelargestorageinstance show --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP """ _aaz_info = { "version": "2023-07-20-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstance/{}", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstances/{}", "2023-07-20-preview"], ] } @@ -55,7 +54,6 @@ def _build_arguments_schema(cls, *args, **kwargs): ), ) _args_schema.resource_group = AAZResourceGroupNameArg( - help="The name of the resource group. The name is case insensitive.", required=True, ) return cls._args_schema @@ -91,7 +89,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstance/{azureLargeStorageInstanceName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances/{azureLargeStorageInstanceName}", **self.url_parameters ) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py index 950318adfda..6cb5b00aeea 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py @@ -13,22 +13,18 @@ @register_command( "azurelargestorageinstance update", - is_preview=True, ) class Update(AAZCommand): """Update the Tags field of a Azure Large Storage Instance for the specified subscription, resource group, and instance name. - :example: Add a key-value pair in the Tags field of a specific Azure Large Storage Instance: + :example: To add an Azure Large Storage Instance tag az azurelargestorageinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --tags newKey=value - - :example: Update a key-value pair in the Tags field of a specific Azure Large Storage Instance - az azurelargestorageinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --set tags.key=updatedValue """ _aaz_info = { "version": "2023-07-20-preview", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstance/{}", "2023-07-20-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.azurelargeinstance/azurelargestorageinstances/{}", "2023-07-20-preview"], ] } @@ -58,7 +54,6 @@ def _build_arguments_schema(cls, *args, **kwargs): ), ) _args_schema.resource_group = AAZResourceGroupNameArg( - help="The name of the resource group. The name is case insensitive.", required=True, ) @@ -106,7 +101,7 @@ def __call__(self, *args, **kwargs): @property def url(self): return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstance/{azureLargeStorageInstanceName}", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances/{azureLargeStorageInstanceName}", **self.url_parameters ) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py index 721cd5eb8a1..a7e369ddd47 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py @@ -10,7 +10,7 @@ class AzurelargeinstanceScenario(ScenarioTest): def test_list_azurelargeinstances_in_subscription(self): - self.cmd('az azurelargeinstance list') + self.cmd('az azurelargeinstance list --debug') @ResourceGroupPreparer() def test_list_azurelargeinstances_in_resourcegroup(self, resource_group): @@ -61,7 +61,7 @@ def test_add_azurelargeinstance_tag(self, resource_group): 'key': self.create_random_name(), 'value': self.create_random_name(), }) - self.cmd('az azurelargeinstance start --instance-name {name} --resource-group {rg} --tags {key}={value}') + self.cmd('az azurelargeinstance update --instance-name {name} --resource-group {rg} --tags {key}={value}') def test_list_azurelargestorageinstances_in_subscription(self): @@ -85,7 +85,7 @@ def test_add_azurelargestorageinstance_tag(self, resource_group): 'key': self.create_random_name(), 'value': self.create_random_name(), }) - self.cmd('az azurelargestorageinstance start --instance-name {name} --resource-group {rg} --tags {key}={value}') + self.cmd('az azurelargestorageinstance update --instance-name {name} --resource-group {rg} --tags {key}={value}') From 169d7e54bc3bde0e1465c4aba000b2727b42e397 Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Fri, 27 Oct 2023 22:16:42 +0000 Subject: [PATCH 05/12] Fixed test random names --- ..._azurelargeinstances_in_resourcegroup.yaml | 44 +++++++++++++++++++ ...t_azurelargeinstances_in_subscription.yaml | 44 +++++++++++++++++++ ...argestorageinstances_in_resourcegroup.yaml | 44 +++++++++++++++++++ ...largestorageinstances_in_subscription.yaml | 42 ++++++++++++++++++ .../tests/latest/test_azurelargeinstance.py | 24 +++++----- 5 files changed, 186 insertions(+), 12 deletions(-) create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml new file mode 100644 index 00000000000..40dd45b778a --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - azurelargeinstance list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AzureLargeInstance/azureLargeInstances?api-version=2023-07-20-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 27 Oct 2023 22:00:57 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 +version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml new file mode 100644 index 00000000000..e037c3218bf --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - azurelargeinstance list + Connection: + - keep-alive + ParameterSetName: + - --debug + User-Agent: + - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.AzureLargeInstance/azureLargeInstances?api-version=2023-07-20-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 27 Oct 2023 22:00:55 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 +version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml new file mode 100644 index 00000000000..7c639465e2e --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - azurelargestorageinstance list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances?api-version=2023-07-20-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 27 Oct 2023 22:00:56 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 +version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml new file mode 100644 index 00000000000..ffe74d4c5c1 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml @@ -0,0 +1,42 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - azurelargestorageinstance list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances?api-version=2023-07-20-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 27 Oct 2023 22:00:55 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 +version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py index a7e369ddd47..e40e45101f9 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py @@ -19,7 +19,7 @@ def test_list_azurelargeinstances_in_resourcegroup(self, resource_group): @ResourceGroupPreparer() def test_restart_azurelargeinstance(self, resource_group): self.kwargs.update({ - 'name': self.create_random_name(), + 'name': self.create_random_name('ALI-', 10), 'force_state': 'active', }) self.cmd('az azurelargeinstance restart --resource-group $RESOURCE_GROUP --instance-name {name}') @@ -27,7 +27,7 @@ def test_restart_azurelargeinstance(self, resource_group): @ResourceGroupPreparer() def test_restart_azurelargeinstance_with_force(self, resource_group): self.kwargs.update({ - 'name': self.create_random_name(), + 'name': self.create_random_name('ALI-', 10), 'force_state': 'active', }) force_state = 'active' @@ -36,30 +36,30 @@ def test_restart_azurelargeinstance_with_force(self, resource_group): @ResourceGroupPreparer() def test_show_azurelargeinstance(self, resource_group): self.kwargs.update({ - 'name': self.create_random_name(), + 'name': self.create_random_name('ALI-', 10), }) self.cmd('az azurelargeinstance show --instance-name {name} --resource-group {rg}') @ResourceGroupPreparer() def test_shutdown_azurelargeinstance(self, resource_group): self.kwargs.update({ - 'name': self.create_random_name(), + 'name': self.create_random_name('ALI-', 10), }) self.cmd('az azurelargeinstance shutdown --instance-name {name} --resource-group {rg}') @ResourceGroupPreparer() def test_start_azurelargeinstance(self, resource_group): self.kwargs.update({ - 'name': self.create_random_name(), + 'name': self.create_random_name('ALI-', 10), }) self.cmd('az azurelargeinstance start --instance-name {name} --resource-group {rg}') @ResourceGroupPreparer() def test_add_azurelargeinstance_tag(self, resource_group): self.kwargs.update({ - 'name': self.create_random_name(), - 'key': self.create_random_name(), - 'value': self.create_random_name(), + 'name': self.create_random_name('ALI-', 10), + 'key': self.create_random_name('key', 10), + 'value': self.create_random_name('val', 10), }) self.cmd('az azurelargeinstance update --instance-name {name} --resource-group {rg} --tags {key}={value}') @@ -74,16 +74,16 @@ def test_list_azurelargestorageinstances_in_resourcegroup(self, resource_group): @ResourceGroupPreparer() def test_show_azurelargestorageinstance(self, resource_group): self.kwargs.update({ - 'name': self.create_random_name(), + 'name': self.create_random_name('ALI-', 10), }) self.cmd('az azurelargestorageinstance show --instance-name {name} --resource-group {rg}') @ResourceGroupPreparer() def test_add_azurelargestorageinstance_tag(self, resource_group): self.kwargs.update({ - 'name': self.create_random_name(), - 'key': self.create_random_name(), - 'value': self.create_random_name(), + 'name': self.create_random_name('ALI-', 10), + 'key': self.create_random_name('key', 10), + 'value': self.create_random_name('val', 10), }) self.cmd('az azurelargestorageinstance update --instance-name {name} --resource-group {rg} --tags {key}={value}') From 47023b19b2a5fdb58caa86983cd97c250df2a846 Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Sat, 11 Nov 2023 01:04:06 +0000 Subject: [PATCH 06/12] WIP, changed azurelargeinstance to large-instance but commands not working anymore --- .../HISTORY.rst | 0 src/azure-large-instance/README.md | 5 + .../azext_azure_large_instance}/__init__.py | 12 +-- .../azext_azure_large_instance}/_help.py | 0 .../azext_azure_large_instance}/_params.py | 0 .../aaz/__init__.py | 0 .../aaz/latest/__init__.py | 0 .../aaz/latest/large_instance}/__cmd_group.py | 2 +- .../aaz/latest/large_instance}/__init__.py | 0 .../aaz/latest/large_instance}/_list.py | 8 +- .../aaz/latest/large_instance}/_restart.py | 4 +- .../aaz/latest/large_instance}/_show.py | 4 +- .../aaz/latest/large_instance}/_shutdown.py | 4 +- .../aaz/latest/large_instance}/_start.py | 4 +- .../aaz/latest/large_instance}/_update.py | 4 +- .../large_storage_instance}/__cmd_group.py | 2 +- .../large_storage_instance}/__init__.py | 0 .../latest/large_storage_instance}/_list.py | 4 +- .../latest/large_storage_instance}/_show.py | 4 +- .../latest/large_storage_instance}/_update.py | 4 +- .../azext_metadata.json | 0 .../azext_azure_large_instance}/commands.py | 0 .../azext_azure_large_instance}/custom.py | 0 .../tests/__init__.py | 0 .../tests/latest/__init__.py | 0 .../tests/latest/test_azure_large_instance.py | 28 ++++++ .../setup.cfg | 0 .../setup.py | 8 +- src/azurelargeinstance/README.md | 5 - ..._azurelargeinstances_in_resourcegroup.yaml | 44 --------- ...t_azurelargeinstances_in_subscription.yaml | 44 --------- ...argestorageinstances_in_resourcegroup.yaml | 44 --------- ...largestorageinstances_in_subscription.yaml | 42 --------- .../tests/latest/test_azurelargeinstance.py | 91 ------------------- 34 files changed, 64 insertions(+), 303 deletions(-) rename src/{azurelargeinstance => azure-large-instance}/HISTORY.rst (100%) create mode 100644 src/azure-large-instance/README.md rename src/{azurelargeinstance/azext_azurelargeinstance => azure-large-instance/azext_azure_large_instance}/__init__.py (74%) rename src/{azurelargeinstance/azext_azurelargeinstance => azure-large-instance/azext_azure_large_instance}/_help.py (100%) rename src/{azurelargeinstance/azext_azurelargeinstance => azure-large-instance/azext_azure_large_instance}/_params.py (100%) rename src/{azurelargeinstance/azext_azurelargeinstance => azure-large-instance/azext_azure_large_instance}/aaz/__init__.py (100%) rename src/{azurelargeinstance/azext_azurelargeinstance => azure-large-instance/azext_azure_large_instance}/aaz/latest/__init__.py (100%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance}/__cmd_group.py (95%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance}/__init__.py (100%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance}/_list.py (98%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance}/_restart.py (98%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance}/_show.py (98%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance}/_shutdown.py (98%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance}/_start.py (98%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance}/_update.py (98%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance}/__cmd_group.py (94%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance}/__init__.py (100%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance}/_list.py (99%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance}/_show.py (97%) rename src/{azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance => azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance}/_update.py (97%) rename src/{azurelargeinstance/azext_azurelargeinstance => azure-large-instance/azext_azure_large_instance}/azext_metadata.json (100%) rename src/{azurelargeinstance/azext_azurelargeinstance => azure-large-instance/azext_azure_large_instance}/commands.py (100%) rename src/{azurelargeinstance/azext_azurelargeinstance => azure-large-instance/azext_azure_large_instance}/custom.py (100%) rename src/{azurelargeinstance/azext_azurelargeinstance => azure-large-instance/azext_azure_large_instance}/tests/__init__.py (100%) rename src/{azurelargeinstance/azext_azurelargeinstance => azure-large-instance/azext_azure_large_instance}/tests/latest/__init__.py (100%) create mode 100644 src/azure-large-instance/azext_azure_large_instance/tests/latest/test_azure_large_instance.py rename src/{azurelargeinstance => azure-large-instance}/setup.cfg (100%) rename src/{azurelargeinstance => azure-large-instance}/setup.py (88%) delete mode 100644 src/azurelargeinstance/README.md delete mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml delete mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml delete mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml delete mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml delete mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py diff --git a/src/azurelargeinstance/HISTORY.rst b/src/azure-large-instance/HISTORY.rst similarity index 100% rename from src/azurelargeinstance/HISTORY.rst rename to src/azure-large-instance/HISTORY.rst diff --git a/src/azure-large-instance/README.md b/src/azure-large-instance/README.md new file mode 100644 index 00000000000..fc433edf2bf --- /dev/null +++ b/src/azure-large-instance/README.md @@ -0,0 +1,5 @@ +# Azure CLI AzureLargeInstance Extension # +This is an extension to Azure CLI to manage AzureLargeInstance resources. + +## How to use ## +Please add commands usage here. \ No newline at end of file diff --git a/src/azurelargeinstance/azext_azurelargeinstance/__init__.py b/src/azure-large-instance/azext_azure_large_instance/__init__.py similarity index 74% rename from src/azurelargeinstance/azext_azurelargeinstance/__init__.py rename to src/azure-large-instance/azext_azure_large_instance/__init__.py index 3c4081efda6..c767761b13a 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/__init__.py +++ b/src/azure-large-instance/azext_azure_large_instance/__init__.py @@ -6,20 +6,20 @@ # -------------------------------------------------------------------------------------------- from azure.cli.core import AzCommandsLoader -from azext_azurelargeinstance._help import helps # pylint: disable=unused-import +from azext_azure_large_instance._help import helps # pylint: disable=unused-import -class AzurelargeinstanceCommandsLoader(AzCommandsLoader): +class AzureLargeInstanceCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType custom_command_type = CliCommandType( - operations_tmpl='azext_azurelargeinstance.custom#{}') + operations_tmpl='azext_azure_large_instance.custom#{}') super().__init__(cli_ctx=cli_ctx, custom_command_type=custom_command_type) def load_command_table(self, args): - from azext_azurelargeinstance.commands import load_command_table + from azext_azure_large_instance.commands import load_command_table from azure.cli.core.aaz import load_aaz_command_table try: from . import aaz @@ -35,8 +35,8 @@ def load_command_table(self, args): return self.command_table def load_arguments(self, command): - from azext_azurelargeinstance._params import load_arguments + from azext_azure_large_instance._params import load_arguments load_arguments(self, command) -COMMAND_LOADER_CLS = AzurelargeinstanceCommandsLoader +COMMAND_LOADER_CLS = AzureLargeInstanceCommandsLoader diff --git a/src/azurelargeinstance/azext_azurelargeinstance/_help.py b/src/azure-large-instance/azext_azure_large_instance/_help.py similarity index 100% rename from src/azurelargeinstance/azext_azurelargeinstance/_help.py rename to src/azure-large-instance/azext_azure_large_instance/_help.py diff --git a/src/azurelargeinstance/azext_azurelargeinstance/_params.py b/src/azure-large-instance/azext_azure_large_instance/_params.py similarity index 100% rename from src/azurelargeinstance/azext_azurelargeinstance/_params.py rename to src/azure-large-instance/azext_azure_large_instance/_params.py diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/__init__.py b/src/azure-large-instance/azext_azure_large_instance/aaz/__init__.py similarity index 100% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/__init__.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/__init__.py diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/__init__.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/__init__.py similarity index 100% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/__init__.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/__init__.py diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/__cmd_group.py similarity index 95% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/__cmd_group.py index a4e69704f0b..9b147376def 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__cmd_group.py +++ b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/__cmd_group.py @@ -12,7 +12,7 @@ @register_command_group( - "azurelargeinstance", + "large-instance", ) class __CMDGroup(AAZCommandGroup): """Handle Operations for Compute Azure Large Instances. diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__init__.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/__init__.py similarity index 100% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/__init__.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/__init__.py diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_list.py similarity index 98% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_list.py index f5567662176..5c3c3acf38f 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_list.py +++ b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_list.py @@ -12,18 +12,16 @@ @register_command( - "azurelargeinstance list", + "large-instance list", ) class List(AAZCommand): """Gets a list of Azure Large Instances in the specified subscription. The operations returns various properties of each Azure Large Instance. - Gets a list of Azure Large Instances in the specified subscription. The operations returns various properties of each Azure Large Instance. - :example: To list Azure Large Instances in a subscription - az azurelargeinstance list + az large-instance list --subscription $SUBSCRIPTION_ID :example: To list Azure Large Instances in a specific subscription and resource group - az azurelargeinstance list --resource-group $RESOURCE_GROUP + az large-instance list --subscription $SUBSCRIPTION_ID --resource-group $RESOURCE_GROUP """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_restart.py similarity index 98% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_restart.py index 0aa627717a4..5648d84ac14 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_restart.py +++ b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_restart.py @@ -12,13 +12,13 @@ @register_command( - "azurelargeinstance restart", + "large-instance restart", ) class Restart(AAZCommand): """The operation to restart an Azure Large Instance (only for compute instances) :example: To restart an Azure Large Instance - az azurelargeinstance restart --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME + az large-instance restart --subscription $SUBSCRIPTION_ID --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_show.py similarity index 98% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_show.py index b10a4a2bb27..1d2578932b7 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_show.py +++ b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_show.py @@ -12,13 +12,13 @@ @register_command( - "azurelargeinstance show", + "large-instance show", ) class Show(AAZCommand): """Get an Azure Large Instance for the specified subscription, resource group, and instance name. :example: To show details about an Azure Large Instance - az azurelargeinstance show --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP + az large-instance show --subscription $SUBSCRIPTION_ID --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_shutdown.py similarity index 98% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_shutdown.py index 44271c11907..3d19b4bee95 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_shutdown.py +++ b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_shutdown.py @@ -12,13 +12,13 @@ @register_command( - "azurelargeinstance shutdown", + "large-instance shutdown", ) class Shutdown(AAZCommand): """The operation to shutdown an Azure Large Instance (only for compute instances) :example: To shutdown an Azure Large Instance - az azurelargeinstance shutdown --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME + az large-instance shutdown --subscription $SUBSCRIPTION_ID --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_start.py similarity index 98% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_start.py index 8bc7a9b99fd..d67ca29dda6 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_start.py +++ b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_start.py @@ -12,13 +12,13 @@ @register_command( - "azurelargeinstance start", + "large-instance start", ) class Start(AAZCommand): """The operation to start an Azure Large Instance (only for compute instances) :example: To start an Azure Large Instance - az azurelargeinstance start --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME + az large-instance start --subscription $SUBSCRIPTION_ID --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_update.py similarity index 98% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_update.py index f1e62067009..20dcbc1341d 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargeinstance/_update.py +++ b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_update.py @@ -12,13 +12,13 @@ @register_command( - "azurelargeinstance update", + "large-instance update", ) class Update(AAZCommand): """Update the Tags field of an Azure Large Instance for the specified subscription, resource group, and instance name. :example: To add an Azure Large Instance tag - az azurelargeinstance update --instance-name=$INSTANCE_NAME --resource-group=$RESOURCE_GROUP --tags newKey=value + az large-instance update --subscription $SUBSCRIPTION_ID --instance-name=$INSTANCE_NAME --resource-group=$RESOURCE_GROUP --tags newKey=value """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__cmd_group.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/__cmd_group.py similarity index 94% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__cmd_group.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/__cmd_group.py index 2b9eb150599..fb754595991 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__cmd_group.py +++ b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/__cmd_group.py @@ -12,7 +12,7 @@ @register_command_group( - "azurelargestorageinstance", + "large-storage-instance", ) class __CMDGroup(AAZCommandGroup): """Handle Operations for Storage Azure Large Instances. diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__init__.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/__init__.py similarity index 100% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/__init__.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/__init__.py diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_list.py similarity index 99% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_list.py index e957912da0e..91540dc76c0 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_list.py +++ b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_list.py @@ -12,13 +12,13 @@ @register_command( - "azurelargestorageinstance list", + "large-storage-instance list", ) class List(AAZCommand): """List a list of AzureLargeStorageInstances in the specified subscription. The operations returns various properties of each Azure LargeStorage instance. :example: To list Azure Large Storage Instances in a subscription - az azurelargestorageinstance list + az large-storage-instance list --subscription $SUBSCRIPTION_ID :example: To list Azure Large Storage Instances in a specific subscription and resource group az azurelargestorageinstance list --subscription $SUBSCRIPTIONID --resource-group $RESOURCE_GROUP diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_show.py similarity index 97% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_show.py index 711fdc3e06d..9e49fe081f8 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_show.py +++ b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_show.py @@ -12,13 +12,13 @@ @register_command( - "azurelargestorageinstance show", + "large-storage-instance show", ) class Show(AAZCommand): """Get an Azure Large Storage instance for the specified subscription, resource group, and instance name. :example: To show details about a specific Azure Large Storage Instance - az azurelargestorageinstance show --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP + az large-storage-instance show --subscription $SUBSCRIPTION_ID --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_update.py similarity index 97% rename from src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py rename to src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_update.py index 6cb5b00aeea..7a8460c0609 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/azurelargestorageinstance/_update.py +++ b/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_update.py @@ -12,13 +12,13 @@ @register_command( - "azurelargestorageinstance update", + "large-storage-instance update", ) class Update(AAZCommand): """Update the Tags field of a Azure Large Storage Instance for the specified subscription, resource group, and instance name. :example: To add an Azure Large Storage Instance tag - az azurelargestorageinstance update --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --tags newKey=value + az large-storage-instance update --subscription $SUBSCRIPTION_ID --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --tags newKey=value """ _aaz_info = { diff --git a/src/azurelargeinstance/azext_azurelargeinstance/azext_metadata.json b/src/azure-large-instance/azext_azure_large_instance/azext_metadata.json similarity index 100% rename from src/azurelargeinstance/azext_azurelargeinstance/azext_metadata.json rename to src/azure-large-instance/azext_azure_large_instance/azext_metadata.json diff --git a/src/azurelargeinstance/azext_azurelargeinstance/commands.py b/src/azure-large-instance/azext_azure_large_instance/commands.py similarity index 100% rename from src/azurelargeinstance/azext_azurelargeinstance/commands.py rename to src/azure-large-instance/azext_azure_large_instance/commands.py diff --git a/src/azurelargeinstance/azext_azurelargeinstance/custom.py b/src/azure-large-instance/azext_azure_large_instance/custom.py similarity index 100% rename from src/azurelargeinstance/azext_azurelargeinstance/custom.py rename to src/azure-large-instance/azext_azure_large_instance/custom.py diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/__init__.py b/src/azure-large-instance/azext_azure_large_instance/tests/__init__.py similarity index 100% rename from src/azurelargeinstance/azext_azurelargeinstance/tests/__init__.py rename to src/azure-large-instance/azext_azure_large_instance/tests/__init__.py diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/__init__.py b/src/azure-large-instance/azext_azure_large_instance/tests/latest/__init__.py similarity index 100% rename from src/azurelargeinstance/azext_azurelargeinstance/tests/latest/__init__.py rename to src/azure-large-instance/azext_azure_large_instance/tests/latest/__init__.py diff --git a/src/azure-large-instance/azext_azure_large_instance/tests/latest/test_azure_large_instance.py b/src/azure-large-instance/azext_azure_large_instance/tests/latest/test_azure_large_instance.py new file mode 100644 index 00000000000..65829c44d4c --- /dev/null +++ b/src/azure-large-instance/azext_azure_large_instance/tests/latest/test_azure_large_instance.py @@ -0,0 +1,28 @@ +# -------------------------------------------------------------------------------------------- +# 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 * + + +class AzureLargeInstanceScenario(ScenarioTest): + def test_list_azurelargeinstances_in_subscription(self): + self.cmd('az large-instance list') + + @ResourceGroupPreparer() + def test_list_azurelargeinstances_in_resourcegroup(self, resource_group): + self.kwargs.update({ + 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06' + }) + + self.cmd('az large-instance list --subscription {subscription} --resource-group {rg}') + + def test_list_azurelargestorageinstances_in_subscription(self): + self.cmd('az large-storage-instance list') + + @ResourceGroupPreparer() + def test_list_azurelargestorageinstances_in_resourcegroup(self, resource_group): + self.cmd('az large-storage-instance list --resource-group {rg}') diff --git a/src/azurelargeinstance/setup.cfg b/src/azure-large-instance/setup.cfg similarity index 100% rename from src/azurelargeinstance/setup.cfg rename to src/azure-large-instance/setup.cfg diff --git a/src/azurelargeinstance/setup.py b/src/azure-large-instance/setup.py similarity index 88% rename from src/azurelargeinstance/setup.py rename to src/azure-large-instance/setup.py index bca2c95ad69..b905714da99 100644 --- a/src/azurelargeinstance/setup.py +++ b/src/azure-large-instance/setup.py @@ -34,16 +34,16 @@ HISTORY = f.read() setup( - name='azurelargeinstance', + name='azure-large-instance', version=VERSION, - description='Microsoft Azure Command-Line Tools Azurelargeinstance Extension.', + description='Microsoft Azure Command-Line Tools AzureLargeInstance 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/azurelargeinstance', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/azure-large-instance', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), - package_data={'azext_azurelargeinstance': ['azext_metadata.json']}, + package_data={'azext_azure_large_instance': ['azext_metadata.json']}, install_requires=DEPENDENCIES ) diff --git a/src/azurelargeinstance/README.md b/src/azurelargeinstance/README.md deleted file mode 100644 index dddc2847663..00000000000 --- a/src/azurelargeinstance/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Azure CLI Azurelargeinstance Extension # -This is an extension to Azure CLI to manage Azurelargeinstance resources. - -## How to use ## -Please add commands usage here. \ No newline at end of file diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml deleted file mode 100644 index 40dd45b778a..00000000000 --- a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml +++ /dev/null @@ -1,44 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - azurelargeinstance list - Connection: - - keep-alive - ParameterSetName: - - --resource-group - User-Agent: - - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AzureLargeInstance/azureLargeInstances?api-version=2023-07-20-preview - response: - body: - string: '{"value":[]}' - headers: - cache-control: - - no-cache - content-length: - - '12' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 27 Oct 2023 22:00:57 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 -version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml deleted file mode 100644 index e037c3218bf..00000000000 --- a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml +++ /dev/null @@ -1,44 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - azurelargeinstance list - Connection: - - keep-alive - ParameterSetName: - - --debug - User-Agent: - - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.AzureLargeInstance/azureLargeInstances?api-version=2023-07-20-preview - response: - body: - string: '{"value":[]}' - headers: - cache-control: - - no-cache - content-length: - - '12' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 27 Oct 2023 22:00:55 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 -version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml deleted file mode 100644 index 7c639465e2e..00000000000 --- a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml +++ /dev/null @@ -1,44 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - azurelargestorageinstance list - Connection: - - keep-alive - ParameterSetName: - - --resource-group - User-Agent: - - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances?api-version=2023-07-20-preview - response: - body: - string: '{"value":[]}' - headers: - cache-control: - - no-cache - content-length: - - '12' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 27 Oct 2023 22:00:56 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 -version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml deleted file mode 100644 index ffe74d4c5c1..00000000000 --- a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml +++ /dev/null @@ -1,42 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - azurelargestorageinstance list - Connection: - - keep-alive - User-Agent: - - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances?api-version=2023-07-20-preview - response: - body: - string: '{"value":[]}' - headers: - cache-control: - - no-cache - content-length: - - '12' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 27 Oct 2023 22:00:55 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 -version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py deleted file mode 100644 index e40e45101f9..00000000000 --- a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py +++ /dev/null @@ -1,91 +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 -# -------------------------------------------------------------------------------------------- - -from azure.cli.testsdk import * - -class AzurelargeinstanceScenario(ScenarioTest): - - def test_list_azurelargeinstances_in_subscription(self): - self.cmd('az azurelargeinstance list --debug') - - @ResourceGroupPreparer() - def test_list_azurelargeinstances_in_resourcegroup(self, resource_group): - self.cmd('az azurelargeinstance list --resource-group {rg}') - - @ResourceGroupPreparer() - def test_restart_azurelargeinstance(self, resource_group): - self.kwargs.update({ - 'name': self.create_random_name('ALI-', 10), - 'force_state': 'active', - }) - self.cmd('az azurelargeinstance restart --resource-group $RESOURCE_GROUP --instance-name {name}') - - @ResourceGroupPreparer() - def test_restart_azurelargeinstance_with_force(self, resource_group): - self.kwargs.update({ - 'name': self.create_random_name('ALI-', 10), - 'force_state': 'active', - }) - force_state = 'active' - self.cmd('az azurelargeinstance restart --resource-group $RESOURCE_GROUP --instance-name {name} --force-state {force_state}') - - @ResourceGroupPreparer() - def test_show_azurelargeinstance(self, resource_group): - self.kwargs.update({ - 'name': self.create_random_name('ALI-', 10), - }) - self.cmd('az azurelargeinstance show --instance-name {name} --resource-group {rg}') - - @ResourceGroupPreparer() - def test_shutdown_azurelargeinstance(self, resource_group): - self.kwargs.update({ - 'name': self.create_random_name('ALI-', 10), - }) - self.cmd('az azurelargeinstance shutdown --instance-name {name} --resource-group {rg}') - - @ResourceGroupPreparer() - def test_start_azurelargeinstance(self, resource_group): - self.kwargs.update({ - 'name': self.create_random_name('ALI-', 10), - }) - self.cmd('az azurelargeinstance start --instance-name {name} --resource-group {rg}') - - @ResourceGroupPreparer() - def test_add_azurelargeinstance_tag(self, resource_group): - self.kwargs.update({ - 'name': self.create_random_name('ALI-', 10), - 'key': self.create_random_name('key', 10), - 'value': self.create_random_name('val', 10), - }) - self.cmd('az azurelargeinstance update --instance-name {name} --resource-group {rg} --tags {key}={value}') - - - def test_list_azurelargestorageinstances_in_subscription(self): - self.cmd('az azurelargestorageinstance list') - - @ResourceGroupPreparer() - def test_list_azurelargestorageinstances_in_resourcegroup(self, resource_group): - self.cmd('az azurelargestorageinstance list --resource-group {rg}') - - @ResourceGroupPreparer() - def test_show_azurelargestorageinstance(self, resource_group): - self.kwargs.update({ - 'name': self.create_random_name('ALI-', 10), - }) - self.cmd('az azurelargestorageinstance show --instance-name {name} --resource-group {rg}') - - @ResourceGroupPreparer() - def test_add_azurelargestorageinstance_tag(self, resource_group): - self.kwargs.update({ - 'name': self.create_random_name('ALI-', 10), - 'key': self.create_random_name('key', 10), - 'value': self.create_random_name('val', 10), - }) - self.cmd('az azurelargestorageinstance update --instance-name {name} --resource-group {rg} --tags {key}={value}') - - - From 65a58054c1fc668eefba076e00f8b5cf17f6e95b Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Tue, 14 Nov 2023 06:24:12 +0000 Subject: [PATCH 07/12] Added readme and changed command name to large-instance, large-storage-instance --- src/azure-large-instance/README.md | 5 -- .../HISTORY.rst | 0 src/azurelargeinstance/README.md | 51 +++++++++++++++++++ .../azext_azurelargeinstance}/__init__.py | 12 ++--- .../azext_azurelargeinstance}/_help.py | 0 .../azext_azurelargeinstance}/_params.py | 0 .../azext_azurelargeinstance}/aaz/__init__.py | 0 .../aaz/latest/__init__.py | 0 .../aaz/latest/large_instance/__cmd_group.py | 0 .../aaz/latest/large_instance/__init__.py | 0 .../aaz/latest/large_instance/_list.py | 0 .../aaz/latest/large_instance/_restart.py | 0 .../aaz/latest/large_instance/_show.py | 0 .../aaz/latest/large_instance/_shutdown.py | 0 .../aaz/latest/large_instance/_start.py | 0 .../aaz/latest/large_instance/_update.py | 0 .../large_storage_instance/__cmd_group.py | 0 .../latest/large_storage_instance/__init__.py | 0 .../latest/large_storage_instance/_list.py | 0 .../latest/large_storage_instance/_show.py | 0 .../latest/large_storage_instance/_update.py | 0 .../azext_metadata.json | 0 .../azext_azurelargeinstance}/commands.py | 0 .../azext_azurelargeinstance}/custom.py | 0 .../tests/__init__.py | 0 .../tests/latest/__init__.py | 0 .../tests/latest/test_azurelargeinstance.py} | 18 +++++-- .../setup.cfg | 0 .../setup.py | 8 +-- 29 files changed, 75 insertions(+), 19 deletions(-) delete mode 100644 src/azure-large-instance/README.md rename src/{azure-large-instance => azurelargeinstance}/HISTORY.rst (100%) create mode 100644 src/azurelargeinstance/README.md rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/__init__.py (74%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/_help.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/_params.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/__init__.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/__init__.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_instance/__cmd_group.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_instance/__init__.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_instance/_list.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_instance/_restart.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_instance/_show.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_instance/_shutdown.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_instance/_start.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_instance/_update.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_storage_instance/__cmd_group.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_storage_instance/__init__.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_storage_instance/_list.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_storage_instance/_show.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/aaz/latest/large_storage_instance/_update.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/azext_metadata.json (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/commands.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/custom.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/tests/__init__.py (100%) rename src/{azure-large-instance/azext_azure_large_instance => azurelargeinstance/azext_azurelargeinstance}/tests/latest/__init__.py (100%) rename src/{azure-large-instance/azext_azure_large_instance/tests/latest/test_azure_large_instance.py => azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py} (61%) rename src/{azure-large-instance => azurelargeinstance}/setup.cfg (100%) rename src/{azure-large-instance => azurelargeinstance}/setup.py (88%) diff --git a/src/azure-large-instance/README.md b/src/azure-large-instance/README.md deleted file mode 100644 index fc433edf2bf..00000000000 --- a/src/azure-large-instance/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Azure CLI AzureLargeInstance Extension # -This is an extension to Azure CLI to manage AzureLargeInstance resources. - -## How to use ## -Please add commands usage here. \ No newline at end of file diff --git a/src/azure-large-instance/HISTORY.rst b/src/azurelargeinstance/HISTORY.rst similarity index 100% rename from src/azure-large-instance/HISTORY.rst rename to src/azurelargeinstance/HISTORY.rst diff --git a/src/azurelargeinstance/README.md b/src/azurelargeinstance/README.md new file mode 100644 index 00000000000..36314212d81 --- /dev/null +++ b/src/azurelargeinstance/README.md @@ -0,0 +1,51 @@ +# Azure CLI Azurelargeinstance Extension # +This is an extension to Azure CLI to manage Azure Large Instance resources. + +## Setup: +1. Install CLI first: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli +2. Install the extension by running `az extension add -n azurelargeinstance` + +## Usage Examples: +To list Azure Large Instances in a subscription + +`az large-instance list --subscription $SUBSCRIPTION_ID` + +To list Azure Large Instances in a specific subscription and resource group + +`az large-instance list --subscription $SUBSCRIPTION_ID --resource-group $RESOURCE_GROUP` + +To restart an Azure Large Instance + +`az large-instance restart --subscription $SUBSCRIPTION_ID --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME` + +To show details about an Azure Large Instance + +`az large-instance show --subscription $SUBSCRIPTION_ID --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP` + +To shutdown an Azure Large Instance + +`az large-instance shutdown --subscription $SUBSCRIPTION_ID --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME` + +To start an Azure Large Instance + +`az large-instance start --subscription $SUBSCRIPTION_ID --resource-group $RESOURCE_GROUP --instance-name $INSTANCE_NAME` + +To add an Azure Large Instance tag + +`az large-instance update --subscription $SUBSCRIPTION_ID --instance-name=$INSTANCE_NAME --resource-group=$RESOURCE_GROUP --tags newKey=value` + +To list Azure Large Storage Instances in a subscription + +`az large-storage-instance list --subscription $SUBSCRIPTION_ID` + +To list Azure Large Storage Instances in a specific subscription and resource group + +`az large-storage-instance list --subscription $SUBSCRIPTIONID --resource-group $RESOURCE_GROUP` + +To show details about a specific Azure Large Storage Instance + +`az large-storage-instance show --subscription $SUBSCRIPTION_ID --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP` + +To add an Azure Large Storage Instance tag + +`az large-storage-instance update --subscription $SUBSCRIPTION_ID --instance-name $INSTANCE_NAME --resource-group $RESOURCE_GROUP --tags newKey=value` \ No newline at end of file diff --git a/src/azure-large-instance/azext_azure_large_instance/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/__init__.py similarity index 74% rename from src/azure-large-instance/azext_azure_large_instance/__init__.py rename to src/azurelargeinstance/azext_azurelargeinstance/__init__.py index c767761b13a..3c4081efda6 100644 --- a/src/azure-large-instance/azext_azure_large_instance/__init__.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/__init__.py @@ -6,20 +6,20 @@ # -------------------------------------------------------------------------------------------- from azure.cli.core import AzCommandsLoader -from azext_azure_large_instance._help import helps # pylint: disable=unused-import +from azext_azurelargeinstance._help import helps # pylint: disable=unused-import -class AzureLargeInstanceCommandsLoader(AzCommandsLoader): +class AzurelargeinstanceCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType custom_command_type = CliCommandType( - operations_tmpl='azext_azure_large_instance.custom#{}') + operations_tmpl='azext_azurelargeinstance.custom#{}') super().__init__(cli_ctx=cli_ctx, custom_command_type=custom_command_type) def load_command_table(self, args): - from azext_azure_large_instance.commands import load_command_table + from azext_azurelargeinstance.commands import load_command_table from azure.cli.core.aaz import load_aaz_command_table try: from . import aaz @@ -35,8 +35,8 @@ def load_command_table(self, args): return self.command_table def load_arguments(self, command): - from azext_azure_large_instance._params import load_arguments + from azext_azurelargeinstance._params import load_arguments load_arguments(self, command) -COMMAND_LOADER_CLS = AzureLargeInstanceCommandsLoader +COMMAND_LOADER_CLS = AzurelargeinstanceCommandsLoader diff --git a/src/azure-large-instance/azext_azure_large_instance/_help.py b/src/azurelargeinstance/azext_azurelargeinstance/_help.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/_help.py rename to src/azurelargeinstance/azext_azurelargeinstance/_help.py diff --git a/src/azure-large-instance/azext_azure_large_instance/_params.py b/src/azurelargeinstance/azext_azurelargeinstance/_params.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/_params.py rename to src/azurelargeinstance/azext_azurelargeinstance/_params.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/__init__.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/__init__.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/__init__.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/__init__.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/__init__.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/__init__.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/__cmd_group.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/__cmd_group.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/__cmd_group.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/__cmd_group.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/__init__.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/__init__.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/__init__.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_list.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_list.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_list.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_list.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_restart.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_restart.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_restart.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_restart.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_show.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_show.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_show.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_show.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_shutdown.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_shutdown.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_shutdown.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_shutdown.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_start.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_start.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_start.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_start.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_update.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_update.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_instance/_update.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_instance/_update.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/__cmd_group.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_storage_instance/__cmd_group.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/__cmd_group.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_storage_instance/__cmd_group.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_storage_instance/__init__.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/__init__.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_storage_instance/__init__.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_list.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_storage_instance/_list.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_list.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_storage_instance/_list.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_show.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_storage_instance/_show.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_show.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_storage_instance/_show.py diff --git a/src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_update.py b/src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_storage_instance/_update.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/aaz/latest/large_storage_instance/_update.py rename to src/azurelargeinstance/azext_azurelargeinstance/aaz/latest/large_storage_instance/_update.py diff --git a/src/azure-large-instance/azext_azure_large_instance/azext_metadata.json b/src/azurelargeinstance/azext_azurelargeinstance/azext_metadata.json similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/azext_metadata.json rename to src/azurelargeinstance/azext_azurelargeinstance/azext_metadata.json diff --git a/src/azure-large-instance/azext_azure_large_instance/commands.py b/src/azurelargeinstance/azext_azurelargeinstance/commands.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/commands.py rename to src/azurelargeinstance/azext_azurelargeinstance/commands.py diff --git a/src/azure-large-instance/azext_azure_large_instance/custom.py b/src/azurelargeinstance/azext_azurelargeinstance/custom.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/custom.py rename to src/azurelargeinstance/azext_azurelargeinstance/custom.py diff --git a/src/azure-large-instance/azext_azure_large_instance/tests/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/__init__.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/tests/__init__.py rename to src/azurelargeinstance/azext_azurelargeinstance/tests/__init__.py diff --git a/src/azure-large-instance/azext_azure_large_instance/tests/latest/__init__.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/__init__.py similarity index 100% rename from src/azure-large-instance/azext_azure_large_instance/tests/latest/__init__.py rename to src/azurelargeinstance/azext_azurelargeinstance/tests/latest/__init__.py diff --git a/src/azure-large-instance/azext_azure_large_instance/tests/latest/test_azure_large_instance.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py similarity index 61% rename from src/azure-large-instance/azext_azure_large_instance/tests/latest/test_azure_large_instance.py rename to src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py index 65829c44d4c..38c5779d100 100644 --- a/src/azure-large-instance/azext_azure_large_instance/tests/latest/test_azure_large_instance.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py @@ -8,9 +8,13 @@ from azure.cli.testsdk import * -class AzureLargeInstanceScenario(ScenarioTest): +class AzurelargeinstanceScenario(ScenarioTest): def test_list_azurelargeinstances_in_subscription(self): - self.cmd('az large-instance list') + self.kwargs.update({ + 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06' + }) + + self.cmd('az large-instance list --subscription {subscription}') @ResourceGroupPreparer() def test_list_azurelargeinstances_in_resourcegroup(self, resource_group): @@ -21,8 +25,14 @@ def test_list_azurelargeinstances_in_resourcegroup(self, resource_group): self.cmd('az large-instance list --subscription {subscription} --resource-group {rg}') def test_list_azurelargestorageinstances_in_subscription(self): - self.cmd('az large-storage-instance list') + self.kwargs.update({ + 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06' + }) + self.cmd('az large-storage-instance list --subscription {subscription}') @ResourceGroupPreparer() def test_list_azurelargestorageinstances_in_resourcegroup(self, resource_group): - self.cmd('az large-storage-instance list --resource-group {rg}') + self.kwargs.update({ + 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06' + }) + self.cmd('az large-storage-instance list --subscription {subscription} --resource-group {rg}') diff --git a/src/azure-large-instance/setup.cfg b/src/azurelargeinstance/setup.cfg similarity index 100% rename from src/azure-large-instance/setup.cfg rename to src/azurelargeinstance/setup.cfg diff --git a/src/azure-large-instance/setup.py b/src/azurelargeinstance/setup.py similarity index 88% rename from src/azure-large-instance/setup.py rename to src/azurelargeinstance/setup.py index b905714da99..bca2c95ad69 100644 --- a/src/azure-large-instance/setup.py +++ b/src/azurelargeinstance/setup.py @@ -34,16 +34,16 @@ HISTORY = f.read() setup( - name='azure-large-instance', + name='azurelargeinstance', version=VERSION, - description='Microsoft Azure Command-Line Tools AzureLargeInstance Extension.', + description='Microsoft Azure Command-Line Tools Azurelargeinstance 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/azure-large-instance', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/azurelargeinstance', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), - package_data={'azext_azure_large_instance': ['azext_metadata.json']}, + package_data={'azext_azurelargeinstance': ['azext_metadata.json']}, install_requires=DEPENDENCIES ) From 8954946afb9e27282d66b325e673800fda268679 Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Tue, 14 Nov 2023 08:24:42 +0000 Subject: [PATCH 08/12] Added recordings --- ..._azurelargeinstances_in_resourcegroup.yaml | 44 +++++++++++++++++++ ...t_azurelargeinstances_in_subscription.yaml | 44 +++++++++++++++++++ ...argestorageinstances_in_resourcegroup.yaml | 44 +++++++++++++++++++ ...largestorageinstances_in_subscription.yaml | 44 +++++++++++++++++++ .../tests/latest/test_azurelargeinstance.py | 16 +++---- 5 files changed, 184 insertions(+), 8 deletions(-) create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml create mode 100644 src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml new file mode 100644 index 00000000000..98d85a19206 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_resourcegroup.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - large-instance list + Connection: + - keep-alive + ParameterSetName: + - --subscription --resource-group + User-Agent: + - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DSM05A-T100/providers/Microsoft.AzureLargeInstance/azureLargeInstances?api-version=2023-07-20-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 14 Nov 2023 07:05:15 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 +version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml new file mode 100644 index 00000000000..6fd412f7629 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargeinstances_in_subscription.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - large-instance list + Connection: + - keep-alive + ParameterSetName: + - --subscription + User-Agent: + - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.AzureLargeInstance/azureLargeInstances?api-version=2023-07-20-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 14 Nov 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 + status: + code: 200 + message: OK +version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml new file mode 100644 index 00000000000..0384d99aac5 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_resourcegroup.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - large-storage-instance list + Connection: + - keep-alive + ParameterSetName: + - --subscription --resource-group + User-Agent: + - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DSM05A-T100/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances?api-version=2023-07-20-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 14 Nov 2023 07:05:15 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 +version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml new file mode 100644 index 00000000000..51d87333217 --- /dev/null +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/recordings/test_list_azurelargestorageinstances_in_subscription.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - large-storage-instance list + Connection: + - keep-alive + ParameterSetName: + - --subscription + User-Agent: + - AZURECLI/2.53.0 (AAZ) azsdk-python-core/1.26.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.AzureLargeInstance/azureLargeStorageInstances?api-version=2023-07-20-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 14 Nov 2023 06:52:02 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 +version: 1 diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py index 38c5779d100..e3d507c757e 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py @@ -16,13 +16,13 @@ def test_list_azurelargeinstances_in_subscription(self): self.cmd('az large-instance list --subscription {subscription}') - @ResourceGroupPreparer() - def test_list_azurelargeinstances_in_resourcegroup(self, resource_group): + def test_list_azurelargeinstances_in_resourcegroup(self): self.kwargs.update({ - 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06' + 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06', + 'resource_group': 'DSM05A-T100' }) - self.cmd('az large-instance list --subscription {subscription} --resource-group {rg}') + self.cmd('az large-instance list --subscription {subscription} --resource-group {resource_group}') def test_list_azurelargestorageinstances_in_subscription(self): self.kwargs.update({ @@ -30,9 +30,9 @@ def test_list_azurelargestorageinstances_in_subscription(self): }) self.cmd('az large-storage-instance list --subscription {subscription}') - @ResourceGroupPreparer() - def test_list_azurelargestorageinstances_in_resourcegroup(self, resource_group): + def test_list_azurelargestorageinstances_in_resourcegroup(self): self.kwargs.update({ - 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06' + 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06', + 'resource_group': 'DSM05A-T100' }) - self.cmd('az large-storage-instance list --subscription {subscription} --resource-group {rg}') + self.cmd('az large-storage-instance list --subscription {subscription} --resource-group {resource_group}') From 66868430408ff56b33f2a63f50c0305ab790948b Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Wed, 15 Nov 2023 20:25:32 +0000 Subject: [PATCH 09/12] Completed tests --- .../tests/latest/test_azurelargeinstance.py | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py index e3d507c757e..b959fb3c8d3 100644 --- a/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py +++ b/src/azurelargeinstance/azext_azurelargeinstance/tests/latest/test_azurelargeinstance.py @@ -10,29 +10,20 @@ class AzurelargeinstanceScenario(ScenarioTest): def test_list_azurelargeinstances_in_subscription(self): - self.kwargs.update({ - 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06' - }) - - self.cmd('az large-instance list --subscription {subscription}') + self.cmd('az large-instance list') def test_list_azurelargeinstances_in_resourcegroup(self): self.kwargs.update({ - 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06', 'resource_group': 'DSM05A-T100' }) - self.cmd('az large-instance list --subscription {subscription} --resource-group {resource_group}') + self.cmd('az large-instance list --resource-group {resource_group}') def test_list_azurelargestorageinstances_in_subscription(self): - self.kwargs.update({ - 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06' - }) - self.cmd('az large-storage-instance list --subscription {subscription}') + self.cmd('az large-storage-instance list') def test_list_azurelargestorageinstances_in_resourcegroup(self): self.kwargs.update({ - 'subscription': '10267def-42d5-4bc8-8cc0-887da4742d06', 'resource_group': 'DSM05A-T100' }) - self.cmd('az large-storage-instance list --subscription {subscription} --resource-group {resource_group}') + self.cmd('az large-storage-instance list --resource-group {resource_group}') From a8c4e42e09867c4d8a8a35a730a3f18a41cfdccf Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Wed, 15 Nov 2023 20:39:00 +0000 Subject: [PATCH 10/12] Added commands to service_name.json --- src/service_name.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/service_name.json b/src/service_name.json index f6887870b84..a33feba49a8 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -768,5 +768,10 @@ "Command": "az site-recovery", "AzureServiceName": "Azure Site Recovery", "URL": "https://learn.microsoft.com/en-us/azure/site-recovery/" + }, + { + "Command": "az large-instance", + "AzureServiceName": "Azure Large Instance", + "URL": "https://learn.microsoft.com/en-us/azure/azure-large-instances/" } ] From 838c91700cc23ab74fc33f4312d7f80b635f449d Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Wed, 15 Nov 2023 20:40:14 +0000 Subject: [PATCH 11/12] Removed trailing comma --- src/service_name.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/service_name.json b/src/service_name.json index a33feba49a8..d80eaabe04d 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -773,5 +773,10 @@ "Command": "az large-instance", "AzureServiceName": "Azure Large Instance", "URL": "https://learn.microsoft.com/en-us/azure/azure-large-instances/" + }, + { + "Command": "az large-storage-instance", + "AzureServiceName": "Azure Large Instance", + "URL": "https://learn.microsoft.com/en-us/azure/azure-large-instances/" } ] From c3ac9451f44bb5e3e89ec4abba1627ae0737f13f Mon Sep 17 00:00:00 2001 From: Ashwin Jeyaseelan Date: Wed, 15 Nov 2023 21:17:22 +0000 Subject: [PATCH 12/12] Added codeowners --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 6c65009bb63..892c55974df 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -316,3 +316,4 @@ /src/network-analytics/ @pikanghosh1 +/src/azurelargeinstance/ @8Gitbrix \ No newline at end of file