diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d0e95126197..2bd6c188847 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -292,4 +292,6 @@ /src/workloads/ @jsntcy -/src/self-help/ @BharathaAravind \ No newline at end of file +/src/self-help/ @BharathaAravind + +/src/qumulo/ @jsntcy diff --git a/src/qumulo/HISTORY.rst b/src/qumulo/HISTORY.rst new file mode 100644 index 00000000000..b676924121b --- /dev/null +++ b/src/qumulo/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +1.0.0 +++++++ +* Initial release. diff --git a/src/qumulo/README.md b/src/qumulo/README.md new file mode 100644 index 00000000000..b6e193674b7 --- /dev/null +++ b/src/qumulo/README.md @@ -0,0 +1,34 @@ +# Azure CLI Qumulo Extension # +This is an extension to Azure CLI to manage Qumulo resources. + +## How to use ## +Install this extension using the below CLI command +``` +az extension add --name qumulo +``` + +### Included Features ### +#### qumulo storage file-system #### +##### Create ##### +``` +az qumulo storage file-system create -n sys_name -g rg --admin-password testadmin --delegated-subnet-id subnet-id --initial-capacity 50 --marketplace-details "{offerId:qumulo-saas-mpp,planId:qumulo-on-azure-v1%%gmz7xq9ge3py%%P1M,publisherId:qumulo1584033880660}" --storage-sku Standard --user-details "{email:test@test.com}" --availability-zone 1 + +``` + +##### Delete ##### +``` +az qumulo storage file-system delete -g rg -n sys_name + +``` + +##### List ##### +``` +az qumulo storage file-system list -g rg + +``` + +##### Show ##### +``` +az qumulo storage file-system show -g rg -n sys_name + +``` diff --git a/src/qumulo/azext_qumulo/__init__.py b/src/qumulo/azext_qumulo/__init__.py new file mode 100644 index 00000000000..bbe5e24f08c --- /dev/null +++ b/src/qumulo/azext_qumulo/__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_qumulo._help import helps # pylint: disable=unused-import + + +class QumuloCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + custom_command_type = CliCommandType( + operations_tmpl='azext_qumulo.custom#{}') + super().__init__(cli_ctx=cli_ctx, + custom_command_type=custom_command_type) + + def load_command_table(self, args): + from azext_qumulo.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_qumulo._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = QumuloCommandsLoader diff --git a/src/qumulo/azext_qumulo/_help.py b/src/qumulo/azext_qumulo/_help.py new file mode 100644 index 00000000000..126d5d00714 --- /dev/null +++ b/src/qumulo/azext_qumulo/_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/qumulo/azext_qumulo/_params.py b/src/qumulo/azext_qumulo/_params.py new file mode 100644 index 00000000000..cfcec717c9c --- /dev/null +++ b/src/qumulo/azext_qumulo/_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/qumulo/azext_qumulo/aaz/__init__.py b/src/qumulo/azext_qumulo/aaz/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/qumulo/azext_qumulo/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/qumulo/azext_qumulo/aaz/latest/__init__.py b/src/qumulo/azext_qumulo/aaz/latest/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/qumulo/azext_qumulo/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/qumulo/azext_qumulo/aaz/latest/qumulo/__cmd_group.py b/src/qumulo/azext_qumulo/aaz/latest/qumulo/__cmd_group.py new file mode 100644 index 00000000000..fabbbf233a1 --- /dev/null +++ b/src/qumulo/azext_qumulo/aaz/latest/qumulo/__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( + "qumulo", +) +class __CMDGroup(AAZCommandGroup): + """Manage qumulo + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/qumulo/azext_qumulo/aaz/latest/qumulo/__init__.py b/src/qumulo/azext_qumulo/aaz/latest/qumulo/__init__.py new file mode 100644 index 00000000000..5a9d61963d6 --- /dev/null +++ b/src/qumulo/azext_qumulo/aaz/latest/qumulo/__init__.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: skip-file +# flake8: noqa + +from .__cmd_group import * diff --git a/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/__cmd_group.py b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/__cmd_group.py new file mode 100644 index 00000000000..1e2c7f37fb3 --- /dev/null +++ b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/__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( + "qumulo storage", +) +class __CMDGroup(AAZCommandGroup): + """Manage qumulo storage + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/__init__.py b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/__init__.py new file mode 100644 index 00000000000..5a9d61963d6 --- /dev/null +++ b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/__init__.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: skip-file +# flake8: noqa + +from .__cmd_group import * diff --git a/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/__cmd_group.py b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/__cmd_group.py new file mode 100644 index 00000000000..840f484d880 --- /dev/null +++ b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/__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( + "qumulo storage file-system", +) +class __CMDGroup(AAZCommandGroup): + """Manage qumulo storage file system + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/__init__.py b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/__init__.py new file mode 100644 index 00000000000..2d1a2078686 --- /dev/null +++ b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_create.py b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_create.py new file mode 100644 index 00000000000..2b3bd8c89ee --- /dev/null +++ b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_create.py @@ -0,0 +1,473 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "qumulo storage file-system create", +) +class Create(AAZCommand): + """Create file system resource + + :example: Create file system + az qumulo storage file-system create -n sys_name -g rg --admin-password testadmin --delegated-subnet-id subnet-id --initial-capacity 50 --marketplace-details "{offerId:qumulo-saas-mpp,planId:qumulo-on-azure-v1%%gmz7xq9ge3py%%P1M,publisherId:qumulo1584033880660}" --storage-sku Standard --user-details "{email:test@test.com}" --availability-zone 1 + """ + + _aaz_info = { + "version": "2022-10-12", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/qumulo.storage/filesystems/{}", "2022-10-12"], + ] + } + + 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.file_system_name = AAZStrArg( + options=["-n", "--name", "--file-system-name"], + help="Name of the File System resource", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.admin_password = AAZStrArg( + options=["--admin-password"], + arg_group="Properties", + help="Initial administrator password of the resource", + required=True, + ) + _args_schema.availability_zone = AAZStrArg( + options=["--availability-zone"], + arg_group="Properties", + help="Availability zone", + ) + _args_schema.cluster_login_url = AAZStrArg( + options=["--cluster-login-url"], + arg_group="Properties", + help="File system Id of the resource", + ) + _args_schema.delegated_subnet_id = AAZStrArg( + options=["--delegated-subnet-id"], + arg_group="Properties", + help="Delegated subnet id for Vnet injection", + required=True, + ) + _args_schema.initial_capacity = AAZIntArg( + options=["--initial-capacity"], + arg_group="Properties", + help="Storage capacity in TB", + required=True, + ) + _args_schema.marketplace_details = AAZObjectArg( + options=["--marketplace-details"], + arg_group="Properties", + help="Marketplace details", + required=True, + ) + _args_schema.private_ips = AAZListArg( + options=["--private-ips"], + arg_group="Properties", + help="Private IPs of the resource", + ) + _args_schema.storage_sku = AAZStrArg( + options=["--storage-sku"], + arg_group="Properties", + help="Storage Sku", + required=True, + enum={"Performance": "Performance", "Standard": "Standard"}, + ) + _args_schema.user_details = AAZObjectArg( + options=["--user-details"], + arg_group="Properties", + help="User Details", + required=True, + ) + + marketplace_details = cls._args_schema.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrArg( + options=["marketplace-subscription-id"], + help="Marketplace Subscription Id", + ) + marketplace_details.offer_id = AAZStrArg( + options=["offer-id"], + help="Offer Id", + required=True, + ) + marketplace_details.plan_id = AAZStrArg( + options=["plan-id"], + help="Plan Id", + required=True, + ) + marketplace_details.publisher_id = AAZStrArg( + options=["publisher-id"], + help="Publisher Id", + required=True, + ) + + private_ips = cls._args_schema.private_ips + private_ips.Element = AAZStrArg() + + user_details = cls._args_schema.user_details + user_details.email = AAZStrArg( + options=["email"], + help="User Email", + required=True, + ) + + # define Arg Group "Resource" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Resource", + help="The geo-location where the resource lives", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Resource", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.FileSystemsCreateOrUpdate(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 FileSystemsCreateOrUpdate(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_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200, 201]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + 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/Qumulo.Storage/fileSystems/{fileSystemName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "fileSystemName", self.ctx.args.file_system_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", "2022-10-12", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("adminPassword", AAZStrType, ".admin_password", typ_kwargs={"flags": {"required": True, "secret": True}}) + properties.set_prop("availabilityZone", AAZStrType, ".availability_zone") + properties.set_prop("clusterLoginUrl", AAZStrType, ".cluster_login_url") + properties.set_prop("delegatedSubnetId", AAZStrType, ".delegated_subnet_id", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("initialCapacity", AAZIntType, ".initial_capacity", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("marketplaceDetails", AAZObjectType, ".marketplace_details", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("privateIPs", AAZListType, ".private_ips") + properties.set_prop("storageSku", AAZStrType, ".storage_sku", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("userDetails", AAZObjectType, ".user_details", typ_kwargs={"flags": {"required": True}}) + + marketplace_details = _builder.get(".properties.marketplaceDetails") + if marketplace_details is not None: + marketplace_details.set_prop("marketplaceSubscriptionId", AAZStrType, ".marketplace_subscription_id") + marketplace_details.set_prop("offerId", AAZStrType, ".offer_id", typ_kwargs={"flags": {"required": True}}) + marketplace_details.set_prop("planId", AAZStrType, ".plan_id", typ_kwargs={"flags": {"required": True}}) + marketplace_details.set_prop("publisherId", AAZStrType, ".publisher_id", typ_kwargs={"flags": {"required": True}}) + + private_i_ps = _builder.get(".properties.privateIPs") + if private_i_ps is not None: + private_i_ps.set_elements(AAZStrType, ".") + + user_details = _builder.get(".properties.userDetails") + if user_details is not None: + user_details.set_prop("email", AAZStrType, ".email", typ_kwargs={"flags": {"required": True, "secret": True}}) + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.identity = AAZObjectType() + _schema_on_200_201.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200_201.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.tags = AAZDictType() + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200_201.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200_201.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200_201.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + flags={"read_only": True}, + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.admin_password = AAZStrType( + serialized_name="adminPassword", + flags={"required": True, "secret": True}, + ) + properties.availability_zone = AAZStrType( + serialized_name="availabilityZone", + ) + properties.cluster_login_url = AAZStrType( + serialized_name="clusterLoginUrl", + ) + properties.delegated_subnet_id = AAZStrType( + serialized_name="delegatedSubnetId", + flags={"required": True}, + ) + properties.initial_capacity = AAZIntType( + serialized_name="initialCapacity", + flags={"required": True}, + ) + properties.marketplace_details = AAZObjectType( + serialized_name="marketplaceDetails", + flags={"required": True}, + ) + properties.private_i_ps = AAZListType( + serialized_name="privateIPs", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.storage_sku = AAZStrType( + serialized_name="storageSku", + flags={"required": True}, + ) + properties.user_details = AAZObjectType( + serialized_name="userDetails", + flags={"required": True}, + ) + + marketplace_details = cls._schema_on_200_201.properties.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrType( + serialized_name="marketplaceSubscriptionId", + ) + marketplace_details.marketplace_subscription_status = AAZStrType( + serialized_name="marketplaceSubscriptionStatus", + ) + marketplace_details.offer_id = AAZStrType( + serialized_name="offerId", + flags={"required": True}, + ) + marketplace_details.plan_id = AAZStrType( + serialized_name="planId", + flags={"required": True}, + ) + marketplace_details.publisher_id = AAZStrType( + serialized_name="publisherId", + flags={"required": True}, + ) + + private_i_ps = cls._schema_on_200_201.properties.private_i_ps + private_i_ps.Element = AAZStrType() + + user_details = cls._schema_on_200_201.properties.user_details + user_details.email = AAZStrType( + flags={"required": True, "secret": True}, + ) + + system_data = cls._schema_on_200_201.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_201.tags + tags.Element = AAZStrType() + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_delete.py b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_delete.py new file mode 100644 index 00000000000..4b98b613d52 --- /dev/null +++ b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_delete.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "qumulo storage file-system delete", + confirmation="Are you sure you want to perform this operation?", +) +class Delete(AAZCommand): + """Delete file system resource + + :example: Delete file system + az qumulo storage file-system delete -g rg -n sys_name + """ + + _aaz_info = { + "version": "2022-10-12", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/qumulo.storage/filesystems/{}", "2022-10-12"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.file_system_name = AAZStrArg( + options=["-n", "--name", "--file-system-name"], + help="Name of the File System resource", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.FileSystemsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class FileSystemsDelete(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": "azure-async-operation"}, + 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": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + 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/Qumulo.Storage/fileSystems/{fileSystemName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "fileSystemName", self.ctx.args.file_system_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", "2022-10-12", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_list.py b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_list.py new file mode 100644 index 00000000000..388e983d384 --- /dev/null +++ b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_list.py @@ -0,0 +1,534 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "qumulo storage file-system list", +) +class List(AAZCommand): + """List file system resources + + :example: List file system by resource group + az qumulo storage file-system list -g rg + """ + + _aaz_info = { + "version": "2022-10-12", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/qumulo.storage/filesystems", "2022-10-12"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/qumulo.storage/filesystems", "2022-10-12"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + condition_0 = has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id) + condition_1 = has_value(self.ctx.subscription_id) and has_value(self.ctx.args.resource_group) is not True + if condition_0: + self.FileSystemsListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.FileSystemsListBySubscription(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 FileSystemsListByResourceGroup(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/Qumulo.Storage/fileSystems", + **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", "2022-10-12", + 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( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.identity = AAZObjectType() + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.value.Element.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.value.Element.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + flags={"read_only": True}, + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.admin_password = AAZStrType( + serialized_name="adminPassword", + flags={"required": True, "secret": True}, + ) + properties.availability_zone = AAZStrType( + serialized_name="availabilityZone", + ) + properties.cluster_login_url = AAZStrType( + serialized_name="clusterLoginUrl", + ) + properties.delegated_subnet_id = AAZStrType( + serialized_name="delegatedSubnetId", + flags={"required": True}, + ) + properties.initial_capacity = AAZIntType( + serialized_name="initialCapacity", + flags={"required": True}, + ) + properties.marketplace_details = AAZObjectType( + serialized_name="marketplaceDetails", + flags={"required": True}, + ) + properties.private_i_ps = AAZListType( + serialized_name="privateIPs", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.storage_sku = AAZStrType( + serialized_name="storageSku", + flags={"required": True}, + ) + properties.user_details = AAZObjectType( + serialized_name="userDetails", + flags={"required": True}, + ) + + marketplace_details = cls._schema_on_200.value.Element.properties.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrType( + serialized_name="marketplaceSubscriptionId", + ) + marketplace_details.marketplace_subscription_status = AAZStrType( + serialized_name="marketplaceSubscriptionStatus", + ) + marketplace_details.offer_id = AAZStrType( + serialized_name="offerId", + flags={"required": True}, + ) + marketplace_details.plan_id = AAZStrType( + serialized_name="planId", + flags={"required": True}, + ) + marketplace_details.publisher_id = AAZStrType( + serialized_name="publisherId", + flags={"required": True}, + ) + + private_i_ps = cls._schema_on_200.value.Element.properties.private_i_ps + private_i_ps.Element = AAZStrType() + + user_details = cls._schema_on_200.value.Element.properties.user_details + user_details.email = AAZStrType( + flags={"required": True, "secret": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class FileSystemsListBySubscription(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/Qumulo.Storage/fileSystems", + **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", "2022-10-12", + 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( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.identity = AAZObjectType() + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.value.Element.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.value.Element.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + flags={"read_only": True}, + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.admin_password = AAZStrType( + serialized_name="adminPassword", + flags={"required": True, "secret": True}, + ) + properties.availability_zone = AAZStrType( + serialized_name="availabilityZone", + ) + properties.cluster_login_url = AAZStrType( + serialized_name="clusterLoginUrl", + ) + properties.delegated_subnet_id = AAZStrType( + serialized_name="delegatedSubnetId", + flags={"required": True}, + ) + properties.initial_capacity = AAZIntType( + serialized_name="initialCapacity", + flags={"required": True}, + ) + properties.marketplace_details = AAZObjectType( + serialized_name="marketplaceDetails", + flags={"required": True}, + ) + properties.private_i_ps = AAZListType( + serialized_name="privateIPs", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.storage_sku = AAZStrType( + serialized_name="storageSku", + flags={"required": True}, + ) + properties.user_details = AAZObjectType( + serialized_name="userDetails", + flags={"required": True}, + ) + + marketplace_details = cls._schema_on_200.value.Element.properties.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrType( + serialized_name="marketplaceSubscriptionId", + ) + marketplace_details.marketplace_subscription_status = AAZStrType( + serialized_name="marketplaceSubscriptionStatus", + ) + marketplace_details.offer_id = AAZStrType( + serialized_name="offerId", + flags={"required": True}, + ) + marketplace_details.plan_id = AAZStrType( + serialized_name="planId", + flags={"required": True}, + ) + marketplace_details.publisher_id = AAZStrType( + serialized_name="publisherId", + flags={"required": True}, + ) + + private_i_ps = cls._schema_on_200.value.Element.properties.private_i_ps + private_i_ps.Element = AAZStrType() + + user_details = cls._schema_on_200.value.Element.properties.user_details + user_details.email = AAZStrType( + flags={"required": True, "secret": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_show.py b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_show.py new file mode 100644 index 00000000000..0fd6557fc97 --- /dev/null +++ b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_show.py @@ -0,0 +1,303 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "qumulo storage file-system show", +) +class Show(AAZCommand): + """Show file system resource + + :example: Show file system + az qumulo storage file-system show -g rg -n sys_name + """ + + _aaz_info = { + "version": "2022-10-12", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/qumulo.storage/filesystems/{}", "2022-10-12"], + ] + } + + 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.file_system_name = AAZStrArg( + options=["-n", "--name", "--file-system-name"], + help="Name of the File System resource", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FileSystemsGet(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 FileSystemsGet(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/Qumulo.Storage/fileSystems/{fileSystemName}", + **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( + "fileSystemName", self.ctx.args.file_system_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", "2022-10-12", + 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.identity = AAZObjectType() + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + flags={"read_only": True}, + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.admin_password = AAZStrType( + serialized_name="adminPassword", + flags={"required": True, "secret": True}, + ) + properties.availability_zone = AAZStrType( + serialized_name="availabilityZone", + ) + properties.cluster_login_url = AAZStrType( + serialized_name="clusterLoginUrl", + ) + properties.delegated_subnet_id = AAZStrType( + serialized_name="delegatedSubnetId", + flags={"required": True}, + ) + properties.initial_capacity = AAZIntType( + serialized_name="initialCapacity", + flags={"required": True}, + ) + properties.marketplace_details = AAZObjectType( + serialized_name="marketplaceDetails", + flags={"required": True}, + ) + properties.private_i_ps = AAZListType( + serialized_name="privateIPs", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.storage_sku = AAZStrType( + serialized_name="storageSku", + flags={"required": True}, + ) + properties.user_details = AAZObjectType( + serialized_name="userDetails", + flags={"required": True}, + ) + + marketplace_details = cls._schema_on_200.properties.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrType( + serialized_name="marketplaceSubscriptionId", + ) + marketplace_details.marketplace_subscription_status = AAZStrType( + serialized_name="marketplaceSubscriptionStatus", + ) + marketplace_details.offer_id = AAZStrType( + serialized_name="offerId", + flags={"required": True}, + ) + marketplace_details.plan_id = AAZStrType( + serialized_name="planId", + flags={"required": True}, + ) + marketplace_details.publisher_id = AAZStrType( + serialized_name="publisherId", + flags={"required": True}, + ) + + private_i_ps = cls._schema_on_200.properties.private_i_ps + private_i_ps.Element = AAZStrType() + + user_details = cls._schema_on_200.properties.user_details + user_details.email = AAZStrType( + flags={"required": True, "secret": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_wait.py b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_wait.py new file mode 100644 index 00000000000..1cb08f368bd --- /dev/null +++ b/src/qumulo/azext_qumulo/aaz/latest/qumulo/storage/file_system/_wait.py @@ -0,0 +1,299 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "qumulo storage file-system wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/qumulo.storage/filesystems/{}", "2022-10-12"], + ] + } + + 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.file_system_name = AAZStrArg( + options=["-n", "--name", "--file-system-name"], + help="Name of the File System resource", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FileSystemsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class FileSystemsGet(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/Qumulo.Storage/fileSystems/{fileSystemName}", + **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( + "fileSystemName", self.ctx.args.file_system_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", "2022-10-12", + 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.identity = AAZObjectType() + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + flags={"read_only": True}, + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.admin_password = AAZStrType( + serialized_name="adminPassword", + flags={"required": True, "secret": True}, + ) + properties.availability_zone = AAZStrType( + serialized_name="availabilityZone", + ) + properties.cluster_login_url = AAZStrType( + serialized_name="clusterLoginUrl", + ) + properties.delegated_subnet_id = AAZStrType( + serialized_name="delegatedSubnetId", + flags={"required": True}, + ) + properties.initial_capacity = AAZIntType( + serialized_name="initialCapacity", + flags={"required": True}, + ) + properties.marketplace_details = AAZObjectType( + serialized_name="marketplaceDetails", + flags={"required": True}, + ) + properties.private_i_ps = AAZListType( + serialized_name="privateIPs", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.storage_sku = AAZStrType( + serialized_name="storageSku", + flags={"required": True}, + ) + properties.user_details = AAZObjectType( + serialized_name="userDetails", + flags={"required": True}, + ) + + marketplace_details = cls._schema_on_200.properties.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrType( + serialized_name="marketplaceSubscriptionId", + ) + marketplace_details.marketplace_subscription_status = AAZStrType( + serialized_name="marketplaceSubscriptionStatus", + ) + marketplace_details.offer_id = AAZStrType( + serialized_name="offerId", + flags={"required": True}, + ) + marketplace_details.plan_id = AAZStrType( + serialized_name="planId", + flags={"required": True}, + ) + marketplace_details.publisher_id = AAZStrType( + serialized_name="publisherId", + flags={"required": True}, + ) + + private_i_ps = cls._schema_on_200.properties.private_i_ps + private_i_ps.Element = AAZStrType() + + user_details = cls._schema_on_200.properties.user_details + user_details.email = AAZStrType( + flags={"required": True, "secret": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/qumulo/azext_qumulo/azext_metadata.json b/src/qumulo/azext_qumulo/azext_metadata.json new file mode 100644 index 00000000000..73490c539dc --- /dev/null +++ b/src/qumulo/azext_qumulo/azext_metadata.json @@ -0,0 +1,3 @@ +{ + "azext.minCliCoreVersion": "2.48.0" +} \ No newline at end of file diff --git a/src/qumulo/azext_qumulo/commands.py b/src/qumulo/azext_qumulo/commands.py new file mode 100644 index 00000000000..b0d842e4993 --- /dev/null +++ b/src/qumulo/azext_qumulo/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/qumulo/azext_qumulo/custom.py b/src/qumulo/azext_qumulo/custom.py new file mode 100644 index 00000000000..bba5320933c --- /dev/null +++ b/src/qumulo/azext_qumulo/custom.py @@ -0,0 +1,9 @@ +# -------------------------------------------------------------------------------------------- +# 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 diff --git a/src/qumulo/azext_qumulo/tests/__init__.py b/src/qumulo/azext_qumulo/tests/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/qumulo/azext_qumulo/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/qumulo/azext_qumulo/tests/latest/__init__.py b/src/qumulo/azext_qumulo/tests/latest/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/qumulo/azext_qumulo/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/qumulo/azext_qumulo/tests/latest/recordings/test_file_system.yaml b/src/qumulo/azext_qumulo/tests/latest/recordings/test_file_system.yaml new file mode 100644 index 00000000000..1f8b68d29d7 --- /dev/null +++ b/src/qumulo/azext_qumulo/tests/latest/recordings/test_file_system.yaml @@ -0,0 +1,2200 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -n -g --address-prefix + User-Agent: + - AZURECLI/2.49.0 azsdk-python-azure-mgmt-resource/22.0.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2022-09-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","test":"test_file_system","date":"2023-06-12T01:49:14Z","module":"qumulo"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '354' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:49:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"addressSpace": {"addressPrefixes": + ["20.0.0.0/24"]}, "enableDdosProtection": false, "enableVmProtection": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + Content-Length: + - '152' + Content-Type: + - application/json + ParameterSetName: + - -n -g --address-prefix + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"vnet000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002\"\ + ,\r\n \"etag\": \"W/\\\"ccf6c50d-4aef-4f96-9bfc-dfc07f9f7aa9\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ + \ \"resourceGuid\": \"92215da0-96c9-4625-ae8c-73f2bcf6dfed\",\r\n \"\ + addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"20.0.0.0/24\"\ + \r\n ]\r\n },\r\n \"subnets\": [],\r\n \"virtualNetworkPeerings\"\ + : [],\r\n \"enableDdosProtection\": false\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/49f8bbed-9c47-4273-87d4-807e2919c4c1?api-version=2022-01-01 + cache-control: + - no-cache + content-length: + - '614' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:49:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 2f62ab13-dbb4-434b-b4ba-77b282186de5 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -n -g --address-prefix + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/49f8bbed-9c47-4273-87d4-807e2919c4c1?api-version=2022-01-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:49:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bfe45058-f136-41bf-96f4-006d1d41ada5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -n -g --address-prefix + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"vnet000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002\"\ + ,\r\n \"etag\": \"W/\\\"97fdfc66-8cfe-4126-9829-0504fe321d61\\\"\",\r\n \ + \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ + \ \"resourceGuid\": \"92215da0-96c9-4625-ae8c-73f2bcf6dfed\",\r\n \"\ + addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"20.0.0.0/24\"\ + \r\n ]\r\n },\r\n \"subnets\": [],\r\n \"virtualNetworkPeerings\"\ + : [],\r\n \"enableDdosProtection\": false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '615' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:49:27 GMT + etag: + - W/"97fdfc66-8cfe-4126-9829-0504fe321d61" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 3b0c8348-90f6-443f-8e15-84fdaece23bf + status: + code: 200 + message: OK +- request: + body: '{"name": "subnet000003", "properties": {"addressPrefix": "20.0.0.0/24", + "delegations": [{"name": "0", "properties": {"serviceName": "Qumulo.Storage/fileSystems"}}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + Content-Length: + - '165' + Content-Type: + - application/json + ParameterSetName: + - -n -g --address-prefix --vnet-name --delegations + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002/subnets/subnet000003?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"subnet000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002/subnets/subnet000003\"\ + ,\r\n \"etag\": \"W/\\\"d59e4588-be3d-41a9-9616-2f0bef8b7f58\\\"\",\r\n \ + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\ + addressPrefix\": \"20.0.0.0/24\",\r\n \"delegations\": [\r\n {\r\n\ + \ \"name\": \"0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002/subnets/subnet000003/delegations/0\"\ + ,\r\n \"etag\": \"W/\\\"d59e4588-be3d-41a9-9616-2f0bef8b7f58\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"serviceName\": \"Qumulo.Storage/fileSystems\",\r\n \ + \ \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\"\ + \r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\ + \r\n }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Disabled\"\ + ,\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"\ + type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e8ded2b8-d878-4c6e-b335-fb251cd76bd7?api-version=2022-01-01 + cache-control: + - no-cache + content-length: + - '1160' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:49:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - fbe6faf0-f6a6-44b2-af64-ffcd5a490fbd + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - -n -g --address-prefix --vnet-name --delegations + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e8ded2b8-d878-4c6e-b335-fb251cd76bd7?api-version=2022-01-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:49:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 0ab25e25-2c2b-4ea2-9548-c314b170dc73 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - -n -g --address-prefix --vnet-name --delegations + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002/subnets/subnet000003?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"subnet000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002/subnets/subnet000003\"\ + ,\r\n \"etag\": \"W/\\\"c39e5a44-99ec-406e-b0a1-e69bd9fa645d\\\"\",\r\n \ + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ + addressPrefix\": \"20.0.0.0/24\",\r\n \"delegations\": [\r\n {\r\n\ + \ \"name\": \"0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002/subnets/subnet000003/delegations/0\"\ + ,\r\n \"etag\": \"W/\\\"c39e5a44-99ec-406e-b0a1-e69bd9fa645d\\\"\"\ + ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"serviceName\": \"Qumulo.Storage/fileSystems\",\r\n \ + \ \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\"\ + \r\n ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\ + \r\n }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Disabled\"\ + ,\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"\ + type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1161' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:49:30 GMT + etag: + - W/"c39e5a44-99ec-406e-b0a1-e69bd9fa645d" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 87cca84d-6e90-4a53-b7d4-9803af6480fa + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 azsdk-python-azure-mgmt-resource/22.0.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2022-09-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","test":"test_file_system","date":"2023-06-12T01:49:14Z","module":"qumulo"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '354' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:49:30 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"adminPassword": "Password01!", "availabilityZone": + "1", "delegatedSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002/subnets/subnet000003", + "initialCapacity": 50, "marketplaceDetails": {"offerId": "qumulo-saas-mpp", + "planId": "qumulo-on-azure-v1%%gmz7xq9ge3py%%P1M", "publisherId": "qumulo1584033880660"}, + "storageSku": "Standard", "userDetails": {"email": "v-jingszhang@microsoft.com"}}, + "tags": {"tag": "test"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + Content-Length: + - '552' + Content-Type: + - application/json + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004?api-version=2022-10-12 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","name":"sys000004","type":"qumulo.storage/filesystems","location":"eastus","tags":{"tag":"test"},"systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2023-06-12T01:49:34.9655332Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-12T01:49:34.9655332Z"},"properties":{"marketplaceDetails":{"marketplaceSubscriptionId":null,"planId":"qumulo-on-azure-v1%%gmz7xq9ge3py%%P1M","offerId":"qumulo-saas-mpp","publisherId":"qumulo1584033880660","marketplaceSubscriptionStatus":"PendingFulfillmentStart"},"provisioningState":"Accepted","userDetails":{},"delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002/subnets/subnet000003","clusterLoginUrl":null,"privateIPs":null,"storageSku":"Standard","initialCapacity":50,"availabilityZone":"1"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + cache-control: + - no-cache + content-length: + - '1061' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:49:38 GMT + etag: + - '"9e082347-0000-0100-0000-648679b10000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + mise-correlation-id: + - c8b53f7c-d2f8-4763-a213-6da841285c50 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:49:38 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:50:09 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:50:40 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:51:09 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:51:40 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:52:10 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:52:40 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:53:11 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:53:41 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:54:12 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:54:43 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:55:14 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:55:44 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:56:14 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:56:44 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:57:15 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:57:45 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Accepted","startTime":"2023-06-12T01:49:36.419453Z"}' + headers: + cache-control: + - no-cache + content-length: + - '490' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:58:17 GMT + etag: + - '"4b038e06-0000-0100-0000-648679b00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"6f075536-f1a6-40ce-914d-595a52c87325*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Succeeded","startTime":"2023-06-12T01:49:36.419453Z","endTime":"2023-06-12T01:58:19.3440497Z","error":{},"properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '561' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:58:47 GMT + etag: + - '"4b03412f-0000-0100-0000-64867bbb0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system create + Connection: + - keep-alive + ParameterSetName: + - -n -g --admin-password --delegated-subnet-id --initial-capacity --marketplace-details + --storage-sku --user-details --availability-zone --tags + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004?api-version=2022-10-12 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","name":"sys000004","type":"qumulo.storage/filesystems","location":"eastus","tags":{"tag":"test"},"systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2023-06-12T01:49:34.9655332Z","lastModifiedBy":"13c34964-a135-4390-aa53-32f3c7251982","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T01:58:19.4432533Z"},"properties":{"marketplaceDetails":{"marketplaceSubscriptionId":"bd9f2bfc-9911-4e39-dbbd-af6377ff06c6","planId":"qumulo-on-azure-v1%%gmz7xq9ge3py%%P1M","offerId":"qumulo-saas-mpp","publisherId":"qumulo1584033880660","marketplaceSubscriptionStatus":"Subscribed"},"provisioningState":"Succeeded","userDetails":{},"delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002/subnets/subnet000003","storageSku":"Standard","initialCapacity":50,"availabilityZone":"1","clusterLoginUrl":"https://20.0.0.4/login","privateIPs":["20.0.0.4","20.0.0.5","20.0.0.6","20.0.0.7"]}}' + headers: + cache-control: + - no-cache + content-length: + - '1161' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:58:47 GMT + etag: + - '"9e08d9be-0000-0100-0000-64867bbb0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004?api-version=2022-10-12 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","name":"sys000004","type":"qumulo.storage/filesystems","location":"eastus","tags":{"tag":"test"},"systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2023-06-12T01:49:34.9655332Z","lastModifiedBy":"13c34964-a135-4390-aa53-32f3c7251982","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T01:58:19.4432533Z"},"properties":{"marketplaceDetails":{"marketplaceSubscriptionId":"bd9f2bfc-9911-4e39-dbbd-af6377ff06c6","planId":"qumulo-on-azure-v1%%gmz7xq9ge3py%%P1M","offerId":"qumulo-saas-mpp","publisherId":"qumulo1584033880660","marketplaceSubscriptionStatus":"Subscribed"},"provisioningState":"Succeeded","userDetails":{},"delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002/subnets/subnet000003","storageSku":"Standard","initialCapacity":50,"availabilityZone":"1","clusterLoginUrl":"https://20.0.0.4/login","privateIPs":["20.0.0.4","20.0.0.5","20.0.0.6","20.0.0.7"]}}' + headers: + cache-control: + - no-cache + content-length: + - '1161' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:58:50 GMT + etag: + - '"9e08d9be-0000-0100-0000-64867bbb0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems?api-version=2022-10-12 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","name":"sys000004","type":"qumulo.storage/filesystems","location":"eastus","tags":{"tag":"test"},"systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2023-06-12T01:49:34.9655332Z","lastModifiedBy":"13c34964-a135-4390-aa53-32f3c7251982","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T01:58:19.4432533Z"},"properties":{"marketplaceDetails":{"marketplaceSubscriptionId":"bd9f2bfc-9911-4e39-dbbd-af6377ff06c6","planId":"qumulo-on-azure-v1%%gmz7xq9ge3py%%P1M","offerId":"qumulo-saas-mpp","publisherId":"qumulo1584033880660","marketplaceSubscriptionStatus":"Subscribed"},"provisioningState":"Succeeded","userDetails":{},"delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/vnet000002/subnets/subnet000003","storageSku":"Standard","initialCapacity":50,"availabilityZone":"1","clusterLoginUrl":"https://20.0.0.4/login","privateIPs":["20.0.0.4","20.0.0.5","20.0.0.6","20.0.0.7"]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1173' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:58:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 29a825e0-9059-4435-b0dc-1881183de790 + - 7d2bd0a7-ccc7-4b2b-ba3a-43f7a2aec887 + - 52ce5781-f75a-4125-95a8-679e86a90137 + - f1ed010f-d270-44ab-aafc-17c4f176e62a + - ef9a2390-e641-4c3b-91ab-e5ffcb77352a + - a9f45072-414b-4945-a778-7d1a6483aa1c + - cf3083f1-a573-4e5f-b6a1-83f04f76a64e + - 3ee2c8c0-c701-443b-adcd-6fa3e984210d + - 0e859f77-eca7-4afb-be32-c06ebb5230e6 + - 29fb28fc-480a-40a5-830e-0d1be23a85b9 + - b4a5efc0-6da0-4f55-af3b-e818c2cf67c0 + - 68c3d336-0c47-4707-b508-ec1b4e88e153 + - 7badf041-f104-485a-b8b3-f3522f5afe81 + - a1815b7e-1a92-4a2d-aa4e-7f56910cfb56 + - 2f4c5462-c8fa-466b-9166-08b65e2922ca + - df2701f0-2c47-4c40-845e-2d469c8c0358 + - ff4ffa12-131a-40bc-b22e-c57f91ba05d2 + - ec22cabb-998d-4c83-a0dd-d3e118b110ed + - dca46f20-0de9-41b1-ac13-4e5ad2a08f29 + - a51f72b1-1d05-4798-ae9f-f4bc38ad290c + - 0fab99a7-4b5d-4200-a8e7-628250d23af9 + - 71498158-4ff0-4a37-97b5-5b59275f9cae + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004?api-version=2022-10-12 + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:58:53 GMT + etag: + - '"9e08a4c8-0000-0100-0000-64867bde0000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + mise-correlation-id: + - c33a162a-881c-429f-be49-549ee2173f39 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z"}' + headers: + cache-control: + - no-cache + content-length: + - '491' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:58:54 GMT + etag: + - '"4b03dd32-0000-0100-0000-64867bdd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:59:24 GMT + etag: + - '"4b038333-0000-0100-0000-64867be60000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 01:59:55 GMT + etag: + - '"4b038333-0000-0100-0000-64867be60000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 02:00:25 GMT + etag: + - '"4b038333-0000-0100-0000-64867be60000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 02:00:55 GMT + etag: + - '"4b038333-0000-0100-0000-64867be60000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 02:01:26 GMT + etag: + - '"4b038333-0000-0100-0000-64867be60000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 02:01:56 GMT + etag: + - '"4b038333-0000-0100-0000-64867be60000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 02:02:27 GMT + etag: + - '"4b038333-0000-0100-0000-64867be60000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 02:02:57 GMT + etag: + - '"4b038333-0000-0100-0000-64867be60000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 02:03:26 GMT + etag: + - '"4b038333-0000-0100-0000-64867be60000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 02:03:57 GMT + etag: + - '"4b038333-0000-0100-0000-64867be60000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 02:04:27 GMT + etag: + - '"4b032a58-0000-0100-0000-64867d170000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Deleting","startTime":"2023-06-12T01:58:53.6400986Z","error":{}}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 02:04:58 GMT + etag: + - '"4b032a58-0000-0100-0000-64867d170000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - qumulo storage file-system delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -y + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.0 Python/3.10.9 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A?api-version=2022-10-12 + response: + body: + string: '{"id":"/providers/Qumulo.Storage/locations/EASTUS/operationStatuses/b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","name":"b4e67c25-52b8-4494-b338-448897fca190*04812E588D7BF328D56C2B3A0213A65352D4E92458CE824A1F6B93AA42669A7A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Qumulo.Storage/fileSystems/sys000004","status":"Succeeded","startTime":"2023-06-12T01:58:53.6400986Z","endTime":"2023-06-12T02:05:18.1549841Z","error":{},"properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '562' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Jun 2023 02:05:28 GMT + etag: + - '"4b030160-0000-0100-0000-64867d5e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/qumulo/azext_qumulo/tests/latest/test_qumulo.py b/src/qumulo/azext_qumulo/tests/latest/test_qumulo.py new file mode 100644 index 00000000000..070ee42e81a --- /dev/null +++ b/src/qumulo/azext_qumulo/tests/latest/test_qumulo.py @@ -0,0 +1,68 @@ +# -------------------------------------------------------------------------------------------- +# 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 azure.cli.testsdk import * + + +class QumuloScenario(ScenarioTest): + + @ResourceGroupPreparer(location='eastus') + def test_file_system(self): + email = self.cmd('account show').get_output_in_json()['user']['name'] + self.kwargs.update({ + 'vnet': self.create_random_name('vnet', 10), + 'subnet': self.create_random_name('subnet', 15), + 'sys_name': self.create_random_name('sys', 10), + 'email': email + }) + self.cmd('network vnet create -n {vnet} -g {rg} --address-prefix 20.0.0.0/24') + subnet_id = self.cmd('network vnet subnet create -n {subnet} -g {rg} --address-prefix 20.0.0.0/24 --vnet-name {vnet} --delegations Qumulo.Storage/fileSystems').get_output_in_json()['id'] + self.kwargs.update({ + 'subnet_id': subnet_id + }) + self.cmd('qumulo storage file-system create -n {sys_name} -g {rg} --admin-password Password01! ' + '--delegated-subnet-id {subnet_id} --initial-capacity 50 ' + '--marketplace-details {{offerId:qumulo-saas-mpp,planId:qumulo-on-azure-v1%%gmz7xq9ge3py%%P1M,publisherId:qumulo1584033880660}} ' + '--storage-sku Standard --user-details "{{email:{email}}}" ' + '--availability-zone 1 --tags {{tag:test}}', + checks=[ + self.check('name', '{sys_name}'), + self.check('marketplaceDetails.planId', 'qumulo-on-azure-v1%%gmz7xq9ge3py%%P1M'), + self.check('marketplaceDetails.offerId', 'qumulo-saas-mpp'), + self.check('marketplaceDetails.publisherId', 'qumulo1584033880660'), + self.check('delegatedSubnetId', '{subnet_id}'), + self.check('storageSku', 'Standard'), + self.check('initialCapacity', 50), + self.check('availabilityZone', '1'), + self.check('tags.tag', 'test') + ]) + self.cmd('qumulo storage file-system show -n {sys_name} -g {rg}', checks=[ + self.check('name', '{sys_name}'), + self.check('marketplaceDetails.planId', 'qumulo-on-azure-v1%%gmz7xq9ge3py%%P1M'), + self.check('marketplaceDetails.offerId', 'qumulo-saas-mpp'), + self.check('marketplaceDetails.publisherId', 'qumulo1584033880660'), + self.check('delegatedSubnetId', '{subnet_id}'), + self.check('storageSku', 'Standard'), + self.check('initialCapacity', 50), + self.check('availabilityZone', '1'), + self.check('tags.tag', 'test') + ]) + self.cmd('qumulo storage file-system list -g {rg}', checks=[ + self.check('[0].name', '{sys_name}'), + self.check('[0].marketplaceDetails.planId', 'qumulo-on-azure-v1%%gmz7xq9ge3py%%P1M'), + self.check('[0].marketplaceDetails.offerId', 'qumulo-saas-mpp'), + self.check('[0].marketplaceDetails.publisherId', 'qumulo1584033880660'), + self.check('[0].delegatedSubnetId', '{subnet_id}'), + self.check('[0].storageSku', 'Standard'), + self.check('[0].initialCapacity', 50), + self.check('[0].availabilityZone', '1'), + self.check('[0].tags.tag', 'test') + ]) + self.cmd('qumulo storage file-system delete -n {sys_name} -g {rg} -y') diff --git a/src/qumulo/setup.cfg b/src/qumulo/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/qumulo/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/qumulo/setup.py b/src/qumulo/setup.py new file mode 100644 index 00000000000..0198ada67b4 --- /dev/null +++ b/src/qumulo/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.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'License :: OSI Approved :: MIT License', +] + +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='qumulo', + version=VERSION, + description='Microsoft Azure Command-Line Tools Qumulo 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/qumulo', + classifiers=CLASSIFIERS, + packages=find_packages(exclude=["tests"]), + package_data={'azext_qumulo': ['azext_metadata.json']}, + install_requires=DEPENDENCIES +) diff --git a/src/service_name.json b/src/service_name.json index 3f5d45f0fd6..6bc6c2e237c 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -748,5 +748,10 @@ "Command": "az self-help", "AzureServiceName": "Azure Help", "URL": "https://learn.microsoft.com/en-us/rest/api/help/" + }, + { + "Command": "az qumulo", + "AzureServiceName": "Qumulo", + "URL": "https://learn.microsoft.com/en-us/azure/partner-solutions/qumulo/qumulo-overview" } ] \ No newline at end of file