diff --git a/src/storage-preview/HISTORY.rst b/src/storage-preview/HISTORY.rst index 3355a4b3137..75f56855f36 100644 --- a/src/storage-preview/HISTORY.rst +++ b/src/storage-preview/HISTORY.rst @@ -6,6 +6,7 @@ Release History 1.0.0b2(2024-07-15) ++++++++++++++++++ * `az storage account local-user`: Support `--group-id` and `--allow-acl-authorization`. Support list paging and filtering +* `az storage account task-assignment`: Support task-assignment 1.0.0b1(2023-08-11) ++++++++++++++++++ diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/__init__.py b/src/storage-preview/azext_storage_preview/aaz/latest/__init__.py index 5757aea3175..f6acc11aa4e 100644 --- a/src/storage-preview/azext_storage_preview/aaz/latest/__init__.py +++ b/src/storage-preview/azext_storage_preview/aaz/latest/__init__.py @@ -4,3 +4,7 @@ # # Code generated by aaz-dev-tools # -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/__cmd_group.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/__cmd_group.py index 119e290e4b4..579d8b500eb 100644 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/__cmd_group.py +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "storage", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Manage Azure Cloud Storage resources. diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__cmd_group.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__cmd_group.py index 3cb958cfa52..24f3f1d85aa 100644 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__cmd_group.py +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "storage account", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Manage storage accounts. diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__cmd_group.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__cmd_group.py index d7e47628926..3284dedf445 100644 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__cmd_group.py +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/__cmd_group.py @@ -13,7 +13,6 @@ @register_command_group( "storage account migration", - is_preview=True, ) class __CMDGroup(AAZCommandGroup): """Manage Storage Account Migration diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_show.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_show.py index 483db27df43..e6c76426d88 100644 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_show.py +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_show.py @@ -13,10 +13,12 @@ @register_command( "storage account migration show", - is_preview=True, ) class Show(AAZCommand): """Get the status of the ongoing migration for the specified storage account. + + :example: migration show + az storage account migration show --account-name "storage_account_name" -g "resource_group_name" """ _aaz_info = { diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_start.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_start.py index 6101e2c2510..d089b432a05 100644 --- a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_start.py +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/migration/_start.py @@ -13,10 +13,12 @@ @register_command( "storage account migration start", - is_preview=True, ) class Start(AAZCommand): """Account Migration request can be triggered for a storage account to change its redundancy level. The migration updates the non-zonal redundant storage account to a zonal redundant account or vice-versa in order to have better reliability and availability. Zone-redundant storage (ZRS) replicates your storage account synchronously across three Azure availability zones in the primary region. + + :example: migration start + az storage account migration start --account-name "storage_account_name" -g "resource_group_name" --sku Standard_ZRS --name default --no-wait """ _aaz_info = { diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/__cmd_group.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/__cmd_group.py new file mode 100644 index 00000000000..145a63ed90b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/__cmd_group.py @@ -0,0 +1,24 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "storage account task-assignment", + is_preview=True, +) +class __CMDGroup(AAZCommandGroup): + """Manage storage account task assignment. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/__init__.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/__init__.py new file mode 100644 index 00000000000..4289e8e9c14 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/__init__.py @@ -0,0 +1,18 @@ +# -------------------------------------------------------------------------------------------- +# 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 ._list_report import * +from ._show import * +from ._update import * +from ._wait import * diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_create.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_create.py new file mode 100644 index 00000000000..8375b37b1ee --- /dev/null +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_create.py @@ -0,0 +1,503 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage account task-assignment create", + is_preview=True, +) +class Create(AAZCommand): + """Create creates a new storage task assignment sub-resource with the specified parameters. If a storage task assignment is already created and a subsequent create request is issued with different properties, the storage task assignment properties will be updated. If a storage task assignment is already created and a subsequent create or update request is issued with the exact same set of properties, the request will succeed. + """ + + _aaz_info = { + "version": "2023-05-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storage/storageaccounts/{}/storagetaskassignments/{}", "2023-05-01"], + ] + } + + 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.account_name = AAZStrArg( + options=["--account-name"], + help="The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]+$", + max_length=24, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_task_assignment_name = AAZStrArg( + options=["-n", "--name", "--storage-task-assignment-name"], + help="The name of the storage task assignment within the specified resource group. Storage task assignment names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]{3,24}$", + max_length=24, + min_length=3, + ), + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="Text that describes the purpose of the storage task assignment", + required=True, + ) + _args_schema.enabled = AAZBoolArg( + options=["--enabled"], + arg_group="Properties", + help="Whether the storage task assignment is enabled or not", + required=True, + ) + _args_schema.execution_context = AAZObjectArg( + options=["--execution-context"], + arg_group="Properties", + help="The storage task assignment execution context", + required=True, + ) + _args_schema.report = AAZObjectArg( + options=["--report"], + arg_group="Properties", + help="The storage task assignment report", + required=True, + ) + _args_schema.task_id = AAZResourceIdArg( + options=["--task-id"], + arg_group="Properties", + help="Id of the corresponding storage task", + required=True, + ) + + execution_context = cls._args_schema.execution_context + execution_context.target = AAZObjectArg( + options=["target"], + help="Execution target of the storage task assignment", + ) + execution_context.trigger = AAZObjectArg( + options=["trigger"], + help="Execution trigger of the storage task assignment", + required=True, + ) + + target = cls._args_schema.execution_context.target + target.exclude_prefix = AAZListArg( + options=["exclude-prefix"], + help="List of object prefixes to be excluded from task execution. If there is a conflict between include and exclude prefixes, the exclude prefix will be the determining factor", + ) + target.prefix = AAZListArg( + options=["prefix"], + help="Required list of object prefixes to be included for task execution", + ) + + exclude_prefix = cls._args_schema.execution_context.target.exclude_prefix + exclude_prefix.Element = AAZStrArg() + + prefix = cls._args_schema.execution_context.target.prefix + prefix.Element = AAZStrArg() + + trigger = cls._args_schema.execution_context.trigger + trigger.parameters = AAZObjectArg( + options=["parameters"], + help="The trigger parameters of the storage task assignment execution", + required=True, + ) + trigger.type = AAZStrArg( + options=["type"], + help="The trigger type of the storage task assignment execution", + required=True, + enum={"OnSchedule": "OnSchedule", "RunOnce": "RunOnce"}, + ) + + parameters = cls._args_schema.execution_context.trigger.parameters + parameters.end_by = AAZDateTimeArg( + options=["end-by"], + help="When to end task execution. This is a required field when ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when ExecutionTrigger.properties.type is 'RunOnce'", + ) + parameters.interval = AAZIntArg( + options=["interval"], + help="Run interval of task execution. This is a required field when ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when ExecutionTrigger.properties.type is 'RunOnce'", + fmt=AAZIntArgFormat( + minimum=1, + ), + ) + parameters.interval_unit = AAZStrArg( + options=["interval-unit"], + help="Run interval unit of task execution. This is a required field when ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when ExecutionTrigger.properties.type is 'RunOnce'", + enum={"Days": "Days"}, + ) + parameters.start_from = AAZDateTimeArg( + options=["start-from"], + help="When to start task execution. This is a required field when ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when ExecutionTrigger.properties.type is 'RunOnce'", + ) + parameters.start_on = AAZDateTimeArg( + options=["start-on"], + help="When to start task execution. This is an optional field when ExecutionTrigger.properties.type is 'RunOnce'; this property should not be present when ExecutionTrigger.properties.type is 'OnSchedule'", + ) + + report = cls._args_schema.report + report.prefix = AAZStrArg( + options=["prefix"], + help="The container prefix for the location of storage task assignment report", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.StorageTaskAssignmentsCreate(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 StorageTaskAssignmentsCreate(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": "location"}, + 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": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/storageTaskAssignments/{storageTaskAssignmentName}", + **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( + "accountName", self.ctx.args.account_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageTaskAssignmentName", self.ctx.args.storage_task_assignment_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-05-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("description", AAZStrType, ".description", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("enabled", AAZBoolType, ".enabled", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("executionContext", AAZObjectType, ".execution_context", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("report", AAZObjectType, ".report", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("taskId", AAZStrType, ".task_id", typ_kwargs={"flags": {"required": True}}) + + execution_context = _builder.get(".properties.executionContext") + if execution_context is not None: + execution_context.set_prop("target", AAZObjectType, ".target") + execution_context.set_prop("trigger", AAZObjectType, ".trigger", typ_kwargs={"flags": {"required": True}}) + + target = _builder.get(".properties.executionContext.target") + if target is not None: + target.set_prop("excludePrefix", AAZListType, ".exclude_prefix") + target.set_prop("prefix", AAZListType, ".prefix") + + exclude_prefix = _builder.get(".properties.executionContext.target.excludePrefix") + if exclude_prefix is not None: + exclude_prefix.set_elements(AAZStrType, ".") + + prefix = _builder.get(".properties.executionContext.target.prefix") + if prefix is not None: + prefix.set_elements(AAZStrType, ".") + + trigger = _builder.get(".properties.executionContext.trigger") + if trigger is not None: + trigger.set_prop("parameters", AAZObjectType, ".parameters", typ_kwargs={"flags": {"required": True}}) + trigger.set_prop("type", AAZStrType, ".type", typ_kwargs={"flags": {"required": True}}) + + parameters = _builder.get(".properties.executionContext.trigger.parameters") + if parameters is not None: + parameters.set_prop("endBy", AAZStrType, ".end_by") + parameters.set_prop("interval", AAZIntType, ".interval") + parameters.set_prop("intervalUnit", AAZStrType, ".interval_unit") + parameters.set_prop("startFrom", AAZStrType, ".start_from") + parameters.set_prop("startOn", AAZStrType, ".start_on") + + report = _builder.get(".properties.report") + if report is not None: + report.set_prop("prefix", AAZStrType, ".prefix", typ_kwargs={"flags": {"required": True}}) + + 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.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"required": True}, + ) + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.description = AAZStrType( + flags={"required": True}, + ) + properties.enabled = AAZBoolType( + flags={"required": True}, + ) + properties.execution_context = AAZObjectType( + serialized_name="executionContext", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.report = AAZObjectType( + flags={"required": True}, + ) + properties.run_status = AAZObjectType( + serialized_name="runStatus", + ) + properties.task_id = AAZStrType( + serialized_name="taskId", + flags={"required": True}, + ) + + execution_context = cls._schema_on_200_201.properties.execution_context + execution_context.target = AAZObjectType() + execution_context.trigger = AAZObjectType( + flags={"required": True}, + ) + + target = cls._schema_on_200_201.properties.execution_context.target + target.exclude_prefix = AAZListType( + serialized_name="excludePrefix", + ) + target.prefix = AAZListType() + + exclude_prefix = cls._schema_on_200_201.properties.execution_context.target.exclude_prefix + exclude_prefix.Element = AAZStrType() + + prefix = cls._schema_on_200_201.properties.execution_context.target.prefix + prefix.Element = AAZStrType() + + trigger = cls._schema_on_200_201.properties.execution_context.trigger + trigger.parameters = AAZObjectType( + flags={"required": True}, + ) + trigger.type = AAZStrType( + flags={"required": True}, + ) + + parameters = cls._schema_on_200_201.properties.execution_context.trigger.parameters + parameters.end_by = AAZStrType( + serialized_name="endBy", + ) + parameters.interval = AAZIntType() + parameters.interval_unit = AAZStrType( + serialized_name="intervalUnit", + ) + parameters.start_from = AAZStrType( + serialized_name="startFrom", + ) + parameters.start_on = AAZStrType( + serialized_name="startOn", + ) + + report = cls._schema_on_200_201.properties.report + report.prefix = AAZStrType( + flags={"required": True}, + ) + + run_status = cls._schema_on_200_201.properties.run_status + run_status.finish_time = AAZStrType( + serialized_name="finishTime", + flags={"read_only": True}, + ) + run_status.object_failed_count = AAZStrType( + serialized_name="objectFailedCount", + flags={"read_only": True}, + ) + run_status.objects_operated_on_count = AAZStrType( + serialized_name="objectsOperatedOnCount", + flags={"read_only": True}, + ) + run_status.objects_succeeded_count = AAZStrType( + serialized_name="objectsSucceededCount", + flags={"read_only": True}, + ) + run_status.objects_targeted_count = AAZStrType( + serialized_name="objectsTargetedCount", + flags={"read_only": True}, + ) + run_status.run_result = AAZStrType( + serialized_name="runResult", + flags={"read_only": True}, + ) + run_status.run_status_enum = AAZStrType( + serialized_name="runStatusEnum", + flags={"read_only": True}, + ) + run_status.run_status_error = AAZStrType( + serialized_name="runStatusError", + flags={"read_only": True}, + ) + run_status.start_time = AAZStrType( + serialized_name="startTime", + flags={"read_only": True}, + ) + run_status.storage_account_id = AAZStrType( + serialized_name="storageAccountId", + flags={"read_only": True}, + ) + run_status.summary_report_path = AAZStrType( + serialized_name="summaryReportPath", + flags={"read_only": True}, + ) + run_status.task_assignment_id = AAZStrType( + serialized_name="taskAssignmentId", + flags={"read_only": True}, + ) + run_status.task_id = AAZStrType( + serialized_name="taskId", + flags={"read_only": True}, + ) + run_status.task_version = AAZStrType( + serialized_name="taskVersion", + flags={"read_only": True}, + ) + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_delete.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_delete.py new file mode 100644 index 00000000000..5155c1b55c6 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_delete.py @@ -0,0 +1,181 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage account task-assignment delete", + is_preview=True, + confirmation="Are you sure you want to perform this operation?", +) +class Delete(AAZCommand): + """Delete the storage task assignment sub-resource + """ + + _aaz_info = { + "version": "2023-05-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storage/storageaccounts/{}/storagetaskassignments/{}", "2023-05-01"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.account_name = AAZStrArg( + options=["--account-name"], + help="The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]+$", + max_length=24, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_task_assignment_name = AAZStrArg( + options=["-n", "--name", "--storage-task-assignment-name"], + help="The name of the storage task assignment within the specified resource group. Storage task assignment names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]{3,24}$", + max_length=24, + min_length=3, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.StorageTaskAssignmentsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class StorageTaskAssignmentsDelete(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": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + 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": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/storageTaskAssignments/{storageTaskAssignmentName}", + **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( + "accountName", self.ctx.args.account_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageTaskAssignmentName", self.ctx.args.storage_task_assignment_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-05-01", + required=True, + ), + } + return parameters + + def on_204(self, session): + pass + + def on_200_201(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_list.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_list.py new file mode 100644 index 00000000000..142093234bb --- /dev/null +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_list.py @@ -0,0 +1,329 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage account task-assignment list", + is_preview=True, +) +class List(AAZCommand): + """List all the storage task assignments in an account + """ + + _aaz_info = { + "version": "2023-05-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storage/storageaccounts/{}/storagetaskassignments", "2023-05-01"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.account_name = AAZStrArg( + options=["--account-name"], + help="The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]+$", + max_length=24, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.maxpagesize = AAZIntArg( + options=["--maxpagesize"], + help="Optional, specifies the maximum number of storage task assignment Ids to be included in the list response.", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.StorageTaskAssignmentsList(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 StorageTaskAssignmentsList(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/storageTaskAssignments", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accountName", self.ctx.args.account_name, + required=True, + ), + **self.serialize_url_param( + "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( + "$maxpagesize", self.ctx.args.maxpagesize, + ), + **self.serialize_query_param( + "api-version", "2023-05-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.description = AAZStrType( + flags={"required": True}, + ) + properties.enabled = AAZBoolType( + flags={"required": True}, + ) + properties.execution_context = AAZObjectType( + serialized_name="executionContext", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.report = AAZObjectType( + flags={"required": True}, + ) + properties.run_status = AAZObjectType( + serialized_name="runStatus", + ) + properties.task_id = AAZStrType( + serialized_name="taskId", + flags={"required": True}, + ) + + execution_context = cls._schema_on_200.value.Element.properties.execution_context + execution_context.target = AAZObjectType() + execution_context.trigger = AAZObjectType( + flags={"required": True}, + ) + + target = cls._schema_on_200.value.Element.properties.execution_context.target + target.exclude_prefix = AAZListType( + serialized_name="excludePrefix", + ) + target.prefix = AAZListType() + + exclude_prefix = cls._schema_on_200.value.Element.properties.execution_context.target.exclude_prefix + exclude_prefix.Element = AAZStrType() + + prefix = cls._schema_on_200.value.Element.properties.execution_context.target.prefix + prefix.Element = AAZStrType() + + trigger = cls._schema_on_200.value.Element.properties.execution_context.trigger + trigger.parameters = AAZObjectType( + flags={"required": True}, + ) + trigger.type = AAZStrType( + flags={"required": True}, + ) + + parameters = cls._schema_on_200.value.Element.properties.execution_context.trigger.parameters + parameters.end_by = AAZStrType( + serialized_name="endBy", + ) + parameters.interval = AAZIntType() + parameters.interval_unit = AAZStrType( + serialized_name="intervalUnit", + ) + parameters.start_from = AAZStrType( + serialized_name="startFrom", + ) + parameters.start_on = AAZStrType( + serialized_name="startOn", + ) + + report = cls._schema_on_200.value.Element.properties.report + report.prefix = AAZStrType( + flags={"required": True}, + ) + + run_status = cls._schema_on_200.value.Element.properties.run_status + run_status.finish_time = AAZStrType( + serialized_name="finishTime", + flags={"read_only": True}, + ) + run_status.object_failed_count = AAZStrType( + serialized_name="objectFailedCount", + flags={"read_only": True}, + ) + run_status.objects_operated_on_count = AAZStrType( + serialized_name="objectsOperatedOnCount", + flags={"read_only": True}, + ) + run_status.objects_succeeded_count = AAZStrType( + serialized_name="objectsSucceededCount", + flags={"read_only": True}, + ) + run_status.objects_targeted_count = AAZStrType( + serialized_name="objectsTargetedCount", + flags={"read_only": True}, + ) + run_status.run_result = AAZStrType( + serialized_name="runResult", + flags={"read_only": True}, + ) + run_status.run_status_enum = AAZStrType( + serialized_name="runStatusEnum", + flags={"read_only": True}, + ) + run_status.run_status_error = AAZStrType( + serialized_name="runStatusError", + flags={"read_only": True}, + ) + run_status.start_time = AAZStrType( + serialized_name="startTime", + flags={"read_only": True}, + ) + run_status.storage_account_id = AAZStrType( + serialized_name="storageAccountId", + flags={"read_only": True}, + ) + run_status.summary_report_path = AAZStrType( + serialized_name="summaryReportPath", + flags={"read_only": True}, + ) + run_status.task_assignment_id = AAZStrType( + serialized_name="taskAssignmentId", + flags={"read_only": True}, + ) + run_status.task_id = AAZStrType( + serialized_name="taskId", + flags={"read_only": True}, + ) + run_status.task_version = AAZStrType( + serialized_name="taskVersion", + flags={"read_only": True}, + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_list_report.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_list_report.py new file mode 100644 index 00000000000..7940832f5f0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_list_report.py @@ -0,0 +1,276 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage account task-assignment list-report", + is_preview=True, +) +class ListReport(AAZCommand): + """List the report summary of a single storage task assignment's instances + """ + + _aaz_info = { + "version": "2023-05-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storage/storageaccounts/{}/storagetaskassignments/{}/reports", "2023-05-01"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.account_name = AAZStrArg( + options=["--account-name"], + help="The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]+$", + max_length=24, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_task_assignment_name = AAZStrArg( + options=["-n", "--name", "--storage-task-assignment-name"], + help="The name of the storage task assignment within the specified resource group. Storage task assignment names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]{3,24}$", + max_length=24, + min_length=3, + ), + ) + _args_schema.filter = AAZStrArg( + options=["--filter"], + help="Optional. When specified, it can be used to query using reporting properties. See [Constructing Filter Strings](https://learn.microsoft.com/en-us/rest/api/storageservices/querying-tables-and-entities#constructing-filter-strings) for details.", + ) + _args_schema.maxpagesize = AAZIntArg( + options=["--maxpagesize"], + help="Optional, specifies the maximum number of storage task assignment instances to be included in the list response.", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.StorageTaskAssignmentInstancesReportList(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 StorageTaskAssignmentInstancesReportList(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/storageTaskAssignments/{storageTaskAssignmentName}/reports", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accountName", self.ctx.args.account_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageTaskAssignmentName", self.ctx.args.storage_task_assignment_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "$filter", self.ctx.args.filter, + ), + **self.serialize_query_param( + "$maxpagesize", self.ctx.args.maxpagesize, + ), + **self.serialize_query_param( + "api-version", "2023-05-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + flags={"read_only": True}, + ) + _schema_on_200.value = AAZListType( + flags={"read_only": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.finish_time = AAZStrType( + serialized_name="finishTime", + flags={"read_only": True}, + ) + properties.object_failed_count = AAZStrType( + serialized_name="objectFailedCount", + flags={"read_only": True}, + ) + properties.objects_operated_on_count = AAZStrType( + serialized_name="objectsOperatedOnCount", + flags={"read_only": True}, + ) + properties.objects_succeeded_count = AAZStrType( + serialized_name="objectsSucceededCount", + flags={"read_only": True}, + ) + properties.objects_targeted_count = AAZStrType( + serialized_name="objectsTargetedCount", + flags={"read_only": True}, + ) + properties.run_result = AAZStrType( + serialized_name="runResult", + flags={"read_only": True}, + ) + properties.run_status_enum = AAZStrType( + serialized_name="runStatusEnum", + flags={"read_only": True}, + ) + properties.run_status_error = AAZStrType( + serialized_name="runStatusError", + flags={"read_only": True}, + ) + properties.start_time = AAZStrType( + serialized_name="startTime", + flags={"read_only": True}, + ) + properties.storage_account_id = AAZStrType( + serialized_name="storageAccountId", + flags={"read_only": True}, + ) + properties.summary_report_path = AAZStrType( + serialized_name="summaryReportPath", + flags={"read_only": True}, + ) + properties.task_assignment_id = AAZStrType( + serialized_name="taskAssignmentId", + flags={"read_only": True}, + ) + properties.task_id = AAZStrType( + serialized_name="taskId", + flags={"read_only": True}, + ) + properties.task_version = AAZStrType( + serialized_name="taskVersion", + flags={"read_only": True}, + ) + + return cls._schema_on_200 + + +class _ListReportHelper: + """Helper class for ListReport""" + + +__all__ = ["ListReport"] diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_show.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_show.py new file mode 100644 index 00000000000..5dcc86d5b86 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_show.py @@ -0,0 +1,324 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage account task-assignment show", + is_preview=True, +) +class Show(AAZCommand): + """Get the storage task assignment properties + """ + + _aaz_info = { + "version": "2023-05-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storage/storageaccounts/{}/storagetaskassignments/{}", "2023-05-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.account_name = AAZStrArg( + options=["--account-name"], + help="The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]+$", + max_length=24, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_task_assignment_name = AAZStrArg( + options=["-n", "--name", "--storage-task-assignment-name"], + help="The name of the storage task assignment within the specified resource group. Storage task assignment names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]{3,24}$", + max_length=24, + min_length=3, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.StorageTaskAssignmentsGet(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 StorageTaskAssignmentsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/storageTaskAssignments/{storageTaskAssignmentName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accountName", self.ctx.args.account_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageTaskAssignmentName", self.ctx.args.storage_task_assignment_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-05-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType( + flags={"required": True}, + ) + properties.enabled = AAZBoolType( + flags={"required": True}, + ) + properties.execution_context = AAZObjectType( + serialized_name="executionContext", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.report = AAZObjectType( + flags={"required": True}, + ) + properties.run_status = AAZObjectType( + serialized_name="runStatus", + ) + properties.task_id = AAZStrType( + serialized_name="taskId", + flags={"required": True}, + ) + + execution_context = cls._schema_on_200.properties.execution_context + execution_context.target = AAZObjectType() + execution_context.trigger = AAZObjectType( + flags={"required": True}, + ) + + target = cls._schema_on_200.properties.execution_context.target + target.exclude_prefix = AAZListType( + serialized_name="excludePrefix", + ) + target.prefix = AAZListType() + + exclude_prefix = cls._schema_on_200.properties.execution_context.target.exclude_prefix + exclude_prefix.Element = AAZStrType() + + prefix = cls._schema_on_200.properties.execution_context.target.prefix + prefix.Element = AAZStrType() + + trigger = cls._schema_on_200.properties.execution_context.trigger + trigger.parameters = AAZObjectType( + flags={"required": True}, + ) + trigger.type = AAZStrType( + flags={"required": True}, + ) + + parameters = cls._schema_on_200.properties.execution_context.trigger.parameters + parameters.end_by = AAZStrType( + serialized_name="endBy", + ) + parameters.interval = AAZIntType() + parameters.interval_unit = AAZStrType( + serialized_name="intervalUnit", + ) + parameters.start_from = AAZStrType( + serialized_name="startFrom", + ) + parameters.start_on = AAZStrType( + serialized_name="startOn", + ) + + report = cls._schema_on_200.properties.report + report.prefix = AAZStrType( + flags={"required": True}, + ) + + run_status = cls._schema_on_200.properties.run_status + run_status.finish_time = AAZStrType( + serialized_name="finishTime", + flags={"read_only": True}, + ) + run_status.object_failed_count = AAZStrType( + serialized_name="objectFailedCount", + flags={"read_only": True}, + ) + run_status.objects_operated_on_count = AAZStrType( + serialized_name="objectsOperatedOnCount", + flags={"read_only": True}, + ) + run_status.objects_succeeded_count = AAZStrType( + serialized_name="objectsSucceededCount", + flags={"read_only": True}, + ) + run_status.objects_targeted_count = AAZStrType( + serialized_name="objectsTargetedCount", + flags={"read_only": True}, + ) + run_status.run_result = AAZStrType( + serialized_name="runResult", + flags={"read_only": True}, + ) + run_status.run_status_enum = AAZStrType( + serialized_name="runStatusEnum", + flags={"read_only": True}, + ) + run_status.run_status_error = AAZStrType( + serialized_name="runStatusError", + flags={"read_only": True}, + ) + run_status.start_time = AAZStrType( + serialized_name="startTime", + flags={"read_only": True}, + ) + run_status.storage_account_id = AAZStrType( + serialized_name="storageAccountId", + flags={"read_only": True}, + ) + run_status.summary_report_path = AAZStrType( + serialized_name="summaryReportPath", + flags={"read_only": True}, + ) + run_status.task_assignment_id = AAZStrType( + serialized_name="taskAssignmentId", + flags={"read_only": True}, + ) + run_status.task_id = AAZStrType( + serialized_name="taskId", + flags={"read_only": True}, + ) + run_status.task_version = AAZStrType( + serialized_name="taskVersion", + flags={"read_only": True}, + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_update.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_update.py new file mode 100644 index 00000000000..900206f341f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_update.py @@ -0,0 +1,650 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage account task-assignment update", + is_preview=True, +) +class Update(AAZCommand): + """Update creates a new storage task assignment sub-resource with the specified parameters. If a storage task assignment is already created and a subsequent create request is issued with different properties, the storage task assignment properties will be updated. If a storage task assignment is already created and a subsequent create or update request is issued with the exact same set of properties, the request will succeed. + """ + + _aaz_info = { + "version": "2023-05-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storage/storageaccounts/{}/storagetaskassignments/{}", "2023-05-01"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + AZ_SUPPORT_GENERIC_UPDATE = 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.account_name = AAZStrArg( + options=["--account-name"], + help="The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]+$", + max_length=24, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_task_assignment_name = AAZStrArg( + options=["-n", "--name", "--storage-task-assignment-name"], + help="The name of the storage task assignment within the specified resource group. Storage task assignment names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]{3,24}$", + max_length=24, + min_length=3, + ), + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="Text that describes the purpose of the storage task assignment", + ) + _args_schema.enabled = AAZBoolArg( + options=["--enabled"], + arg_group="Properties", + help="Whether the storage task assignment is enabled or not", + ) + _args_schema.execution_context = AAZObjectArg( + options=["--execution-context"], + arg_group="Properties", + help="The storage task assignment execution context", + ) + _args_schema.report = AAZObjectArg( + options=["--report"], + arg_group="Properties", + help="The storage task assignment report", + ) + _args_schema.task_id = AAZResourceIdArg( + options=["--task-id"], + arg_group="Properties", + help="Id of the corresponding storage task", + ) + + execution_context = cls._args_schema.execution_context + execution_context.target = AAZObjectArg( + options=["target"], + help="Execution target of the storage task assignment", + nullable=True, + ) + execution_context.trigger = AAZObjectArg( + options=["trigger"], + help="Execution trigger of the storage task assignment", + ) + + target = cls._args_schema.execution_context.target + target.exclude_prefix = AAZListArg( + options=["exclude-prefix"], + help="List of object prefixes to be excluded from task execution. If there is a conflict between include and exclude prefixes, the exclude prefix will be the determining factor", + nullable=True, + ) + target.prefix = AAZListArg( + options=["prefix"], + help="Required list of object prefixes to be included for task execution", + nullable=True, + ) + + exclude_prefix = cls._args_schema.execution_context.target.exclude_prefix + exclude_prefix.Element = AAZStrArg( + nullable=True, + ) + + prefix = cls._args_schema.execution_context.target.prefix + prefix.Element = AAZStrArg( + nullable=True, + ) + + trigger = cls._args_schema.execution_context.trigger + trigger.parameters = AAZObjectArg( + options=["parameters"], + help="The trigger parameters of the storage task assignment execution", + ) + trigger.type = AAZStrArg( + options=["type"], + help="The trigger type of the storage task assignment execution", + enum={"OnSchedule": "OnSchedule", "RunOnce": "RunOnce"}, + ) + + parameters = cls._args_schema.execution_context.trigger.parameters + parameters.end_by = AAZDateTimeArg( + options=["end-by"], + help="When to end task execution. This is a required field when ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when ExecutionTrigger.properties.type is 'RunOnce'", + nullable=True, + ) + parameters.interval = AAZIntArg( + options=["interval"], + help="Run interval of task execution. This is a required field when ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when ExecutionTrigger.properties.type is 'RunOnce'", + nullable=True, + fmt=AAZIntArgFormat( + minimum=1, + ), + ) + parameters.interval_unit = AAZStrArg( + options=["interval-unit"], + help="Run interval unit of task execution. This is a required field when ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when ExecutionTrigger.properties.type is 'RunOnce'", + nullable=True, + enum={"Days": "Days"}, + ) + parameters.start_from = AAZDateTimeArg( + options=["start-from"], + help="When to start task execution. This is a required field when ExecutionTrigger.properties.type is 'OnSchedule'; this property should not be present when ExecutionTrigger.properties.type is 'RunOnce'", + nullable=True, + ) + parameters.start_on = AAZDateTimeArg( + options=["start-on"], + help="When to start task execution. This is an optional field when ExecutionTrigger.properties.type is 'RunOnce'; this property should not be present when ExecutionTrigger.properties.type is 'OnSchedule'", + nullable=True, + ) + + report = cls._args_schema.report + report.prefix = AAZStrArg( + options=["prefix"], + help="The container prefix for the location of storage task assignment report", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.StorageTaskAssignmentsGet(ctx=self.ctx)() + self.pre_instance_update(self.ctx.vars.instance) + self.InstanceUpdateByJson(ctx=self.ctx)() + self.InstanceUpdateByGeneric(ctx=self.ctx)() + self.post_instance_update(self.ctx.vars.instance) + yield self.StorageTaskAssignmentsCreate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + @register_callback + def pre_instance_update(self, instance): + pass + + @register_callback + def post_instance_update(self, instance): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class StorageTaskAssignmentsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/storageTaskAssignments/{storageTaskAssignmentName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accountName", self.ctx.args.account_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageTaskAssignmentName", self.ctx.args.storage_task_assignment_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-05-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + _UpdateHelper._build_schema_storage_task_assignment_read(cls._schema_on_200) + + return cls._schema_on_200 + + class StorageTaskAssignmentsCreate(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": "location"}, + 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": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/storageTaskAssignments/{storageTaskAssignmentName}", + **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( + "accountName", self.ctx.args.account_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageTaskAssignmentName", self.ctx.args.storage_task_assignment_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-05-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + value=self.ctx.vars.instance, + ) + + return self.serialize_content(_content_value) + + def on_200_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() + _UpdateHelper._build_schema_storage_task_assignment_read(cls._schema_on_200_201) + + return cls._schema_on_200_201 + + class InstanceUpdateByJson(AAZJsonInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance(self.ctx.vars.instance) + + def _update_instance(self, instance): + _instance_value, _builder = self.new_content_builder( + self.ctx.args, + value=instance, + typ=AAZObjectType + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("description", AAZStrType, ".description", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("enabled", AAZBoolType, ".enabled", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("executionContext", AAZObjectType, ".execution_context", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("report", AAZObjectType, ".report", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("taskId", AAZStrType, ".task_id", typ_kwargs={"flags": {"required": True}}) + + execution_context = _builder.get(".properties.executionContext") + if execution_context is not None: + execution_context.set_prop("target", AAZObjectType, ".target") + execution_context.set_prop("trigger", AAZObjectType, ".trigger", typ_kwargs={"flags": {"required": True}}) + + target = _builder.get(".properties.executionContext.target") + if target is not None: + target.set_prop("excludePrefix", AAZListType, ".exclude_prefix") + target.set_prop("prefix", AAZListType, ".prefix") + + exclude_prefix = _builder.get(".properties.executionContext.target.excludePrefix") + if exclude_prefix is not None: + exclude_prefix.set_elements(AAZStrType, ".") + + prefix = _builder.get(".properties.executionContext.target.prefix") + if prefix is not None: + prefix.set_elements(AAZStrType, ".") + + trigger = _builder.get(".properties.executionContext.trigger") + if trigger is not None: + trigger.set_prop("parameters", AAZObjectType, ".parameters", typ_kwargs={"flags": {"required": True}}) + trigger.set_prop("type", AAZStrType, ".type", typ_kwargs={"flags": {"required": True}}) + + parameters = _builder.get(".properties.executionContext.trigger.parameters") + if parameters is not None: + parameters.set_prop("endBy", AAZStrType, ".end_by") + parameters.set_prop("interval", AAZIntType, ".interval") + parameters.set_prop("intervalUnit", AAZStrType, ".interval_unit") + parameters.set_prop("startFrom", AAZStrType, ".start_from") + parameters.set_prop("startOn", AAZStrType, ".start_on") + + report = _builder.get(".properties.report") + if report is not None: + report.set_prop("prefix", AAZStrType, ".prefix", typ_kwargs={"flags": {"required": True}}) + + return _instance_value + + class InstanceUpdateByGeneric(AAZGenericInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance_by_generic( + self.ctx.vars.instance, + self.ctx.generic_update_args + ) + + +class _UpdateHelper: + """Helper class for Update""" + + _schema_storage_task_assignment_read = None + + @classmethod + def _build_schema_storage_task_assignment_read(cls, _schema): + if cls._schema_storage_task_assignment_read is not None: + _schema.id = cls._schema_storage_task_assignment_read.id + _schema.name = cls._schema_storage_task_assignment_read.name + _schema.properties = cls._schema_storage_task_assignment_read.properties + _schema.type = cls._schema_storage_task_assignment_read.type + return + + cls._schema_storage_task_assignment_read = _schema_storage_task_assignment_read = AAZObjectType() + + storage_task_assignment_read = _schema_storage_task_assignment_read + storage_task_assignment_read.id = AAZStrType( + flags={"read_only": True}, + ) + storage_task_assignment_read.name = AAZStrType( + flags={"read_only": True}, + ) + storage_task_assignment_read.properties = AAZObjectType( + flags={"required": True}, + ) + storage_task_assignment_read.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = _schema_storage_task_assignment_read.properties + properties.description = AAZStrType( + flags={"required": True}, + ) + properties.enabled = AAZBoolType( + flags={"required": True}, + ) + properties.execution_context = AAZObjectType( + serialized_name="executionContext", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.report = AAZObjectType( + flags={"required": True}, + ) + properties.run_status = AAZObjectType( + serialized_name="runStatus", + ) + properties.task_id = AAZStrType( + serialized_name="taskId", + flags={"required": True}, + ) + + execution_context = _schema_storage_task_assignment_read.properties.execution_context + execution_context.target = AAZObjectType() + execution_context.trigger = AAZObjectType( + flags={"required": True}, + ) + + target = _schema_storage_task_assignment_read.properties.execution_context.target + target.exclude_prefix = AAZListType( + serialized_name="excludePrefix", + ) + target.prefix = AAZListType() + + exclude_prefix = _schema_storage_task_assignment_read.properties.execution_context.target.exclude_prefix + exclude_prefix.Element = AAZStrType() + + prefix = _schema_storage_task_assignment_read.properties.execution_context.target.prefix + prefix.Element = AAZStrType() + + trigger = _schema_storage_task_assignment_read.properties.execution_context.trigger + trigger.parameters = AAZObjectType( + flags={"required": True}, + ) + trigger.type = AAZStrType( + flags={"required": True}, + ) + + parameters = _schema_storage_task_assignment_read.properties.execution_context.trigger.parameters + parameters.end_by = AAZStrType( + serialized_name="endBy", + ) + parameters.interval = AAZIntType() + parameters.interval_unit = AAZStrType( + serialized_name="intervalUnit", + ) + parameters.start_from = AAZStrType( + serialized_name="startFrom", + ) + parameters.start_on = AAZStrType( + serialized_name="startOn", + ) + + report = _schema_storage_task_assignment_read.properties.report + report.prefix = AAZStrType( + flags={"required": True}, + ) + + run_status = _schema_storage_task_assignment_read.properties.run_status + run_status.finish_time = AAZStrType( + serialized_name="finishTime", + flags={"read_only": True}, + ) + run_status.object_failed_count = AAZStrType( + serialized_name="objectFailedCount", + flags={"read_only": True}, + ) + run_status.objects_operated_on_count = AAZStrType( + serialized_name="objectsOperatedOnCount", + flags={"read_only": True}, + ) + run_status.objects_succeeded_count = AAZStrType( + serialized_name="objectsSucceededCount", + flags={"read_only": True}, + ) + run_status.objects_targeted_count = AAZStrType( + serialized_name="objectsTargetedCount", + flags={"read_only": True}, + ) + run_status.run_result = AAZStrType( + serialized_name="runResult", + flags={"read_only": True}, + ) + run_status.run_status_enum = AAZStrType( + serialized_name="runStatusEnum", + flags={"read_only": True}, + ) + run_status.run_status_error = AAZStrType( + serialized_name="runStatusError", + flags={"read_only": True}, + ) + run_status.start_time = AAZStrType( + serialized_name="startTime", + flags={"read_only": True}, + ) + run_status.storage_account_id = AAZStrType( + serialized_name="storageAccountId", + flags={"read_only": True}, + ) + run_status.summary_report_path = AAZStrType( + serialized_name="summaryReportPath", + flags={"read_only": True}, + ) + run_status.task_assignment_id = AAZStrType( + serialized_name="taskAssignmentId", + flags={"read_only": True}, + ) + run_status.task_id = AAZStrType( + serialized_name="taskId", + flags={"read_only": True}, + ) + run_status.task_version = AAZStrType( + serialized_name="taskVersion", + flags={"read_only": True}, + ) + + _schema.id = cls._schema_storage_task_assignment_read.id + _schema.name = cls._schema_storage_task_assignment_read.name + _schema.properties = cls._schema_storage_task_assignment_read.properties + _schema.type = cls._schema_storage_task_assignment_read.type + + +__all__ = ["Update"] diff --git a/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_wait.py b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_wait.py new file mode 100644 index 00000000000..e19139abfca --- /dev/null +++ b/src/storage-preview/azext_storage_preview/aaz/latest/storage/account/task_assignment/_wait.py @@ -0,0 +1,322 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "storage account task-assignment wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.storage/storageaccounts/{}/storagetaskassignments/{}", "2023-05-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.account_name = AAZStrArg( + options=["--account-name"], + help="The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]+$", + max_length=24, + min_length=3, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.storage_task_assignment_name = AAZStrArg( + options=["-n", "--name", "--storage-task-assignment-name"], + help="The name of the storage task assignment within the specified resource group. Storage task assignment names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="^[a-z0-9]{3,24}$", + max_length=24, + min_length=3, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.StorageTaskAssignmentsGet(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 StorageTaskAssignmentsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/storageTaskAssignments/{storageTaskAssignmentName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accountName", self.ctx.args.account_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "storageTaskAssignmentName", self.ctx.args.storage_task_assignment_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-05-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType( + flags={"required": True}, + ) + properties.enabled = AAZBoolType( + flags={"required": True}, + ) + properties.execution_context = AAZObjectType( + serialized_name="executionContext", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.report = AAZObjectType( + flags={"required": True}, + ) + properties.run_status = AAZObjectType( + serialized_name="runStatus", + ) + properties.task_id = AAZStrType( + serialized_name="taskId", + flags={"required": True}, + ) + + execution_context = cls._schema_on_200.properties.execution_context + execution_context.target = AAZObjectType() + execution_context.trigger = AAZObjectType( + flags={"required": True}, + ) + + target = cls._schema_on_200.properties.execution_context.target + target.exclude_prefix = AAZListType( + serialized_name="excludePrefix", + ) + target.prefix = AAZListType() + + exclude_prefix = cls._schema_on_200.properties.execution_context.target.exclude_prefix + exclude_prefix.Element = AAZStrType() + + prefix = cls._schema_on_200.properties.execution_context.target.prefix + prefix.Element = AAZStrType() + + trigger = cls._schema_on_200.properties.execution_context.trigger + trigger.parameters = AAZObjectType( + flags={"required": True}, + ) + trigger.type = AAZStrType( + flags={"required": True}, + ) + + parameters = cls._schema_on_200.properties.execution_context.trigger.parameters + parameters.end_by = AAZStrType( + serialized_name="endBy", + ) + parameters.interval = AAZIntType() + parameters.interval_unit = AAZStrType( + serialized_name="intervalUnit", + ) + parameters.start_from = AAZStrType( + serialized_name="startFrom", + ) + parameters.start_on = AAZStrType( + serialized_name="startOn", + ) + + report = cls._schema_on_200.properties.report + report.prefix = AAZStrType( + flags={"required": True}, + ) + + run_status = cls._schema_on_200.properties.run_status + run_status.finish_time = AAZStrType( + serialized_name="finishTime", + flags={"read_only": True}, + ) + run_status.object_failed_count = AAZStrType( + serialized_name="objectFailedCount", + flags={"read_only": True}, + ) + run_status.objects_operated_on_count = AAZStrType( + serialized_name="objectsOperatedOnCount", + flags={"read_only": True}, + ) + run_status.objects_succeeded_count = AAZStrType( + serialized_name="objectsSucceededCount", + flags={"read_only": True}, + ) + run_status.objects_targeted_count = AAZStrType( + serialized_name="objectsTargetedCount", + flags={"read_only": True}, + ) + run_status.run_result = AAZStrType( + serialized_name="runResult", + flags={"read_only": True}, + ) + run_status.run_status_enum = AAZStrType( + serialized_name="runStatusEnum", + flags={"read_only": True}, + ) + run_status.run_status_error = AAZStrType( + serialized_name="runStatusError", + flags={"read_only": True}, + ) + run_status.start_time = AAZStrType( + serialized_name="startTime", + flags={"read_only": True}, + ) + run_status.storage_account_id = AAZStrType( + serialized_name="storageAccountId", + flags={"read_only": True}, + ) + run_status.summary_report_path = AAZStrType( + serialized_name="summaryReportPath", + flags={"read_only": True}, + ) + run_status.task_assignment_id = AAZStrType( + serialized_name="taskAssignmentId", + flags={"read_only": True}, + ) + run_status.task_id = AAZStrType( + serialized_name="taskId", + flags={"read_only": True}, + ) + run_status.task_version = AAZStrType( + serialized_name="taskVersion", + flags={"read_only": True}, + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/storage-preview/azext_storage_preview/azext_metadata.json b/src/storage-preview/azext_storage_preview/azext_metadata.json index 8138e860821..b1e08d1f4b1 100644 --- a/src/storage-preview/azext_storage_preview/azext_metadata.json +++ b/src/storage-preview/azext_storage_preview/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.50.0" + "azext.minCliCoreVersion": "2.61.0" } \ No newline at end of file diff --git a/src/storage-preview/azext_storage_preview/commands.py b/src/storage-preview/azext_storage_preview/commands.py index e014fd19545..b9dad70872d 100644 --- a/src/storage-preview/azext_storage_preview/commands.py +++ b/src/storage-preview/azext_storage_preview/commands.py @@ -237,3 +237,8 @@ def _adls_deprecate_message(self): g.show_command('show', 'get') g.command('list-keys', 'list_keys') g.command('regenerate-password', 'regenerate_password') + + with self.command_group('storage account task-assignment') as g: + from .operations.task_assignment import TaskAssignmentCreate, TaskAssignmentUpdate + self.command_table['storage account task-assignment create'] = TaskAssignmentCreate(loader=self) + self.command_table['storage account task-assignment update'] = TaskAssignmentUpdate(loader=self) diff --git a/src/storage-preview/azext_storage_preview/operations/task_assignment.py b/src/storage-preview/azext_storage_preview/operations/task_assignment.py new file mode 100644 index 00000000000..050270764d4 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/operations/task_assignment.py @@ -0,0 +1,61 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.log import get_logger +from datetime import datetime +from azure.cli.core.aaz import has_value +from azure.cli.core.aaz.exceptions import AAZUnknownFieldError +from ..aaz.latest.storage.account.task_assignment import Create as _TaskAssignmentCreate +from ..aaz.latest.storage.account.task_assignment import Update as _TaskAssignmentUpdate + +logger = get_logger(__name__) + +datatime_format = "%Y-%m-%dT%H:%M:%S.%fZ" + + +class TaskAssignmentCreate(_TaskAssignmentCreate): + def pre_operations(self): + args = self.ctx.args + try: + if has_value(args.execution_context.trigger.parameters.start_on): + start_on = args.execution_context.trigger.parameters.start_on + formatted_time = datetime.strptime(str(start_on), datatime_format) + args.execution_context.trigger.parameters.start_on = \ + formatted_time.strftime(datatime_format)[:-1] + "0Z" + if has_value(args.execution_context.trigger.parameters.start_from): + start_from = args.execution_context.trigger.parameters.start_from + formatted_time = datetime.strptime(str(start_from), datatime_format) + args.execution_context.trigger.parameters.start_from = \ + formatted_time.strftime(datatime_format)[:-1] + "0Z" + if has_value(args.execution_context.trigger.parameters.end_by): + end_by = args.execution_context.trigger.parameters.end_by + formatted_time = datetime.strptime(str(end_by), datatime_format) + args.execution_context.trigger.parameters.end_by = \ + formatted_time.strftime(datatime_format)[:-1] + "0Z" + except AAZUnknownFieldError: + pass + + +class TaskAssignmentUpdate(_TaskAssignmentUpdate): + def pre_operations(self): + args = self.ctx.args + try: + if has_value(args.execution_context.trigger.parameters.start_on): + start_on = args.execution_context.trigger.parameters.start_on + formatted_time = datetime.strptime(str(start_on), datatime_format) + args.execution_context.trigger.parameters.start_on = \ + formatted_time.strftime(datatime_format)[:-1] + "0Z" + if has_value(args.execution_context.trigger.parameters.start_from): + start_from = args.execution_context.trigger.parameters.start_from + formatted_time = datetime.strptime(str(start_from), datatime_format) + args.execution_context.trigger.parameters.start_from = \ + formatted_time.strftime(datatime_format)[:-1] + "0Z" + if has_value(args.execution_context.trigger.parameters.end_by): + end_by = args.execution_context.trigger.parameters.end_by + formatted_time = datetime.strptime(str(end_by), datatime_format) + args.execution_context.trigger.parameters.end_by = \ + formatted_time.strftime(datatime_format)[:-1] + "0Z" + except AAZUnknownFieldError: + pass diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_task_assignment.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_task_assignment.yaml new file mode 100644 index 00000000000..498db1ff610 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_task_assignment.yaml @@ -0,0 +1,805 @@ +interactions: +- request: + body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "StorageV2", "location": "eastus2euap", + "properties": {"encryption": {"services": {"blob": {}}, "keySource": "Microsoft.Storage"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + Content-Length: + - '175' + Content-Type: + - application/json + ParameterSetName: + - -n -g -l + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002?api-version=2023-05-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Mon, 15 Jul 2024 07:21:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/12c7c9ca-9386-4c87-a001-ca708ffa0b11?monitor=true&api-version=2023-05-01&t=638566249154422379&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=fpyAqARNUlp8HBSkFeqUWRNX_RnmjIzFg3ocgi6JQFh_U79gNEwh1ZcNlEEG7Y7k6Y_mBTxZ-0zUnYPh2rIZNZrcTfLj4BJzo5zdp51_tS9oz_lbMGNAIW381gxuyXqhvGqBAEEqnNov6lv7NWX7GwknpsEPeNmBfmSMYDfhTo8hiiGqGtZGnajo6Bhkr7-11JT7j1fhF7tLdF57AtT5ARo8E1WKv1--hQqg9TKPmbfZemctGBoxikbA05fs1eFI0GgVbbLCbKE6z08m_c8l8TLhD0Jk1_SiUgpmkEZk8eFAmnfb7m-Z_8hOrsu-KNifuUe0mvXgqW9rHuYZxvY5tA&h=_ORLXzavtb3bQtMWSI34_1w8O6ySgTP2eFTMmpqf7Ns + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/2109e0b9-e9c6-4017-85e2-765f1c9a5532 + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/12c7c9ca-9386-4c87-a001-ca708ffa0b11?monitor=true&api-version=2023-05-01&t=638566249154422379&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=fpyAqARNUlp8HBSkFeqUWRNX_RnmjIzFg3ocgi6JQFh_U79gNEwh1ZcNlEEG7Y7k6Y_mBTxZ-0zUnYPh2rIZNZrcTfLj4BJzo5zdp51_tS9oz_lbMGNAIW381gxuyXqhvGqBAEEqnNov6lv7NWX7GwknpsEPeNmBfmSMYDfhTo8hiiGqGtZGnajo6Bhkr7-11JT7j1fhF7tLdF57AtT5ARo8E1WKv1--hQqg9TKPmbfZemctGBoxikbA05fs1eFI0GgVbbLCbKE6z08m_c8l8TLhD0Jk1_SiUgpmkEZk8eFAmnfb7m-Z_8hOrsu-KNifuUe0mvXgqW9rHuYZxvY5tA&h=_ORLXzavtb3bQtMWSI34_1w8O6ySgTP2eFTMmpqf7Ns + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Mon, 15 Jul 2024 07:21:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/12c7c9ca-9386-4c87-a001-ca708ffa0b11?monitor=true&api-version=2023-05-01&t=638566249157859885&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=dJzASXcScgxx3gn8dV-ToU18cwldsT2JXYNLsKlc3A0cOEaEodTrnKjpDYMFIsuWx1pscXAQRXJTa6EGDhf9NIqN4DQXkguGoxrr94CX8zEvhTUD4epyBm5nQKfr3uAagNbwJJjxSN9yXO4S3DrcI38KOZ-lSPtP5hCCYlqvBJdJcTgQj0eeZhTHPBYRrk1r--6TpMU4Akw4PmQUvqRnGVrukBXz8IU-jc7obpJMzYnmaWfpUqpH3K4mdn-h3dlr28r4xGV3HZdsiIWjMuQLOx03eRILFmgm24KMvr61zpad4P3ui0vhsXZ2n_s9SFOSAQPVrSvZiUTwO1e-3MQ9hg&h=wiRof1fod1pc_3-ysg6mQSh-fgMRJMmamcd4Kui0C8M + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/28bbfb5c-26b2-4ec8-9d49-071fe3894549 + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/12c7c9ca-9386-4c87-a001-ca708ffa0b11?monitor=true&api-version=2023-05-01&t=638566249157859885&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=dJzASXcScgxx3gn8dV-ToU18cwldsT2JXYNLsKlc3A0cOEaEodTrnKjpDYMFIsuWx1pscXAQRXJTa6EGDhf9NIqN4DQXkguGoxrr94CX8zEvhTUD4epyBm5nQKfr3uAagNbwJJjxSN9yXO4S3DrcI38KOZ-lSPtP5hCCYlqvBJdJcTgQj0eeZhTHPBYRrk1r--6TpMU4Akw4PmQUvqRnGVrukBXz8IU-jc7obpJMzYnmaWfpUqpH3K4mdn-h3dlr28r4xGV3HZdsiIWjMuQLOx03eRILFmgm24KMvr61zpad4P3ui0vhsXZ2n_s9SFOSAQPVrSvZiUTwO1e-3MQ9hg&h=wiRof1fod1pc_3-ysg6mQSh-fgMRJMmamcd4Kui0C8M + response: + body: + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002","name":"sataskassignment000002","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2024-07-15T07:21:53.5422444Z","key2":"2024-07-15T07:21:53.5422444Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"ipv6Rules":[],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-07-15T07:21:53.8703733Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2024-07-15T07:21:53.8703733Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2024-07-15T07:21:53.4484965Z","primaryEndpoints":{"dfs":"https://sataskassignment000002.dfs.core.windows.net/","web":"https://sataskassignment000002.z3.web.core.windows.net/","blob":"https://sataskassignment000002.blob.core.windows.net/","queue":"https://sataskassignment000002.queue.core.windows.net/","table":"https://sataskassignment000002.table.core.windows.net/","file":"https://sataskassignment000002.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sataskassignment000002-secondary.dfs.core.windows.net/","web":"https://sataskassignment000002-secondary.z3.web.core.windows.net/","blob":"https://sataskassignment000002-secondary.blob.core.windows.net/","queue":"https://sataskassignment000002-secondary.queue.core.windows.net/","table":"https://sataskassignment000002-secondary.table.core.windows.net/"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1956' + content-type: + - application/json + date: + - Mon, 15 Jul 2024 07:22:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/afd04b76-7761-45ac-9b8c-3de8e2183de3 + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-actions task create + Connection: + - keep-alive + ParameterSetName: + - -g -n --identity --tags --action --description --enabled + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-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":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_storage_account_task_assignment","date":"2024-07-15T07:21:48Z","module":"storage-preview","Creator":"zhiyihuang@microsoft.com","DateCreated":"2024-07-15T07:21:51Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '462' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 15 Jul 2024 07:22:14 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + status: + code: 200 + message: OK +- request: + body: '{"identity": {"type": "SystemAssigned"}, "location": "eastus2euap", "properties": + {"action": {"else": {"operations": [{"name": "DeleteBlob", "onFailure": "break", + "onSuccess": "continue"}]}, "if": {"condition": "[[equals(AccessTier,''Cool'')]]", + "operations": [{"name": "SetBlobTier", "onFailure": "break", "onSuccess": "continue", + "parameters": {"tier": "Hot"}}]}}, "description": "StorageTask1", "enabled": + true}, "tags": {"key1": "value1"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-actions task create + Connection: + - keep-alive + Content-Length: + - '441' + Content-Type: + - application/json + ParameterSetName: + - -g -n --identity --tags --action --description --enabled + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageActions/storageTasks/task000003?api-version=2023-01-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageActions/locations/eastus2euap/asyncoperations/8ffd00fe-8c53-4f7a-bf21-993af27aeb51?monitor=true&api-version=2023-01-01&asynclink=true + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Mon, 15 Jul 2024 07:22:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageActions/locations/eastus2euap/asyncoperations/8ffd00fe-8c53-4f7a-bf21-993af27aeb51?monitor=true&api-version=2023-01-01 + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/983c4ebd-0490-490a-8f3b-cd698e2cc634 + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-actions task create + Connection: + - keep-alive + ParameterSetName: + - -g -n --identity --tags --action --description --enabled + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageActions/locations/eastus2euap/asyncoperations/8ffd00fe-8c53-4f7a-bf21-993af27aeb51?monitor=true&api-version=2023-01-01&asynclink=true + response: + body: + string: '{"status":"Succeeded","startTime":"2024-07-15T07:22:16.620696Z","endTime":"2024-07-15T07:22:16.8707024Z"}' + headers: + cache-control: + - no-cache + content-length: + - '105' + content-type: + - application/json + date: + - Mon, 15 Jul 2024 07:22:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/d7eefb00-4095-4e13-a1bb-21c1e7c96636 + x-ms-ratelimit-remaining-subscription-global-reads: + - '3748' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage-actions task create + Connection: + - keep-alive + ParameterSetName: + - -g -n --identity --tags --action --description --enabled + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageActions/locations/eastus2euap/asyncoperations/8ffd00fe-8c53-4f7a-bf21-993af27aeb51?monitor=true&api-version=2023-01-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageActions/storageTasks/task000003","name":"task000003","type":"Microsoft.StorageActions/storageTasks","location":"eastus2euap","tags":{"key1":"value1"},"identity":{"principalId":"b841f184-e9af-41bc-bc6f-d28a6cb06efb","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"properties":{"enabled":true,"description":"StorageTask1","action":{"if":{"condition":"[[equals(AccessTier,''Cool'')]]","operations":[{"name":"SetBlobTier","parameters":{"tier":"Hot"},"onSuccess":"continue","onFailure":"break"}]},"else":{"operations":[{"name":"DeleteBlob","onSuccess":"continue","onFailure":"break"}]}},"taskVersion":1,"provisioningState":"Succeeded","creationTimeInUtc":"2024-07-15T07:22:16.6206960Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '826' + content-type: + - application/json + date: + - Mon, 15 Jul 2024 07:22:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/f44ab064-be25-4b87-a70e-f9c6966d167a + x-ms-ratelimit-remaining-subscription-global-reads: + - '3747' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "My Storage task assignment", "enabled": + false, "executionContext": {"target": {"excludePrefix": ["prefix3"], "prefix": + ["prefix1", "prefix2"]}, "trigger": {"parameters": {"endBy": "2024-09-04T21:52:47.2030740Z", + "interval": 10, "intervalUnit": "Days", "startFrom": "2024-08-14T21:52:47.0000000Z"}, + "type": "OnSchedule"}}, "report": {"prefix": "container1"}, "taskId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageActions/storageTasks/task000003"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account task-assignment create + Connection: + - keep-alive + Content-Length: + - '546' + Content-Type: + - application/json + ParameterSetName: + - -g -n --account-name --description --enabled --task-id --report --execution-context + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002/storageTaskAssignments/taskassignment000004?api-version=2023-05-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/3f69429c-f686-42e0-bdc5-0b21d6576dcf?monitor=true&api-version=2023-05-01&asynclink=true&t=638566249397074567&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=cotHGtWwBkYYgbj5IwU-2wl2tXB2_duRqFEn8kv3utvKIc9Cs8vZXyswUKpq_DQBOcbojPLpsrpQgRXNR5-KXiSdyeEnIf1OXQSqc12-4nz5F5IsFNnaiRVb7WieE4HvkRJJ_aEUlOu7S44nUoGiYtdqanT6_en34pKk7a6wMuqaajhZ2A9LyIRr8Q1g61HBwJfv8eZys0RuphVH-w936ZWFotWagcGUj13vmEzmIQIsbs3Iz5kUa_2rMv0v_f3QHzYGl6vGN1oIWrJdGboIpPQzzWWSSXTWMbkpD8RmtkvmbTU5kmI6Ivv_GJA6LJhzPuHqW48ozvreRQKfYATb4Q&h=Pv0U-MusmZLbRmHorfhj4pwnuX_xBgJpPvZFDIFQcfc + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Mon, 15 Jul 2024 07:22:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/3f69429c-f686-42e0-bdc5-0b21d6576dcf?monitor=true&api-version=2023-05-01&t=638566249397230206&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=a_bWN6M9n8OTq3LEkt6ugozeS9Y27arxQYLw5H_7RzI2os3vzPB2pLzrXYnLk8gfeNbsm4EdhKtt7r8MgoDX4-NYtt_imUqCqdG6MCcOsQeG-2z4K_ETNEvxNJ7mUyN69B0VQcCcyEQAaDN5A_UEZqJqnFunM-aGqqBKO0NtM6QxfbmunTAVyemqK1iHxk1dt81qIPPeuuBo5Jc2dkv6--l3Hp9Owr0TFDSCjGGOklG62SoNcuPPqLEYxoZoxSclTxcD-_7NLOf6G2_VYiPVmdxt2WlRLojOI2Hp6QYWV8B6FrPGm29FZRg_oUnHhGdyJPdouKEnfiv6FD_yaGNCmQ&h=Wvhm-P4mLMJuTU4030Yuww9bDFs2SXOOHHHUG2ttaNk + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/5827f03c-30cf-4d58-a41b-92935ded87e9 + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account task-assignment create + Connection: + - keep-alive + ParameterSetName: + - -g -n --account-name --description --enabled --task-id --report --execution-context + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/3f69429c-f686-42e0-bdc5-0b21d6576dcf?monitor=true&api-version=2023-05-01&asynclink=true&t=638566249397074567&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=cotHGtWwBkYYgbj5IwU-2wl2tXB2_duRqFEn8kv3utvKIc9Cs8vZXyswUKpq_DQBOcbojPLpsrpQgRXNR5-KXiSdyeEnIf1OXQSqc12-4nz5F5IsFNnaiRVb7WieE4HvkRJJ_aEUlOu7S44nUoGiYtdqanT6_en34pKk7a6wMuqaajhZ2A9LyIRr8Q1g61HBwJfv8eZys0RuphVH-w936ZWFotWagcGUj13vmEzmIQIsbs3Iz5kUa_2rMv0v_f3QHzYGl6vGN1oIWrJdGboIpPQzzWWSSXTWMbkpD8RmtkvmbTU5kmI6Ivv_GJA6LJhzPuHqW48ozvreRQKfYATb4Q&h=Pv0U-MusmZLbRmHorfhj4pwnuX_xBgJpPvZFDIFQcfc + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/3f69429c-f686-42e0-bdc5-0b21d6576dcf?monitor=true&api-version=2023-05-01&asynclink=true&t=638566249400823946&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=xrYXda7iEO5KWDivAD40U-0Fc9_SrR7quPUTAd8IQ4clyJ4T_UF3LPJtn2-XttS_mR7iBZrCCNCGdwMUfCBKQYbaIxkgggE0fgvdD4BRVNnsRQCCixuUV2ADXgyhozLatOh_o4mkeOizMD6VwbO-jL79qOCypbDzDtviI2zN6AOmlvTy449kxGOQ_R_T9-3-XXW0hj9dM2nhn84zNLDUWxvmWAJADHDI5VJXh0qgnRs43byxkdTaWjCSoySmCuzDPx9A_mdmo7QVV8fcmEVUX-AID19OdYbyBwBKWcNyCvNBJ5DSskiiMRJ3hEg6CNaNVxDEHwjthtydTfCMmaOeAA&h=567K9nkV8_xQGdfBriYTnLEaVottaUAGLfC7Nnu6Y90 + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Mon, 15 Jul 2024 07:22:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/3f69429c-f686-42e0-bdc5-0b21d6576dcf?monitor=true&api-version=2023-05-01&t=638566249400823946&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=xrYXda7iEO5KWDivAD40U-0Fc9_SrR7quPUTAd8IQ4clyJ4T_UF3LPJtn2-XttS_mR7iBZrCCNCGdwMUfCBKQYbaIxkgggE0fgvdD4BRVNnsRQCCixuUV2ADXgyhozLatOh_o4mkeOizMD6VwbO-jL79qOCypbDzDtviI2zN6AOmlvTy449kxGOQ_R_T9-3-XXW0hj9dM2nhn84zNLDUWxvmWAJADHDI5VJXh0qgnRs43byxkdTaWjCSoySmCuzDPx9A_mdmo7QVV8fcmEVUX-AID19OdYbyBwBKWcNyCvNBJ5DSskiiMRJ3hEg6CNaNVxDEHwjthtydTfCMmaOeAA&h=567K9nkV8_xQGdfBriYTnLEaVottaUAGLfC7Nnu6Y90 + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/e658c4a3-d7ac-438d-af6c-069d4886b676 + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account task-assignment update + Connection: + - keep-alive + ParameterSetName: + - -g -n --account-name --description --enabled --task-id --report --execution-context + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002/storageTaskAssignments/taskassignment000004?api-version=2023-05-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002/storageTaskAssignments/taskassignment000004","name":"taskassignment000004","type":"Microsoft.Storage/storageAccounts/storageTaskAssignments","properties":{"taskId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageActions/storageTasks/task000003","enabled":false,"description":"My + Storage task assignment","executionContext":{"target":{"prefix":["prefix1","prefix2"],"excludePrefix":["prefix3"]},"trigger":{"type":"OnSchedule","parameters":{"startFrom":"2024-08-14T21:52:47Z","interval":10,"intervalUnit":"days","endBy":"2024-09-04T21:52:47.203074Z"}}},"report":{"prefix":"container1"},"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '839' + content-type: + - application/json + date: + - Mon, 15 Jul 2024 07:22:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/42338aae-2f2d-441d-803b-14cc01bb72db + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "My Storage task assignment", "enabled": + false, "executionContext": {"target": {"excludePrefix": ["prefix3"], "prefix": + ["prefix1", "prefix2"]}, "trigger": {"parameters": {"endBy": "2024-09-05T21:52:47.2030740Z", + "interval": 10, "intervalUnit": "Days", "startFrom": "2024-08-15T21:52:47.0000000Z"}, + "type": "OnSchedule"}}, "report": {"prefix": "container1"}, "taskId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageActions/storageTasks/task000003"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account task-assignment update + Connection: + - keep-alive + Content-Length: + - '546' + Content-Type: + - application/json + ParameterSetName: + - -g -n --account-name --description --enabled --task-id --report --execution-context + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002/storageTaskAssignments/taskassignment000004?api-version=2023-05-01 + response: + body: + string: '{"error":{"code":"InvalidStorageTaskAssignmentDateTimeTriggerParameters","message":"The + values for the startOn and startFrom trigger parameters must be a current + or future date time value in either UTC ISO 8601 sortable or roundtrip format.\r\n "}}' + headers: + cache-control: + - no-cache + content-length: + - '251' + content-type: + - application/json + date: + - Mon, 15 Jul 2024 07:22:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/5b2076cb-13b7-4769-bada-19043d401629 + x-ms-ratelimit-remaining-subscription-global-writes: + - '2999' + x-ms-ratelimit-remaining-subscription-writes: + - '199' + status: + code: 400 + message: Bad Request +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account task-assignment show + Connection: + - keep-alive + ParameterSetName: + - -g -n --account-name + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002/storageTaskAssignments/taskassignment000004?api-version=2023-05-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002/storageTaskAssignments/taskassignment000004","name":"taskassignment000004","type":"Microsoft.Storage/storageAccounts/storageTaskAssignments","properties":{"taskId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageActions/storageTasks/task000003","enabled":false,"description":"My + Storage task assignment","executionContext":{"target":{"prefix":["prefix1","prefix2"],"excludePrefix":["prefix3"]},"trigger":{"type":"OnSchedule","parameters":{"startFrom":"2024-08-14T21:52:47Z","interval":10,"intervalUnit":"days","endBy":"2024-09-04T21:52:47.203074Z"}}},"report":{"prefix":"container1"},"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '839' + content-type: + - application/json + date: + - Mon, 15 Jul 2024 07:22:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/e6084437-cac6-4b8e-9902-d1239d7381d7 + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account task-assignment list + Connection: + - keep-alive + ParameterSetName: + - -g --account-name + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002/storageTaskAssignments?api-version=2023-05-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002/storageTaskAssignments/taskassignment000004","name":"taskassignment000004","type":"Microsoft.Storage/storageAccounts/storageTaskAssignments","properties":{"taskId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.StorageActions/storageTasks/task000003","enabled":false,"description":"My + Storage task assignment","executionContext":{"target":{"prefix":["prefix1","prefix2"],"excludePrefix":["prefix3"]},"trigger":{"type":"OnSchedule","parameters":{"startFrom":"2024-08-14T21:52:47Z","interval":10,"intervalUnit":"days","endBy":"2024-09-04T21:52:47.203074Z"}}},"report":{"prefix":"container1"},"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '851' + content-type: + - application/json + date: + - Mon, 15 Jul 2024 07:22:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/bfaa96c7-79ed-43ec-9e0b-7a4a77992070 + x-ms-ratelimit-remaining-subscription-global-reads: + - '3748' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account task-assignment list-report + Connection: + - keep-alive + ParameterSetName: + - -g -n --account-name + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002/storageTaskAssignments/taskassignment000004/reports?api-version=2023-05-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json + date: + - Mon, 15 Jul 2024 07:22:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/9b473efa-b7f2-4cf0-aff7-61168d8c0798 + x-ms-ratelimit-remaining-subscription-global-reads: + - '3749' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account task-assignment delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --account-name -y + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/sataskassignment000002/storageTaskAssignments/taskassignment000004?api-version=2023-05-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/605a4d74-354f-4e2a-b702-22c7061d6b0a?monitor=true&api-version=2023-05-01&asynclink=true&t=638566249496826940&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=apGbmlDfGItp7_2O-8Ww2VBnXFHYkXdQXT2dAk1TQsESaUM1gojnuECYLUnNcqxHO8oqX6TMCeFK1o4mZadxVwV8pvCaDBC20fhh3dXdFUWFEVExb8rksM37XFMaVSYbd6rfv9zbNeJCvZLsqa0WnqZ-d2uAsjInwhbMr22cO_IU20l8VJRljQS0dMRzimZPc5wMmcBxVoTMQ-GbEKQC6Blss3gtF9kUqZJVzEKxDdzjjIfiozDr0goe_O0Rtg-C3nIBlPHiFWKPVaS0LD-wtuOi1Q8DesKkBGT3ku6jhv_-INiCt4Vy02CYM1BpJ5rXHiqIIwpOKYOVpqBq8FW8YA&h=iV2Z67foI2-sCUU2PoslbqkSOy_wtn8Myj1mSHG24yE + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Mon, 15 Jul 2024 07:22:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/605a4d74-354f-4e2a-b702-22c7061d6b0a?monitor=true&api-version=2023-05-01&t=638566249496826940&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=apGbmlDfGItp7_2O-8Ww2VBnXFHYkXdQXT2dAk1TQsESaUM1gojnuECYLUnNcqxHO8oqX6TMCeFK1o4mZadxVwV8pvCaDBC20fhh3dXdFUWFEVExb8rksM37XFMaVSYbd6rfv9zbNeJCvZLsqa0WnqZ-d2uAsjInwhbMr22cO_IU20l8VJRljQS0dMRzimZPc5wMmcBxVoTMQ-GbEKQC6Blss3gtF9kUqZJVzEKxDdzjjIfiozDr0goe_O0Rtg-C3nIBlPHiFWKPVaS0LD-wtuOi1Q8DesKkBGT3ku6jhv_-INiCt4Vy02CYM1BpJ5rXHiqIIwpOKYOVpqBq8FW8YA&h=iV2Z67foI2-sCUU2PoslbqkSOy_wtn8Myj1mSHG24yE + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/d4180cf2-ee7e-4710-a2a8-100088f0d763 + x-ms-ratelimit-remaining-subscription-deletes: + - '199' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '2999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account task-assignment delete + Connection: + - keep-alive + ParameterSetName: + - -g -n --account-name -y + User-Agent: + - AZURECLI/2.62.0 (PIP) azsdk-python-core/1.28.0 Python/3.9.13 (Windows-10-10.0.19045-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/605a4d74-354f-4e2a-b702-22c7061d6b0a?monitor=true&api-version=2023-05-01&asynclink=true&t=638566249496826940&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=apGbmlDfGItp7_2O-8Ww2VBnXFHYkXdQXT2dAk1TQsESaUM1gojnuECYLUnNcqxHO8oqX6TMCeFK1o4mZadxVwV8pvCaDBC20fhh3dXdFUWFEVExb8rksM37XFMaVSYbd6rfv9zbNeJCvZLsqa0WnqZ-d2uAsjInwhbMr22cO_IU20l8VJRljQS0dMRzimZPc5wMmcBxVoTMQ-GbEKQC6Blss3gtF9kUqZJVzEKxDdzjjIfiozDr0goe_O0Rtg-C3nIBlPHiFWKPVaS0LD-wtuOi1Q8DesKkBGT3ku6jhv_-INiCt4Vy02CYM1BpJ5rXHiqIIwpOKYOVpqBq8FW8YA&h=iV2Z67foI2-sCUU2PoslbqkSOy_wtn8Myj1mSHG24yE + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/605a4d74-354f-4e2a-b702-22c7061d6b0a?monitor=true&api-version=2023-05-01&asynclink=true&t=638566249500577277&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=zcSnOtuXRGaGGdO_W8bzyE7Bb4di7sBxUpJ-Wi1BEKCwVM9zTXTTeKelaEMYEs2lXJECMr-KAtICPSv_nkJeq_yuXED_X4_P0feKv7vjRJ1qk5JomBZCm_Q5Ctb8h4DVV41Z83zEEuwqGXJFNrDgefvWQMsLeRt2hl0JuwzuE9dVRSJffeXaGqcjQIVsOQXKOyAYvK5k8soVzpbbrw1s4az-P-6SlLd_olduqFRBmKC0Lco6ZlqNpBOT4snuAAG1yx6UV5oTVukfDqb0P8skcjUQ_hhCjUyOGJY6sRkeZ9J2uwxsnMPGSLRYz1XG8rYJFvdQtx9yUdJ9YrC8Mv0OTw&h=u_s2kJa37zarAYzfWp-wRx-Cng80ReweUvfGVCWVrrw + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Mon, 15 Jul 2024 07:22:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/605a4d74-354f-4e2a-b702-22c7061d6b0a?monitor=true&api-version=2023-05-01&t=638566249500577277&c=MIIHhjCCBm6gAwIBAgITHgTRyflxkShu--VinwAABNHJ-TANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwNjI3MTI0MTAxWhcNMjQwOTI1MTI0MTAxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANBrr0L6Umt3WSdxpF0u7V5gmAhnCYp5MANqa_Z1Fi90k1oNBpVRBeA83-DP_Kt_w1LLlI4-Qx-OR3oxA2hhBS1pPjKRQGhbQreLu_HkL_lUHcsm59L9nDF-DDs8AgOpIzfMIcXm0X8J8hyYSMn6OkEeBIbZyzb1K_iQ9ZTXNMGHEML_vBTGNC5pQkI508LMKIIY9hcgwIUl60A6gut5T7hrRa0EkZHIUtKgPwsbAG-67-2rpW4XN1125OMyh0FQHtH68Rqyq8D4JThT13X0iZJMkBbgWo4aeC3KjbnTcS2w1gTevr28je0j-5nGzE9fWPCxSmbsU57LVdECqir1zVUCAwEAAaOCBHMwggRvMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAcsGCCsGAQUFBwEBBIIBvTCCAbkwYwYIKwYBBQUHMAKGV2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDEuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDQuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwHQYDVR0OBBYEFDqU3HmAN2gP75YPlHKXF04-rHxkMA4GA1UdDwEB_wQEAwIFoDCCASYGA1UdHwSCAR0wggEZMIIBFaCCARGgggENhj9odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmyGMWh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDATAMBgorBgEEAYI3ewQBMB8GA1UdIwQYMBaAFPFGaMbxw_ArLX2LauGy-b41_NFBMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAQEAhz6mKvyMpK6eZRoLvyFRPI_aKjF5ae_EklNspOi92t_cNaUHJGyQnVUHDk1c7IKh0ZkR5l50IrPdOXIS8kn332AhNv-9coG-TxLkOLUivhuUHq8OK5t_9GCDMmzUBjmVvlKuKXjpIJcZ-3Hi8tOr5j6DNIK86JfmEjlfL35Zqp8eRkfm8_5w_NH_bQ2ELzBrNErXSaRXgos1MRuJM01UJ-lDkGzxnvKmkjtny4bouxAwC7UU3jcNnn5N14ENI1b6Xfd6UFz0sAbhcu00CyN4Le8M3T4eqnLPfv7lCtZwxo9So1aSU5Sw4HgYdYs9hOPiYGj3qxtT7rmKCUuSIdv4TA&s=zcSnOtuXRGaGGdO_W8bzyE7Bb4di7sBxUpJ-Wi1BEKCwVM9zTXTTeKelaEMYEs2lXJECMr-KAtICPSv_nkJeq_yuXED_X4_P0feKv7vjRJ1qk5JomBZCm_Q5Ctb8h4DVV41Z83zEEuwqGXJFNrDgefvWQMsLeRt2hl0JuwzuE9dVRSJffeXaGqcjQIVsOQXKOyAYvK5k8soVzpbbrw1s4az-P-6SlLd_olduqFRBmKC0Lco6ZlqNpBOT4snuAAG1yx6UV5oTVukfDqb0P8skcjUQ_hhCjUyOGJY6sRkeZ9J2uwxsnMPGSLRYz1XG8rYJFvdQtx9yUdJ9YrC8Mv0OTw&h=u_s2kJa37zarAYzfWp-wRx-Cng80ReweUvfGVCWVrrw + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a,objectId=a7250e3a-0e5e-48e2-9a34-45f1f5e1a91e/eastus2euap/0e08c630-a219-4193-9def-f7cefe83ca6b + x-ms-ratelimit-remaining-subscription-global-reads: + - '3747' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_account_scenarios.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_account_scenarios.py index 16b9832231e..4dc13b244e9 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_account_scenarios.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_account_scenarios.py @@ -5,6 +5,7 @@ from azure.cli.testsdk import (ScenarioTest, JMESPathCheck, JMESPathCheckExists, ResourceGroupPreparer, StorageAccountPreparer, api_version_constraint) from azure.cli.testsdk.scenario_tests import AllowLargeResponse +from azure.core.exceptions import HttpResponseError from .storage_test_util import StorageScenarioMixin from ...profiles import CUSTOM_MGMT_STORAGE @@ -279,6 +280,49 @@ def test_storage_account_migration(self, resource_group): self.cmd('az storage account migration show -n default -g {rg} --account-name {sa}', checks=[JMESPathCheck('migrationStatus', 'SubmittedForConversion')]) + @ResourceGroupPreparer(location='eastus2euap') + def test_storage_account_task_assignment(self, resource_group): + self.kwargs.update({ + 'sa': self.create_random_name('sataskassignment', 24), + "task_name": self.create_random_name('task', 18), + "task_assignment_name": self.create_random_name('taskassignment', 24) + }) + self.cmd('az storage account create -n {sa} -g {rg} -l eastus2euap') + + # need to create storage-actions task manually + # task_id = self.cmd("az storage-actions task create -g {rg} -n {task_name} --identity {{type:SystemAssigned}} " + # "--tags {{key1:value1}} --action {{if:{{condition:\\' + # [[equals(AccessTier,\\'/Cool\\'/)]]\\'," + # "operations:[{{name:'SetBlobTier',parameters:{{tier:'Hot'}}," + # "onSuccess:'continue',onFailure:'break'}}]}}," + # "else:{{operations:[{{name:'DeleteBlob',onSuccess:'continue',onFailure:'break'}}]}}}} " + # "--description StorageTask1 --enabled true").get_output_in_json()["id"] + task_id = 'taskid' + self.kwargs.update({"task_id": task_id}) + # server error return accepted but also error + with self.assertRaises(HttpResponseError): + self.cmd("az storage account task-assignment create -g {rg} -n {task_assignment_name} --account-name {sa} " + "--description 'My Storage task assignment' --enabled false --task-id '{task_id}' " + "--report {{prefix:container1}} " + "--execution-context {{trigger:{{type:OnSchedule,parameters:" + "{{start-from:\\'2024-08-14T21:52:47Z\\'," + "end-by:\\'2024-09-04T21:52:47.203074Z\\',interval:10,interval-unit:Days}}}}," + "target:{{prefix:[prefix1,prefix2],exclude-prefix:[prefix3]}}}}") + with self.assertRaises(HttpResponseError): + self.cmd("az storage account task-assignment update -g {rg} -n {task_assignment_name} --account-name {sa} " + "--description 'My Storage task assignment' --enabled false --task-id '{task_id}'" + " --report {{prefix:container1}} " + "--execution-context {{trigger:{{type:OnSchedule,parameters:" + "{{start-from:\\'2024-08-15T21:52:47Z\\'," + "end-by:\\'2024-09-05T21:52:47.203074Z\\',interval:10,interval-unit:Days}}}}," + "target:{{prefix:[prefix1,prefix2],exclude-prefix:[prefix3]}}}}") + self.cmd("az storage account task-assignment show -g {rg} -n {task_assignment_name} --account-name {sa}") + self.cmd("az storage account task-assignment list -g {rg} --account-name {sa}") + self.cmd("az storage account task-assignment list-report -g {rg} -n {task_assignment_name} --account-name {sa}") + with self.assertRaises(HttpResponseError): + self.cmd("az storage account task-assignment delete -g {rg} -n {task_assignment_name} --account-name {sa} " + "-y") + class StorageAccountLocalUserTests(StorageScenarioMixin, ScenarioTest): @AllowLargeResponse() diff --git a/src/storage-preview/setup.py b/src/storage-preview/setup.py index 6d959552966..f9d5575d403 100644 --- a/src/storage-preview/setup.py +++ b/src/storage-preview/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "1.0.0b1" +VERSION = "1.0.0b2" CLASSIFIERS = [ 'Development Status :: 4 - Beta',