diff --git a/src/nsp/HISTORY.rst b/src/nsp/HISTORY.rst index bdd3de100f8..4b768945ecc 100644 --- a/src/nsp/HISTORY.rst +++ b/src/nsp/HISTORY.rst @@ -4,6 +4,13 @@ Release History =============== =============== +##### 1.1.0 +++++++ +* Pointed to ARM API version 2024-10-01 + +New commands added: +* perimeter service-tag: list + ##### 1.0.0 ++++++ New commands added: diff --git a/src/nsp/azext_nsp/aaz/latest/__init__.py b/src/nsp/azext_nsp/aaz/latest/__init__.py index 73afe73faa4..f6acc11aa4e 100644 --- a/src/nsp/azext_nsp/aaz/latest/__init__.py +++ b/src/nsp/azext_nsp/aaz/latest/__init__.py @@ -1,10 +1,10 @@ -# -------------------------------------------------------------------------------------------- -# 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 - +# -------------------------------------------------------------------------------------------- +# 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 + diff --git a/src/nsp/azext_nsp/aaz/latest/network/__cmd_group.py b/src/nsp/azext_nsp/aaz/latest/network/__cmd_group.py index 94812d45a99..5093d2928ba 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/__cmd_group.py +++ b/src/nsp/azext_nsp/aaz/latest/network/__cmd_group.py @@ -1,23 +1,23 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from azure.cli.core.aaz import * - - -@register_command_group( - "network", -) -class __CMDGroup(AAZCommandGroup): - """Manage Azure Network resources. - """ - pass - - -__all__ = ["__CMDGroup"] +# -------------------------------------------------------------------------------------------- +# 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( + "network", +) +class __CMDGroup(AAZCommandGroup): + """Manage Azure Network resources. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/__init__.py b/src/nsp/azext_nsp/aaz/latest/network/__init__.py index 709a5170d90..5a9d61963d6 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/__init__.py +++ b/src/nsp/azext_nsp/aaz/latest/network/__init__.py @@ -1,11 +1,11 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from .__cmd_group import * +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/__cmd_group.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/__cmd_group.py index 060aa28d6af..01853e17ad7 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/__cmd_group.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/__cmd_group.py @@ -1,23 +1,23 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from azure.cli.core.aaz import * - - -@register_command_group( - "network perimeter", -) -class __CMDGroup(AAZCommandGroup): - """Manage Network Security Perimeters. - """ - pass - - -__all__ = ["__CMDGroup"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Security Perimeters. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/__init__.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/__init__.py index 71fa81544a2..2d1a2078686 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/__init__.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/__init__.py @@ -1,16 +1,16 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from .__cmd_group import * -from ._create import * -from ._delete import * -from ._list import * -from ._show import * -from ._wait import * +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/_create.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/_create.py index 251527aacb8..76441bb9b92 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/_create.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/_create.py @@ -1,259 +1,259 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter create", -) -class Create(AAZCommand): - """Create a network security perimeter. - - :example: Create a network security perimeter - az network perimeter create -n MyPerimeter -g MyResourceGroup -l northcentralus - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}", "2024-07-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.perimeter_name = AAZStrArg( - options=["-n", "--name", "--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - - # define Arg Group "Parameters" - - _args_schema = cls._args_schema - _args_schema.location = AAZResourceLocationArg( - arg_group="Parameters", - help="The location in which NSP is created.", - required=True, - fmt=AAZResourceLocationArgFormat( - resource_group_arg="resource_group", - ), - ) - _args_schema.tags = AAZDictArg( - options=["--tags"], - arg_group="Parameters", - help="Resource tags.", - ) - - tags = cls._args_schema.tags - tags.Element = AAZStrArg() - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimetersCreateOrUpdate(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 NetworkSecurityPerimetersCreateOrUpdate(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, 201]: - return self.on_200_201(session) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}", - **self.url_parameters - ) - - @property - def method(self): - return "PUT" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Content-Type", "application/json", - ), - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - @property - def content(self): - _content_value, _builder = self.new_content_builder( - self.ctx.args, - typ=AAZObjectType, - typ_kwargs={"flags": {"required": True, "client_flatten": True}} - ) - _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) - _builder.set_prop("tags", AAZDictType, ".tags") - - tags = _builder.get(".tags") - if tags is not None: - tags.set_elements(AAZStrType, ".") - - return self.serialize_content(_content_value) - - def on_200_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.location = AAZStrType( - flags={"required": True}, - ) - _schema_on_200_201.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200_201.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200_201.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200_201.tags = AAZDictType() - _schema_on_200_201.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200_201.properties - properties.perimeter_guid = AAZStrType( - serialized_name="perimeterGuid", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - - system_data = cls._schema_on_200_201.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - tags = cls._schema_on_200_201.tags - tags.Element = AAZStrType() - - return cls._schema_on_200_201 - - -class _CreateHelper: - """Helper class for Create""" - - -__all__ = ["Create"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter create", +) +class Create(AAZCommand): + """Create a network security perimeter. + + :example: Create a network security perimeter + az network perimeter create -n MyPerimeter -g MyResourceGroup -l northcentralus + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}", "2024-10-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.perimeter_name = AAZStrArg( + options=["-n", "--name", "--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Parameters" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Parameters", + help="The location in which NSP is created.", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Parameters", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimetersCreateOrUpdate(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 NetworkSecurityPerimetersCreateOrUpdate(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, 201]: + return self.on_200_201(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200_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.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200_201.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.tags = AAZDictType() + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.perimeter_guid = AAZStrType( + serialized_name="perimeterGuid", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200_201.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200_201.tags + tags.Element = AAZStrType() + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/_delete.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/_delete.py index d1a58762684..a5c638214d4 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/_delete.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/_delete.py @@ -1,174 +1,174 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter delete", - confirmation="Are you sure you want to perform this operation?", -) -class Delete(AAZCommand): - """Delete a network security perimeter. - - :example: Delete a network security perimeter - az network perimeter delete -g MyResourceGroup -n MyPerimeter - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}", "2024-07-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.perimeter_name = AAZStrArg( - options=["-n", "--name", "--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - _args_schema.force_deletion = AAZBoolArg( - options=["--force-deletion"], - help="Deletes the resource even if it contains any child associations.", - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - yield self.NetworkSecurityPerimetersDelete(ctx=self.ctx)() - self.post_operations() - - @register_callback - def pre_operations(self): - pass - - @register_callback - def post_operations(self): - pass - - class NetworkSecurityPerimetersDelete(AAZHttpOperation): - CLIENT_TYPE = "MgmtClient" - - def __call__(self, *args, **kwargs): - request = self.make_request() - session = self.client.send_request(request=request, stream=False, **kwargs) - if session.http_response.status_code in [202]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200, - self.on_error, - lro_options={"final-state-via": "azure-async-operation"}, - path_format_arguments=self.url_parameters, - ) - if session.http_response.status_code in [200]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200, - self.on_error, - lro_options={"final-state-via": "azure-async-operation"}, - path_format_arguments=self.url_parameters, - ) - if session.http_response.status_code in [204]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_204, - self.on_error, - lro_options={"final-state-via": "azure-async-operation"}, - path_format_arguments=self.url_parameters, - ) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}", - **self.url_parameters - ) - - @property - def method(self): - return "DELETE" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_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( - "forceDeletion", self.ctx.args.force_deletion, - ), - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - def on_200(self, session): - pass - - def on_204(self, session): - pass - - -class _DeleteHelper: - """Helper class for Delete""" - - -__all__ = ["Delete"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter delete", + confirmation="Are you sure you want to perform this operation?", +) +class Delete(AAZCommand): + """Delete a network security perimeter. + + :example: Delete a network security perimeter + az network perimeter delete -g MyResourceGroup -n MyPerimeter + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}", "2024-10-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.perimeter_name = AAZStrArg( + options=["-n", "--name", "--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.force_deletion = AAZBoolArg( + options=["--force-deletion"], + help="Deletes the resource even if it contains any child associations.", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkSecurityPerimetersDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkSecurityPerimetersDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_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( + "forceDeletion", self.ctx.args.force_deletion, + ), + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/_list.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/_list.py index 0b21b91504f..3a1ed1dc60d 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/_list.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/_list.py @@ -1,384 +1,384 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter list", -) -class List(AAZCommand): - """List all network security perimeters. - - :example: List all a network security perimeters - az network perimeter list -g MyResourceGroup - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/providers/microsoft.network/networksecurityperimeters", "2024-07-01"], - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters", "2024-07-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.resource_group = AAZResourceGroupNameArg() - _args_schema.skip_token = AAZStrArg( - options=["--skip-token"], - help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", - ) - _args_schema.top = AAZIntArg( - options=["--top"], - help="An optional query parameter which specifies the maximum number of records to be returned by the server.", - fmt=AAZIntArgFormat( - maximum=20, - minimum=1, - ), - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - condition_0 = has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id) - condition_1 = has_value(self.ctx.subscription_id) and has_value(self.ctx.args.resource_group) is not True - if condition_0: - self.NetworkSecurityPerimetersList(ctx=self.ctx)() - if condition_1: - self.NetworkSecurityPerimetersListBySubscription(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 NetworkSecurityPerimetersList(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.Network/networkSecurityPerimeters", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "$skipToken", self.ctx.args.skip_token, - ), - **self.serialize_query_param( - "$top", self.ctx.args.top, - ), - **self.serialize_query_param( - "api-version", "2024-07-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", - ) - _schema_on_200.value = AAZListType() - - value = cls._schema_on_200.value - value.Element = AAZObjectType() - - _element = cls._schema_on_200.value.Element - _element.id = AAZStrType( - flags={"read_only": True}, - ) - _element.location = AAZStrType( - flags={"required": True}, - ) - _element.name = AAZStrType( - flags={"read_only": True}, - ) - _element.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _element.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _element.tags = AAZDictType() - _element.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.value.Element.properties - properties.perimeter_guid = AAZStrType( - serialized_name="perimeterGuid", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - - system_data = cls._schema_on_200.value.Element.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - tags = cls._schema_on_200.value.Element.tags - tags.Element = AAZStrType() - - return cls._schema_on_200 - - class NetworkSecurityPerimetersListBySubscription(AAZHttpOperation): - CLIENT_TYPE = "MgmtClient" - - def __call__(self, *args, **kwargs): - request = self.make_request() - session = self.client.send_request(request=request, stream=False, **kwargs) - if session.http_response.status_code in [200]: - return self.on_200(session) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityPerimeters", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "$skipToken", self.ctx.args.skip_token, - ), - **self.serialize_query_param( - "$top", self.ctx.args.top, - ), - **self.serialize_query_param( - "api-version", "2024-07-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", - ) - _schema_on_200.value = AAZListType() - - value = cls._schema_on_200.value - value.Element = AAZObjectType() - - _element = cls._schema_on_200.value.Element - _element.id = AAZStrType( - flags={"read_only": True}, - ) - _element.location = AAZStrType( - flags={"required": True}, - ) - _element.name = AAZStrType( - flags={"read_only": True}, - ) - _element.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _element.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _element.tags = AAZDictType() - _element.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.value.Element.properties - properties.perimeter_guid = AAZStrType( - serialized_name="perimeterGuid", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - - system_data = cls._schema_on_200.value.Element.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - tags = cls._schema_on_200.value.Element.tags - tags.Element = AAZStrType() - - return cls._schema_on_200 - - -class _ListHelper: - """Helper class for List""" - - -__all__ = ["List"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter list", +) +class List(AAZCommand): + """List all network security perimeters. + + :example: List all a network security perimeters + az network perimeter list -g MyResourceGroup + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.network/networksecurityperimeters", "2024-10-01"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters", "2024-10-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.resource_group = AAZResourceGroupNameArg() + _args_schema.skip_token = AAZStrArg( + options=["--skip-token"], + help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + ) + _args_schema.top = AAZIntArg( + options=["--top"], + help="An optional query parameter which specifies the maximum number of records to be returned by the server.", + fmt=AAZIntArgFormat( + maximum=20, + minimum=1, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + condition_0 = has_value(self.ctx.subscription_id) and has_value(self.ctx.args.resource_group) is not True + condition_1 = has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id) + if condition_0: + self.NetworkSecurityPerimetersListBySubscription(ctx=self.ctx)() + if condition_1: + self.NetworkSecurityPerimetersList(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 NetworkSecurityPerimetersListBySubscription(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityPerimeters", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "$skipToken", self.ctx.args.skip_token, + ), + **self.serialize_query_param( + "$top", self.ctx.args.top, + ), + **self.serialize_query_param( + "api-version", "2024-10-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", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.perimeter_guid = AAZStrType( + serialized_name="perimeterGuid", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class NetworkSecurityPerimetersList(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.Network/networkSecurityPerimeters", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "$skipToken", self.ctx.args.skip_token, + ), + **self.serialize_query_param( + "$top", self.ctx.args.top, + ), + **self.serialize_query_param( + "api-version", "2024-10-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", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.perimeter_guid = AAZStrType( + serialized_name="perimeterGuid", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/_show.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/_show.py index 8b2690d33d8..a02ad2c1360 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/_show.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/_show.py @@ -1,221 +1,221 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter show", -) -class Show(AAZCommand): - """Get a network security perimeter. - - :example: Get a network security perimeter - az network perimeter show -g MyResourceGroup -n MyPerimeter - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}", "2024-07-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.perimeter_name = AAZStrArg( - options=["-n", "--name", "--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimetersGet(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 NetworkSecurityPerimetersGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - def on_200(self, session): - data = self.deserialize_http_content(session) - self.ctx.set_var( - "instance", - data, - schema_builder=self._build_schema_on_200 - ) - - _schema_on_200 = None - - @classmethod - def _build_schema_on_200(cls): - if cls._schema_on_200 is not None: - return cls._schema_on_200 - - cls._schema_on_200 = AAZObjectType() - - _schema_on_200 = cls._schema_on_200 - _schema_on_200.id = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.location = AAZStrType( - flags={"required": True}, - ) - _schema_on_200.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200.tags = AAZDictType() - _schema_on_200.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.properties - properties.perimeter_guid = AAZStrType( - serialized_name="perimeterGuid", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - - system_data = cls._schema_on_200.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - tags = cls._schema_on_200.tags - tags.Element = AAZStrType() - - return cls._schema_on_200 - - -class _ShowHelper: - """Helper class for Show""" - - -__all__ = ["Show"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter show", +) +class Show(AAZCommand): + """Get a network security perimeter. + + :example: Get a network security perimeter + az network perimeter show -g MyResourceGroup -n MyPerimeter + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}", "2024-10-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.perimeter_name = AAZStrArg( + options=["-n", "--name", "--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimetersGet(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 NetworkSecurityPerimetersGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.perimeter_guid = AAZStrType( + serialized_name="perimeterGuid", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/_wait.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/_wait.py index d117b341639..182010889ca 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/_wait.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/_wait.py @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand): _aaz_info = { "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}", "2024-07-01"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}", "2024-10-01"], ] } @@ -120,7 +120,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2024-07-01", + "api-version", "2024-10-01", required=True, ), } diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/associable_resource_type/_list.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/associable_resource_type/_list.py index 13a97a77806..ad534b54e5f 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/associable_resource_type/_list.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/associable_resource_type/_list.py @@ -22,9 +22,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2024-07-01", + "version": "2024-10-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/providers/microsoft.network/locations/{}/perimeterassociableresourcetypes", "2024-07-01"], + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.network/locations/{}/perimeterassociableresourcetypes", "2024-10-01"], ] } @@ -112,7 +112,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2024-07-01", + "api-version", "2024-10-01", required=True, ), } diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/__cmd_group.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/__cmd_group.py index 00f6f49db90..abf3438efe8 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/__cmd_group.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/__cmd_group.py @@ -1,23 +1,23 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from azure.cli.core.aaz import * - - -@register_command_group( - "network perimeter association", -) -class __CMDGroup(AAZCommandGroup): - """Manage Network Security Perimeter Associations. - """ - pass - - -__all__ = ["__CMDGroup"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter association", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Security Perimeter Associations. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/__init__.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/__init__.py index b0465fd67f0..db73033039b 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/__init__.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/__init__.py @@ -1,17 +1,17 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from .__cmd_group import * -from ._create import * -from ._delete import * -from ._list import * -from ._show import * -from ._update import * -from ._wait import * +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._update import * +from ._wait import * diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_create.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_create.py index 668343f478c..324f639a813 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_create.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_create.py @@ -1,354 +1,354 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter association create", -) -class Create(AAZCommand): - """Create a network security perimeter association. - - :example: Create a network security perimeter association - az network perimeter association create -n MyAssociation --perimeter-name MyPerimeter -g MyResourceGroup --access-mode Learning --private-link-resource "{id:}" --profile "{id:}" - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/resourceassociations/{}", "2024-07-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.association_name = AAZStrArg( - options=["-n", "--name", "--association-name"], - help="The name of the NSP association.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - - # define Arg Group "Properties" - - _args_schema = cls._args_schema - _args_schema.access_mode = AAZStrArg( - options=["--access-mode"], - arg_group="Properties", - help="Access mode on the association.", - enum={"Audit": "Audit", "Enforced": "Enforced", "Learning": "Learning"}, - ) - _args_schema.private_link_resource = AAZObjectArg( - options=["--private-link-resource"], - arg_group="Properties", - help="The PaaS resource to be associated.", - ) - cls._build_args_sub_resource_create(_args_schema.private_link_resource) - _args_schema.profile = AAZObjectArg( - options=["--profile"], - arg_group="Properties", - help="Profile id to which the PaaS resource is associated.", - ) - cls._build_args_sub_resource_create(_args_schema.profile) - return cls._args_schema - - _args_sub_resource_create = None - - @classmethod - def _build_args_sub_resource_create(cls, _schema): - if cls._args_sub_resource_create is not None: - _schema.id = cls._args_sub_resource_create.id - return - - cls._args_sub_resource_create = AAZObjectArg() - - sub_resource_create = cls._args_sub_resource_create - sub_resource_create.id = AAZStrArg( - options=["id"], - help="Resource ID.", - ) - - _schema.id = cls._args_sub_resource_create.id - - def _execute_operations(self): - self.pre_operations() - yield self.NetworkSecurityPerimeterAssociationsCreateOrUpdate(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 NetworkSecurityPerimeterAssociationsCreateOrUpdate(AAZHttpOperation): - CLIENT_TYPE = "MgmtClient" - - def __call__(self, *args, **kwargs): - request = self.make_request() - session = self.client.send_request(request=request, stream=False, **kwargs) - if session.http_response.status_code in [202]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200_201, - self.on_error, - lro_options={"final-state-via": "azure-async-operation"}, - path_format_arguments=self.url_parameters, - ) - if session.http_response.status_code in [200, 201]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200_201, - self.on_error, - lro_options={"final-state-via": "azure-async-operation"}, - path_format_arguments=self.url_parameters, - ) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", - **self.url_parameters - ) - - @property - def method(self): - return "PUT" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "associationName", self.ctx.args.association_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Content-Type", "application/json", - ), - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - @property - def content(self): - _content_value, _builder = self.new_content_builder( - self.ctx.args, - typ=AAZObjectType, - typ_kwargs={"flags": {"required": True, "client_flatten": True}} - ) - _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) - - properties = _builder.get(".properties") - if properties is not None: - properties.set_prop("accessMode", AAZStrType, ".access_mode") - _CreateHelper._build_schema_sub_resource_create(properties.set_prop("privateLinkResource", AAZObjectType, ".private_link_resource")) - _CreateHelper._build_schema_sub_resource_create(properties.set_prop("profile", AAZObjectType, ".profile")) - - 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() - _CreateHelper._build_schema_nsp_association_read(cls._schema_on_200_201) - - return cls._schema_on_200_201 - - -class _CreateHelper: - """Helper class for Create""" - - @classmethod - def _build_schema_sub_resource_create(cls, _builder): - if _builder is None: - return - _builder.set_prop("id", AAZStrType, ".id") - - _schema_nsp_association_read = None - - @classmethod - def _build_schema_nsp_association_read(cls, _schema): - if cls._schema_nsp_association_read is not None: - _schema.id = cls._schema_nsp_association_read.id - _schema.name = cls._schema_nsp_association_read.name - _schema.properties = cls._schema_nsp_association_read.properties - _schema.system_data = cls._schema_nsp_association_read.system_data - _schema.type = cls._schema_nsp_association_read.type - return - - cls._schema_nsp_association_read = _schema_nsp_association_read = AAZObjectType() - - nsp_association_read = _schema_nsp_association_read - nsp_association_read.id = AAZStrType( - flags={"read_only": True}, - ) - nsp_association_read.name = AAZStrType( - flags={"read_only": True}, - ) - nsp_association_read.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - nsp_association_read.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - nsp_association_read.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = _schema_nsp_association_read.properties - properties.access_mode = AAZStrType( - serialized_name="accessMode", - ) - properties.has_provisioning_issues = AAZStrType( - serialized_name="hasProvisioningIssues", - flags={"read_only": True}, - ) - properties.private_link_resource = AAZObjectType( - serialized_name="privateLinkResource", - ) - cls._build_schema_sub_resource_read(properties.private_link_resource) - properties.profile = AAZObjectType() - cls._build_schema_sub_resource_read(properties.profile) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - - system_data = _schema_nsp_association_read.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - _schema.id = cls._schema_nsp_association_read.id - _schema.name = cls._schema_nsp_association_read.name - _schema.properties = cls._schema_nsp_association_read.properties - _schema.system_data = cls._schema_nsp_association_read.system_data - _schema.type = cls._schema_nsp_association_read.type - - _schema_sub_resource_read = None - - @classmethod - def _build_schema_sub_resource_read(cls, _schema): - if cls._schema_sub_resource_read is not None: - _schema.id = cls._schema_sub_resource_read.id - return - - cls._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType() - - sub_resource_read = _schema_sub_resource_read - sub_resource_read.id = AAZStrType() - - _schema.id = cls._schema_sub_resource_read.id - - -__all__ = ["Create"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter association create", +) +class Create(AAZCommand): + """Create a network security perimeter association. + + :example: Create a network security perimeter association + az network perimeter association create -n MyAssociation --perimeter-name MyPerimeter -g MyResourceGroup --access-mode Learning --private-link-resource "{id:}" --profile "{id:}" + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/resourceassociations/{}", "2024-10-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.association_name = AAZStrArg( + options=["-n", "--name", "--association-name"], + help="The name of the NSP association.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.access_mode = AAZStrArg( + options=["--access-mode"], + arg_group="Properties", + help="Access mode on the association.", + enum={"Audit": "Audit", "Enforced": "Enforced", "Learning": "Learning"}, + ) + _args_schema.private_link_resource = AAZObjectArg( + options=["--private-link-resource"], + arg_group="Properties", + help="The PaaS resource to be associated.", + ) + cls._build_args_sub_resource_create(_args_schema.private_link_resource) + _args_schema.profile = AAZObjectArg( + options=["--profile"], + arg_group="Properties", + help="Profile id to which the PaaS resource is associated.", + ) + cls._build_args_sub_resource_create(_args_schema.profile) + return cls._args_schema + + _args_sub_resource_create = None + + @classmethod + def _build_args_sub_resource_create(cls, _schema): + if cls._args_sub_resource_create is not None: + _schema.id = cls._args_sub_resource_create.id + return + + cls._args_sub_resource_create = AAZObjectArg() + + sub_resource_create = cls._args_sub_resource_create + sub_resource_create.id = AAZStrArg( + options=["id"], + help="Resource ID.", + ) + + _schema.id = cls._args_sub_resource_create.id + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkSecurityPerimeterAssociationsCreateOrUpdate(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 NetworkSecurityPerimeterAssociationsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200, 201]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "associationName", self.ctx.args.association_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("accessMode", AAZStrType, ".access_mode") + _CreateHelper._build_schema_sub_resource_create(properties.set_prop("privateLinkResource", AAZObjectType, ".private_link_resource")) + _CreateHelper._build_schema_sub_resource_create(properties.set_prop("profile", AAZObjectType, ".profile")) + + 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() + _CreateHelper._build_schema_nsp_association_read(cls._schema_on_200_201) + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + @classmethod + def _build_schema_sub_resource_create(cls, _builder): + if _builder is None: + return + _builder.set_prop("id", AAZStrType, ".id") + + _schema_nsp_association_read = None + + @classmethod + def _build_schema_nsp_association_read(cls, _schema): + if cls._schema_nsp_association_read is not None: + _schema.id = cls._schema_nsp_association_read.id + _schema.name = cls._schema_nsp_association_read.name + _schema.properties = cls._schema_nsp_association_read.properties + _schema.system_data = cls._schema_nsp_association_read.system_data + _schema.type = cls._schema_nsp_association_read.type + return + + cls._schema_nsp_association_read = _schema_nsp_association_read = AAZObjectType() + + nsp_association_read = _schema_nsp_association_read + nsp_association_read.id = AAZStrType( + flags={"read_only": True}, + ) + nsp_association_read.name = AAZStrType( + flags={"read_only": True}, + ) + nsp_association_read.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + nsp_association_read.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + nsp_association_read.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = _schema_nsp_association_read.properties + properties.access_mode = AAZStrType( + serialized_name="accessMode", + ) + properties.has_provisioning_issues = AAZStrType( + serialized_name="hasProvisioningIssues", + flags={"read_only": True}, + ) + properties.private_link_resource = AAZObjectType( + serialized_name="privateLinkResource", + ) + cls._build_schema_sub_resource_read(properties.private_link_resource) + properties.profile = AAZObjectType() + cls._build_schema_sub_resource_read(properties.profile) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = _schema_nsp_association_read.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + _schema.id = cls._schema_nsp_association_read.id + _schema.name = cls._schema_nsp_association_read.name + _schema.properties = cls._schema_nsp_association_read.properties + _schema.system_data = cls._schema_nsp_association_read.system_data + _schema.type = cls._schema_nsp_association_read.type + + _schema_sub_resource_read = None + + @classmethod + def _build_schema_sub_resource_read(cls, _schema): + if cls._schema_sub_resource_read is not None: + _schema.id = cls._schema_sub_resource_read.id + return + + cls._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType() + + sub_resource_read = _schema_sub_resource_read + sub_resource_read.id = AAZStrType() + + _schema.id = cls._schema_sub_resource_read.id + + +__all__ = ["Create"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_delete.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_delete.py index 9f57280c27b..db9305f3f3c 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_delete.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_delete.py @@ -1,181 +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( - "network perimeter association delete", - confirmation="Are you sure you want to perform this operation?", -) -class Delete(AAZCommand): - """Delete a network security perimeter association. - - :example: Delete a network security perimeter association - az network perimeter association delete -n MyAssociation --perimeter-name MyPerimeter -g MyResourceGroup - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/resourceassociations/{}", "2024-07-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.association_name = AAZStrArg( - options=["-n", "--name", "--association-name"], - help="The name of the NSP association.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - yield self.NetworkSecurityPerimeterAssociationsDelete(ctx=self.ctx)() - self.post_operations() - - @register_callback - def pre_operations(self): - pass - - @register_callback - def post_operations(self): - pass - - class NetworkSecurityPerimeterAssociationsDelete(AAZHttpOperation): - CLIENT_TYPE = "MgmtClient" - - def __call__(self, *args, **kwargs): - request = self.make_request() - session = self.client.send_request(request=request, stream=False, **kwargs) - if session.http_response.status_code in [202]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200, - self.on_error, - lro_options={"final-state-via": "azure-async-operation"}, - path_format_arguments=self.url_parameters, - ) - if session.http_response.status_code in [200]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200, - self.on_error, - lro_options={"final-state-via": "azure-async-operation"}, - path_format_arguments=self.url_parameters, - ) - if session.http_response.status_code in [204]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_204, - self.on_error, - lro_options={"final-state-via": "azure-async-operation"}, - path_format_arguments=self.url_parameters, - ) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", - **self.url_parameters - ) - - @property - def method(self): - return "DELETE" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "associationName", self.ctx.args.association_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - def on_200(self, session): - pass - - def on_204(self, session): - pass - - -class _DeleteHelper: - """Helper class for Delete""" - - -__all__ = ["Delete"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter association delete", + confirmation="Are you sure you want to perform this operation?", +) +class Delete(AAZCommand): + """Delete a network security perimeter association. + + :example: Delete a network security perimeter association + az network perimeter association delete -n MyAssociation --perimeter-name MyPerimeter -g MyResourceGroup + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/resourceassociations/{}", "2024-10-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.association_name = AAZStrArg( + options=["-n", "--name", "--association-name"], + help="The name of the NSP association.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkSecurityPerimeterAssociationsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkSecurityPerimeterAssociationsDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "associationName", self.ctx.args.association_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_list.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_list.py index c754da388a3..60cb4d79473 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_list.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_list.py @@ -1,266 +1,266 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from azure.cli.core.aaz import * - - -@register_command( - "network perimeter association list", -) -class List(AAZCommand): - """List all network security perimeter associations. - - :example: List all network security perimeter associations - az network perimeter association list --perimeter-name MyPerimeter -g MyResourceGroup - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/resourceassociations", "2024-07-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.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - _args_schema.skip_token = AAZStrArg( - options=["--skip-token"], - help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", - ) - _args_schema.top = AAZIntArg( - options=["--top"], - help="An optional query parameter which specifies the maximum number of records to be returned by the server.", - fmt=AAZIntArgFormat( - maximum=20, - minimum=1, - ), - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterAssociationsList(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 NetworkSecurityPerimeterAssociationsList(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_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( - "$skipToken", self.ctx.args.skip_token, - ), - **self.serialize_query_param( - "$top", self.ctx.args.top, - ), - **self.serialize_query_param( - "api-version", "2024-07-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", - ) - _schema_on_200.value = AAZListType() - - value = cls._schema_on_200.value - value.Element = AAZObjectType() - - _element = cls._schema_on_200.value.Element - _element.id = AAZStrType( - flags={"read_only": True}, - ) - _element.name = AAZStrType( - flags={"read_only": True}, - ) - _element.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _element.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _element.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.value.Element.properties - properties.access_mode = AAZStrType( - serialized_name="accessMode", - ) - properties.has_provisioning_issues = AAZStrType( - serialized_name="hasProvisioningIssues", - flags={"read_only": True}, - ) - properties.private_link_resource = AAZObjectType( - serialized_name="privateLinkResource", - ) - _ListHelper._build_schema_sub_resource_read(properties.private_link_resource) - properties.profile = AAZObjectType() - _ListHelper._build_schema_sub_resource_read(properties.profile) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - - system_data = cls._schema_on_200.value.Element.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _ListHelper: - """Helper class for List""" - - _schema_sub_resource_read = None - - @classmethod - def _build_schema_sub_resource_read(cls, _schema): - if cls._schema_sub_resource_read is not None: - _schema.id = cls._schema_sub_resource_read.id - return - - cls._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType() - - sub_resource_read = _schema_sub_resource_read - sub_resource_read.id = AAZStrType() - - _schema.id = cls._schema_sub_resource_read.id - - -__all__ = ["List"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter association list", +) +class List(AAZCommand): + """List all network security perimeter associations. + + :example: List all network security perimeter associations + az network perimeter association list --perimeter-name MyPerimeter -g MyResourceGroup + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/resourceassociations", "2024-10-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.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.skip_token = AAZStrArg( + options=["--skip-token"], + help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + ) + _args_schema.top = AAZIntArg( + options=["--top"], + help="An optional query parameter which specifies the maximum number of records to be returned by the server.", + fmt=AAZIntArgFormat( + maximum=20, + minimum=1, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterAssociationsList(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 NetworkSecurityPerimeterAssociationsList(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_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( + "$skipToken", self.ctx.args.skip_token, + ), + **self.serialize_query_param( + "$top", self.ctx.args.top, + ), + **self.serialize_query_param( + "api-version", "2024-10-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", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.access_mode = AAZStrType( + serialized_name="accessMode", + ) + properties.has_provisioning_issues = AAZStrType( + serialized_name="hasProvisioningIssues", + flags={"read_only": True}, + ) + properties.private_link_resource = AAZObjectType( + serialized_name="privateLinkResource", + ) + _ListHelper._build_schema_sub_resource_read(properties.private_link_resource) + properties.profile = AAZObjectType() + _ListHelper._build_schema_sub_resource_read(properties.profile) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + _schema_sub_resource_read = None + + @classmethod + def _build_schema_sub_resource_read(cls, _schema): + if cls._schema_sub_resource_read is not None: + _schema.id = cls._schema_sub_resource_read.id + return + + cls._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType() + + sub_resource_read = _schema_sub_resource_read + sub_resource_read.id = AAZStrType() + + _schema.id = cls._schema_sub_resource_read.id + + +__all__ = ["List"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_show.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_show.py index def89f946d4..81fec7ae9ec 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_show.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_show.py @@ -1,252 +1,252 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter association show", -) -class Show(AAZCommand): - """Get a network security perimeter association. - - :example: Get a network security perimeter association - az network perimeter association show -n MyAssociation --perimeter-name MyPerimeter -g MyResourceGroup - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/resourceassociations/{}", "2024-07-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.association_name = AAZStrArg( - options=["-n", "--name", "--association-name"], - help="The name of the NSP association.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterAssociationsGet(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 NetworkSecurityPerimeterAssociationsGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "associationName", self.ctx.args.association_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - def on_200(self, session): - data = self.deserialize_http_content(session) - self.ctx.set_var( - "instance", - data, - schema_builder=self._build_schema_on_200 - ) - - _schema_on_200 = None - - @classmethod - def _build_schema_on_200(cls): - if cls._schema_on_200 is not None: - return cls._schema_on_200 - - cls._schema_on_200 = AAZObjectType() - - _schema_on_200 = cls._schema_on_200 - _schema_on_200.id = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.properties - properties.access_mode = AAZStrType( - serialized_name="accessMode", - ) - properties.has_provisioning_issues = AAZStrType( - serialized_name="hasProvisioningIssues", - flags={"read_only": True}, - ) - properties.private_link_resource = AAZObjectType( - serialized_name="privateLinkResource", - ) - _ShowHelper._build_schema_sub_resource_read(properties.private_link_resource) - properties.profile = AAZObjectType() - _ShowHelper._build_schema_sub_resource_read(properties.profile) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - - system_data = cls._schema_on_200.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _ShowHelper: - """Helper class for Show""" - - _schema_sub_resource_read = None - - @classmethod - def _build_schema_sub_resource_read(cls, _schema): - if cls._schema_sub_resource_read is not None: - _schema.id = cls._schema_sub_resource_read.id - return - - cls._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType() - - sub_resource_read = _schema_sub_resource_read - sub_resource_read.id = AAZStrType() - - _schema.id = cls._schema_sub_resource_read.id - - -__all__ = ["Show"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter association show", +) +class Show(AAZCommand): + """Get a network security perimeter association. + + :example: Get a network security perimeter association + az network perimeter association show -n MyAssociation --perimeter-name MyPerimeter -g MyResourceGroup + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/resourceassociations/{}", "2024-10-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.association_name = AAZStrArg( + options=["-n", "--name", "--association-name"], + help="The name of the NSP association.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterAssociationsGet(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 NetworkSecurityPerimeterAssociationsGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "associationName", self.ctx.args.association_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.access_mode = AAZStrType( + serialized_name="accessMode", + ) + properties.has_provisioning_issues = AAZStrType( + serialized_name="hasProvisioningIssues", + flags={"read_only": True}, + ) + properties.private_link_resource = AAZObjectType( + serialized_name="privateLinkResource", + ) + _ShowHelper._build_schema_sub_resource_read(properties.private_link_resource) + properties.profile = AAZObjectType() + _ShowHelper._build_schema_sub_resource_read(properties.profile) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + _schema_sub_resource_read = None + + @classmethod + def _build_schema_sub_resource_read(cls, _schema): + if cls._schema_sub_resource_read is not None: + _schema.id = cls._schema_sub_resource_read.id + return + + cls._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType() + + sub_resource_read = _schema_sub_resource_read + sub_resource_read.id = AAZStrType() + + _schema.id = cls._schema_sub_resource_read.id + + +__all__ = ["Show"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_update.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_update.py index 57191d391bd..541a9266331 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_update.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_update.py @@ -1,485 +1,485 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter association update", -) -class Update(AAZCommand): - """Create or update a network security perimeter association. - - :example: Update a network security perimeter association - az network perimeter association update --name MyAssociation --perimeter-name MyPerimeter --resource-group MyResourceGroup --access-mode Enforced --private-link-resource id=" --profile id="ProfileArmID" - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/resourceassociations/{}", "2024-07-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.association_name = AAZStrArg( - options=["-n", "--name", "--association-name"], - help="The name of the NSP association.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - - # define Arg Group "Properties" - - _args_schema = cls._args_schema - _args_schema.access_mode = AAZStrArg( - options=["--access-mode"], - arg_group="Properties", - help="Access mode on the association.", - nullable=True, - enum={"Audit": "Audit", "Enforced": "Enforced", "Learning": "Learning"}, - ) - _args_schema.private_link_resource = AAZObjectArg( - options=["--private-link-resource"], - arg_group="Properties", - help="The PaaS resource to be associated.", - nullable=True, - ) - cls._build_args_sub_resource_update(_args_schema.private_link_resource) - _args_schema.profile = AAZObjectArg( - options=["--profile"], - arg_group="Properties", - help="Profile id to which the PaaS resource is associated.", - nullable=True, - ) - cls._build_args_sub_resource_update(_args_schema.profile) - return cls._args_schema - - _args_sub_resource_update = None - - @classmethod - def _build_args_sub_resource_update(cls, _schema): - if cls._args_sub_resource_update is not None: - _schema.id = cls._args_sub_resource_update.id - return - - cls._args_sub_resource_update = AAZObjectArg( - nullable=True, - ) - - sub_resource_update = cls._args_sub_resource_update - sub_resource_update.id = AAZStrArg( - options=["id"], - help="Resource ID.", - nullable=True, - ) - - _schema.id = cls._args_sub_resource_update.id - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterAssociationsGet(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.NetworkSecurityPerimeterAssociationsCreateOrUpdate(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 NetworkSecurityPerimeterAssociationsGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "associationName", self.ctx.args.association_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-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_nsp_association_read(cls._schema_on_200) - - return cls._schema_on_200 - - class NetworkSecurityPerimeterAssociationsCreateOrUpdate(AAZHttpOperation): - CLIENT_TYPE = "MgmtClient" - - def __call__(self, *args, **kwargs): - request = self.make_request() - session = self.client.send_request(request=request, stream=False, **kwargs) - if session.http_response.status_code in [202]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200_201, - self.on_error, - lro_options={"final-state-via": "azure-async-operation"}, - path_format_arguments=self.url_parameters, - ) - if session.http_response.status_code in [200, 201]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200_201, - self.on_error, - lro_options={"final-state-via": "azure-async-operation"}, - path_format_arguments=self.url_parameters, - ) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", - **self.url_parameters - ) - - @property - def method(self): - return "PUT" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "associationName", self.ctx.args.association_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-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_nsp_association_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": {"client_flatten": True}}) - - properties = _builder.get(".properties") - if properties is not None: - properties.set_prop("accessMode", AAZStrType, ".access_mode") - _UpdateHelper._build_schema_sub_resource_update(properties.set_prop("privateLinkResource", AAZObjectType, ".private_link_resource")) - _UpdateHelper._build_schema_sub_resource_update(properties.set_prop("profile", AAZObjectType, ".profile")) - - 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""" - - @classmethod - def _build_schema_sub_resource_update(cls, _builder): - if _builder is None: - return - _builder.set_prop("id", AAZStrType, ".id") - - _schema_nsp_association_read = None - - @classmethod - def _build_schema_nsp_association_read(cls, _schema): - if cls._schema_nsp_association_read is not None: - _schema.id = cls._schema_nsp_association_read.id - _schema.name = cls._schema_nsp_association_read.name - _schema.properties = cls._schema_nsp_association_read.properties - _schema.system_data = cls._schema_nsp_association_read.system_data - _schema.type = cls._schema_nsp_association_read.type - return - - cls._schema_nsp_association_read = _schema_nsp_association_read = AAZObjectType() - - nsp_association_read = _schema_nsp_association_read - nsp_association_read.id = AAZStrType( - flags={"read_only": True}, - ) - nsp_association_read.name = AAZStrType( - flags={"read_only": True}, - ) - nsp_association_read.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - nsp_association_read.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - nsp_association_read.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = _schema_nsp_association_read.properties - properties.access_mode = AAZStrType( - serialized_name="accessMode", - ) - properties.has_provisioning_issues = AAZStrType( - serialized_name="hasProvisioningIssues", - flags={"read_only": True}, - ) - properties.private_link_resource = AAZObjectType( - serialized_name="privateLinkResource", - ) - cls._build_schema_sub_resource_read(properties.private_link_resource) - properties.profile = AAZObjectType() - cls._build_schema_sub_resource_read(properties.profile) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - - system_data = _schema_nsp_association_read.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - _schema.id = cls._schema_nsp_association_read.id - _schema.name = cls._schema_nsp_association_read.name - _schema.properties = cls._schema_nsp_association_read.properties - _schema.system_data = cls._schema_nsp_association_read.system_data - _schema.type = cls._schema_nsp_association_read.type - - _schema_sub_resource_read = None - - @classmethod - def _build_schema_sub_resource_read(cls, _schema): - if cls._schema_sub_resource_read is not None: - _schema.id = cls._schema_sub_resource_read.id - return - - cls._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType() - - sub_resource_read = _schema_sub_resource_read - sub_resource_read.id = AAZStrType() - - _schema.id = cls._schema_sub_resource_read.id - - -__all__ = ["Update"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter association update", +) +class Update(AAZCommand): + """Create or update a network security perimeter association. + + :example: Update a network security perimeter association + az network perimeter association update --name MyAssociation --perimeter-name MyPerimeter --resource-group MyResourceGroup --access-mode Enforced --private-link-resource id=" --profile id="ProfileArmID" + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/resourceassociations/{}", "2024-10-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.association_name = AAZStrArg( + options=["-n", "--name", "--association-name"], + help="The name of the NSP association.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.access_mode = AAZStrArg( + options=["--access-mode"], + arg_group="Properties", + help="Access mode on the association.", + nullable=True, + enum={"Audit": "Audit", "Enforced": "Enforced", "Learning": "Learning"}, + ) + _args_schema.private_link_resource = AAZObjectArg( + options=["--private-link-resource"], + arg_group="Properties", + help="The PaaS resource to be associated.", + nullable=True, + ) + cls._build_args_sub_resource_update(_args_schema.private_link_resource) + _args_schema.profile = AAZObjectArg( + options=["--profile"], + arg_group="Properties", + help="Profile id to which the PaaS resource is associated.", + nullable=True, + ) + cls._build_args_sub_resource_update(_args_schema.profile) + return cls._args_schema + + _args_sub_resource_update = None + + @classmethod + def _build_args_sub_resource_update(cls, _schema): + if cls._args_sub_resource_update is not None: + _schema.id = cls._args_sub_resource_update.id + return + + cls._args_sub_resource_update = AAZObjectArg( + nullable=True, + ) + + sub_resource_update = cls._args_sub_resource_update + sub_resource_update.id = AAZStrArg( + options=["id"], + help="Resource ID.", + nullable=True, + ) + + _schema.id = cls._args_sub_resource_update.id + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterAssociationsGet(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.NetworkSecurityPerimeterAssociationsCreateOrUpdate(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 NetworkSecurityPerimeterAssociationsGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "associationName", self.ctx.args.association_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-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_nsp_association_read(cls._schema_on_200) + + return cls._schema_on_200 + + class NetworkSecurityPerimeterAssociationsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200, 201]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "associationName", self.ctx.args.association_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-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_nsp_association_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": {"client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("accessMode", AAZStrType, ".access_mode") + _UpdateHelper._build_schema_sub_resource_update(properties.set_prop("privateLinkResource", AAZObjectType, ".private_link_resource")) + _UpdateHelper._build_schema_sub_resource_update(properties.set_prop("profile", AAZObjectType, ".profile")) + + 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""" + + @classmethod + def _build_schema_sub_resource_update(cls, _builder): + if _builder is None: + return + _builder.set_prop("id", AAZStrType, ".id") + + _schema_nsp_association_read = None + + @classmethod + def _build_schema_nsp_association_read(cls, _schema): + if cls._schema_nsp_association_read is not None: + _schema.id = cls._schema_nsp_association_read.id + _schema.name = cls._schema_nsp_association_read.name + _schema.properties = cls._schema_nsp_association_read.properties + _schema.system_data = cls._schema_nsp_association_read.system_data + _schema.type = cls._schema_nsp_association_read.type + return + + cls._schema_nsp_association_read = _schema_nsp_association_read = AAZObjectType() + + nsp_association_read = _schema_nsp_association_read + nsp_association_read.id = AAZStrType( + flags={"read_only": True}, + ) + nsp_association_read.name = AAZStrType( + flags={"read_only": True}, + ) + nsp_association_read.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + nsp_association_read.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + nsp_association_read.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = _schema_nsp_association_read.properties + properties.access_mode = AAZStrType( + serialized_name="accessMode", + ) + properties.has_provisioning_issues = AAZStrType( + serialized_name="hasProvisioningIssues", + flags={"read_only": True}, + ) + properties.private_link_resource = AAZObjectType( + serialized_name="privateLinkResource", + ) + cls._build_schema_sub_resource_read(properties.private_link_resource) + properties.profile = AAZObjectType() + cls._build_schema_sub_resource_read(properties.profile) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = _schema_nsp_association_read.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + _schema.id = cls._schema_nsp_association_read.id + _schema.name = cls._schema_nsp_association_read.name + _schema.properties = cls._schema_nsp_association_read.properties + _schema.system_data = cls._schema_nsp_association_read.system_data + _schema.type = cls._schema_nsp_association_read.type + + _schema_sub_resource_read = None + + @classmethod + def _build_schema_sub_resource_read(cls, _schema): + if cls._schema_sub_resource_read is not None: + _schema.id = cls._schema_sub_resource_read.id + return + + cls._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType() + + sub_resource_read = _schema_sub_resource_read + sub_resource_read.id = AAZStrType() + + _schema.id = cls._schema_sub_resource_read.id + + +__all__ = ["Update"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_wait.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_wait.py index 27f5ce2e610..b536ae5556e 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_wait.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/association/_wait.py @@ -1,248 +1,248 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter association 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.network/networksecurityperimeters/{}/resourceassociations/{}", "2024-07-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.association_name = AAZStrArg( - options=["-n", "--name", "--association-name"], - help="The name of the NSP association.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterAssociationsGet(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 NetworkSecurityPerimeterAssociationsGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "associationName", self.ctx.args.association_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - def on_200(self, session): - data = self.deserialize_http_content(session) - self.ctx.set_var( - "instance", - data, - schema_builder=self._build_schema_on_200 - ) - - _schema_on_200 = None - - @classmethod - def _build_schema_on_200(cls): - if cls._schema_on_200 is not None: - return cls._schema_on_200 - - cls._schema_on_200 = AAZObjectType() - - _schema_on_200 = cls._schema_on_200 - _schema_on_200.id = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.properties - properties.access_mode = AAZStrType( - serialized_name="accessMode", - ) - properties.has_provisioning_issues = AAZStrType( - serialized_name="hasProvisioningIssues", - flags={"read_only": True}, - ) - properties.private_link_resource = AAZObjectType( - serialized_name="privateLinkResource", - ) - _WaitHelper._build_schema_sub_resource_read(properties.private_link_resource) - properties.profile = AAZObjectType() - _WaitHelper._build_schema_sub_resource_read(properties.profile) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - - system_data = cls._schema_on_200.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _WaitHelper: - """Helper class for Wait""" - - _schema_sub_resource_read = None - - @classmethod - def _build_schema_sub_resource_read(cls, _schema): - if cls._schema_sub_resource_read is not None: - _schema.id = cls._schema_sub_resource_read.id - return - - cls._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType() - - sub_resource_read = _schema_sub_resource_read - sub_resource_read.id = AAZStrType() - - _schema.id = cls._schema_sub_resource_read.id - - -__all__ = ["Wait"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter association 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.network/networksecurityperimeters/{}/resourceassociations/{}", "2024-10-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.association_name = AAZStrArg( + options=["-n", "--name", "--association-name"], + help="The name of the NSP association.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterAssociationsGet(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 NetworkSecurityPerimeterAssociationsGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "associationName", self.ctx.args.association_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.access_mode = AAZStrType( + serialized_name="accessMode", + ) + properties.has_provisioning_issues = AAZStrType( + serialized_name="hasProvisioningIssues", + flags={"read_only": True}, + ) + properties.private_link_resource = AAZObjectType( + serialized_name="privateLinkResource", + ) + _WaitHelper._build_schema_sub_resource_read(properties.private_link_resource) + properties.profile = AAZObjectType() + _WaitHelper._build_schema_sub_resource_read(properties.profile) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + _schema_sub_resource_read = None + + @classmethod + def _build_schema_sub_resource_read(cls, _schema): + if cls._schema_sub_resource_read is not None: + _schema.id = cls._schema_sub_resource_read.id + return + + cls._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType() + + sub_resource_read = _schema_sub_resource_read + sub_resource_read.id = AAZStrType() + + _schema.id = cls._schema_sub_resource_read.id + + +__all__ = ["Wait"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/__cmd_group.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/__cmd_group.py index 1b367eac2a1..fba11b8127c 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/__cmd_group.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/__cmd_group.py @@ -1,23 +1,23 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from azure.cli.core.aaz import * - - -@register_command_group( - "network perimeter link", -) -class __CMDGroup(AAZCommandGroup): - """Manage Network Security Perimeter Links. - """ - pass - - -__all__ = ["__CMDGroup"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Security Perimeter Links. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/__init__.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/__init__.py index b0465fd67f0..db73033039b 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/__init__.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/__init__.py @@ -1,17 +1,17 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from .__cmd_group import * -from ._create import * -from ._delete import * -from ._list import * -from ._show import * -from ._update import * -from ._wait import * +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._update import * +from ._wait import * diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_create.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_create.py index d54b69e59a9..2270cef634c 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_create.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_create.py @@ -1,328 +1,328 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter link create", -) -class Create(AAZCommand): - """Create a network security perimeter link. - - :example: Create a network security perimeter link - az network perimeter link create --name link1 --perimeter-name nsp1 --resource-group rg1 --auto-remote-nsp-id --local-inbound-profile "[\\'*\\']" --remote-inbound-profile "[\\'*\\']" ' - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/links/{}", "2024-07-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.link_name = AAZStrArg( - options=["-n", "--name", "--link-name"], - help="The name of the NSP link.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - - # define Arg Group "Properties" - - _args_schema = cls._args_schema - _args_schema.auto_remote_nsp_id = AAZResourceIdArg( - options=["--auto-remote-nsp-id"], - arg_group="Properties", - help="Perimeter ARM Id for the remote NSP with which the link gets created in Auto-approval mode. It should be used when the NSP admin have Microsoft.Network/networkSecurityPerimeters/linkPerimeter/action permission on the remote NSP resource.", - ) - _args_schema.description = AAZStrArg( - options=["--description"], - arg_group="Properties", - help="A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars.", - ) - _args_schema.local_inbound_profile = AAZListArg( - options=["--local-inbound-profile"], - arg_group="Properties", - help="List of local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].", - fmt=AAZListArgFormat( - unique=True, - ), - ) - _args_schema.remote_inbound_profile = AAZListArg( - options=["--remote-inbound-profile"], - arg_group="Properties", - help="List of remote Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['*'].", - fmt=AAZListArgFormat( - unique=True, - ), - ) - - local_inbound_profile = cls._args_schema.local_inbound_profile - local_inbound_profile.Element = AAZStrArg() - - remote_inbound_profile = cls._args_schema.remote_inbound_profile - remote_inbound_profile.Element = AAZStrArg() - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterLinksCreateOrUpdate(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 NetworkSecurityPerimeterLinksCreateOrUpdate(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, 201]: - return self.on_200_201(session) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", - **self.url_parameters - ) - - @property - def method(self): - return "PUT" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "linkName", self.ctx.args.link_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Content-Type", "application/json", - ), - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - @property - def content(self): - _content_value, _builder = self.new_content_builder( - self.ctx.args, - typ=AAZObjectType, - typ_kwargs={"flags": {"required": True, "client_flatten": True}} - ) - _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) - - properties = _builder.get(".properties") - if properties is not None: - properties.set_prop("autoApprovedRemotePerimeterResourceId", AAZStrType, ".auto_remote_nsp_id") - properties.set_prop("description", AAZStrType, ".description") - properties.set_prop("localInboundProfiles", AAZListType, ".local_inbound_profile") - properties.set_prop("remoteInboundProfiles", AAZListType, ".remote_inbound_profile") - - local_inbound_profiles = _builder.get(".properties.localInboundProfiles") - if local_inbound_profiles is not None: - local_inbound_profiles.set_elements(AAZStrType, ".") - - remote_inbound_profiles = _builder.get(".properties.remoteInboundProfiles") - if remote_inbound_profiles is not None: - remote_inbound_profiles.set_elements(AAZStrType, ".") - - return self.serialize_content(_content_value) - - def on_200_201(self, session): - data = self.deserialize_http_content(session) - self.ctx.set_var( - "instance", - data, - schema_builder=self._build_schema_on_200_201 - ) - - _schema_on_200_201 = None - - @classmethod - def _build_schema_on_200_201(cls): - if cls._schema_on_200_201 is not None: - return cls._schema_on_200_201 - - cls._schema_on_200_201 = AAZObjectType() - - _schema_on_200_201 = cls._schema_on_200_201 - _schema_on_200_201.id = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200_201.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200_201.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200_201.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200_201.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200_201.properties - properties.auto_approved_remote_perimeter_resource_id = AAZStrType( - serialized_name="autoApprovedRemotePerimeterResourceId", - ) - properties.description = AAZStrType() - properties.local_inbound_profiles = AAZListType( - serialized_name="localInboundProfiles", - ) - properties.local_outbound_profiles = AAZListType( - serialized_name="localOutboundProfiles", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.remote_inbound_profiles = AAZListType( - serialized_name="remoteInboundProfiles", - ) - properties.remote_outbound_profiles = AAZListType( - serialized_name="remoteOutboundProfiles", - flags={"read_only": True}, - ) - properties.remote_perimeter_guid = AAZStrType( - serialized_name="remotePerimeterGuid", - flags={"read_only": True}, - ) - properties.remote_perimeter_location = AAZStrType( - serialized_name="remotePerimeterLocation", - flags={"read_only": True}, - ) - properties.status = AAZStrType( - flags={"read_only": True}, - ) - - local_inbound_profiles = cls._schema_on_200_201.properties.local_inbound_profiles - local_inbound_profiles.Element = AAZStrType() - - local_outbound_profiles = cls._schema_on_200_201.properties.local_outbound_profiles - local_outbound_profiles.Element = AAZStrType() - - remote_inbound_profiles = cls._schema_on_200_201.properties.remote_inbound_profiles - remote_inbound_profiles.Element = AAZStrType() - - remote_outbound_profiles = cls._schema_on_200_201.properties.remote_outbound_profiles - remote_outbound_profiles.Element = AAZStrType() - - system_data = cls._schema_on_200_201.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200_201 - - -class _CreateHelper: - """Helper class for Create""" - - -__all__ = ["Create"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link create", +) +class Create(AAZCommand): + """Create a network security perimeter link. + + :example: Create a network security perimeter link + az network perimeter link create --name link1 --perimeter-name nsp1 --resource-group rg1 --auto-remote-nsp-id --local-inbound-profile "[\\'*\\']" --remote-inbound-profile "[\\'*\\']" ' + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/links/{}", "2024-10-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.link_name = AAZStrArg( + options=["-n", "--name", "--link-name"], + help="The name of the NSP link.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.auto_remote_nsp_id = AAZResourceIdArg( + options=["--auto-remote-nsp-id"], + arg_group="Properties", + help="Perimeter ARM Id for the remote NSP with which the link gets created in Auto-approval mode. It should be used when the NSP admin have Microsoft.Network/networkSecurityPerimeters/linkPerimeter/action permission on the remote NSP resource.", + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars.", + ) + _args_schema.local_inbound_profile = AAZListArg( + options=["--local-inbound-profile"], + arg_group="Properties", + help="List of local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].", + fmt=AAZListArgFormat( + unique=True, + ), + ) + _args_schema.remote_inbound_profile = AAZListArg( + options=["--remote-inbound-profile"], + arg_group="Properties", + help="List of remote Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['*'].", + fmt=AAZListArgFormat( + unique=True, + ), + ) + + local_inbound_profile = cls._args_schema.local_inbound_profile + local_inbound_profile.Element = AAZStrArg() + + remote_inbound_profile = cls._args_schema.remote_inbound_profile + remote_inbound_profile.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterLinksCreateOrUpdate(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 NetworkSecurityPerimeterLinksCreateOrUpdate(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, 201]: + return self.on_200_201(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "linkName", self.ctx.args.link_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("autoApprovedRemotePerimeterResourceId", AAZStrType, ".auto_remote_nsp_id") + properties.set_prop("description", AAZStrType, ".description") + properties.set_prop("localInboundProfiles", AAZListType, ".local_inbound_profile") + properties.set_prop("remoteInboundProfiles", AAZListType, ".remote_inbound_profile") + + local_inbound_profiles = _builder.get(".properties.localInboundProfiles") + if local_inbound_profiles is not None: + local_inbound_profiles.set_elements(AAZStrType, ".") + + remote_inbound_profiles = _builder.get(".properties.remoteInboundProfiles") + if remote_inbound_profiles is not None: + remote_inbound_profiles.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.auto_approved_remote_perimeter_resource_id = AAZStrType( + serialized_name="autoApprovedRemotePerimeterResourceId", + ) + properties.description = AAZStrType() + properties.local_inbound_profiles = AAZListType( + serialized_name="localInboundProfiles", + ) + properties.local_outbound_profiles = AAZListType( + serialized_name="localOutboundProfiles", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.remote_inbound_profiles = AAZListType( + serialized_name="remoteInboundProfiles", + ) + properties.remote_outbound_profiles = AAZListType( + serialized_name="remoteOutboundProfiles", + flags={"read_only": True}, + ) + properties.remote_perimeter_guid = AAZStrType( + serialized_name="remotePerimeterGuid", + flags={"read_only": True}, + ) + properties.remote_perimeter_location = AAZStrType( + serialized_name="remotePerimeterLocation", + flags={"read_only": True}, + ) + properties.status = AAZStrType( + flags={"read_only": True}, + ) + + local_inbound_profiles = cls._schema_on_200_201.properties.local_inbound_profiles + local_inbound_profiles.Element = AAZStrType() + + local_outbound_profiles = cls._schema_on_200_201.properties.local_outbound_profiles + local_outbound_profiles.Element = AAZStrType() + + remote_inbound_profiles = cls._schema_on_200_201.properties.remote_inbound_profiles + remote_inbound_profiles.Element = AAZStrType() + + remote_outbound_profiles = cls._schema_on_200_201.properties.remote_outbound_profiles + remote_outbound_profiles.Element = AAZStrType() + + system_data = cls._schema_on_200_201.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_delete.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_delete.py index 522d5e7f60d..92ca120164b 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_delete.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_delete.py @@ -1,181 +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( - "network perimeter link delete", - confirmation="Are you sure you want to perform this operation?", -) -class Delete(AAZCommand): - """Delete a network security perimeter link. - - :example: Delete a network security perimeter link - az network perimeter link delete --name link1 --perimeter-name nsp1 --resource-group rg1 - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/links/{}", "2024-07-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.link_name = AAZStrArg( - options=["-n", "--name", "--link-name"], - help="The name of the NSP link.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - yield self.NetworkSecurityPerimeterLinksDelete(ctx=self.ctx)() - self.post_operations() - - @register_callback - def pre_operations(self): - pass - - @register_callback - def post_operations(self): - pass - - class NetworkSecurityPerimeterLinksDelete(AAZHttpOperation): - CLIENT_TYPE = "MgmtClient" - - def __call__(self, *args, **kwargs): - request = self.make_request() - session = self.client.send_request(request=request, stream=False, **kwargs) - if session.http_response.status_code in [202]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200, - self.on_error, - lro_options={"final-state-via": "location"}, - path_format_arguments=self.url_parameters, - ) - if session.http_response.status_code in [200]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200, - self.on_error, - lro_options={"final-state-via": "location"}, - path_format_arguments=self.url_parameters, - ) - if session.http_response.status_code in [204]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_204, - self.on_error, - lro_options={"final-state-via": "location"}, - path_format_arguments=self.url_parameters, - ) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", - **self.url_parameters - ) - - @property - def method(self): - return "DELETE" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "linkName", self.ctx.args.link_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - def on_200(self, session): - pass - - def on_204(self, session): - pass - - -class _DeleteHelper: - """Helper class for Delete""" - - -__all__ = ["Delete"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link delete", + confirmation="Are you sure you want to perform this operation?", +) +class Delete(AAZCommand): + """Delete a network security perimeter link. + + :example: Delete a network security perimeter link + az network perimeter link delete --name link1 --perimeter-name nsp1 --resource-group rg1 + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/links/{}", "2024-10-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.link_name = AAZStrArg( + options=["-n", "--name", "--link-name"], + help="The name of the NSP link.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkSecurityPerimeterLinksDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkSecurityPerimeterLinksDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "linkName", self.ctx.args.link_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_list.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_list.py index b5d513ab213..29f6e760bce 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_list.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_list.py @@ -1,279 +1,279 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter link list", -) -class List(AAZCommand): - """List all network security perimeter links. - - :example: List all network security perimeter links - az network perimeter link list --perimeter-name nsp1 --resource-group rg1 - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/links", "2024-07-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.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - _args_schema.skip_token = AAZStrArg( - options=["--skip-token"], - help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", - ) - _args_schema.top = AAZIntArg( - options=["--top"], - help="An optional query parameter which specifies the maximum number of records to be returned by the server.", - fmt=AAZIntArgFormat( - maximum=20, - minimum=1, - ), - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterLinksList(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 NetworkSecurityPerimeterLinksList(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_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( - "$skipToken", self.ctx.args.skip_token, - ), - **self.serialize_query_param( - "$top", self.ctx.args.top, - ), - **self.serialize_query_param( - "api-version", "2024-07-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", - ) - _schema_on_200.value = AAZListType() - - value = cls._schema_on_200.value - value.Element = AAZObjectType() - - _element = cls._schema_on_200.value.Element - _element.id = AAZStrType( - flags={"read_only": True}, - ) - _element.name = AAZStrType( - flags={"read_only": True}, - ) - _element.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _element.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _element.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.value.Element.properties - properties.auto_approved_remote_perimeter_resource_id = AAZStrType( - serialized_name="autoApprovedRemotePerimeterResourceId", - ) - properties.description = AAZStrType() - properties.local_inbound_profiles = AAZListType( - serialized_name="localInboundProfiles", - ) - properties.local_outbound_profiles = AAZListType( - serialized_name="localOutboundProfiles", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.remote_inbound_profiles = AAZListType( - serialized_name="remoteInboundProfiles", - ) - properties.remote_outbound_profiles = AAZListType( - serialized_name="remoteOutboundProfiles", - flags={"read_only": True}, - ) - properties.remote_perimeter_guid = AAZStrType( - serialized_name="remotePerimeterGuid", - flags={"read_only": True}, - ) - properties.remote_perimeter_location = AAZStrType( - serialized_name="remotePerimeterLocation", - flags={"read_only": True}, - ) - properties.status = AAZStrType( - flags={"read_only": True}, - ) - - local_inbound_profiles = cls._schema_on_200.value.Element.properties.local_inbound_profiles - local_inbound_profiles.Element = AAZStrType() - - local_outbound_profiles = cls._schema_on_200.value.Element.properties.local_outbound_profiles - local_outbound_profiles.Element = AAZStrType() - - remote_inbound_profiles = cls._schema_on_200.value.Element.properties.remote_inbound_profiles - remote_inbound_profiles.Element = AAZStrType() - - remote_outbound_profiles = cls._schema_on_200.value.Element.properties.remote_outbound_profiles - remote_outbound_profiles.Element = AAZStrType() - - system_data = cls._schema_on_200.value.Element.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _ListHelper: - """Helper class for List""" - - -__all__ = ["List"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link list", +) +class List(AAZCommand): + """List all network security perimeter links. + + :example: List all network security perimeter links + az network perimeter link list --perimeter-name nsp1 --resource-group rg1 + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/links", "2024-10-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.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.skip_token = AAZStrArg( + options=["--skip-token"], + help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + ) + _args_schema.top = AAZIntArg( + options=["--top"], + help="An optional query parameter which specifies the maximum number of records to be returned by the server.", + fmt=AAZIntArgFormat( + maximum=20, + minimum=1, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterLinksList(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 NetworkSecurityPerimeterLinksList(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_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( + "$skipToken", self.ctx.args.skip_token, + ), + **self.serialize_query_param( + "$top", self.ctx.args.top, + ), + **self.serialize_query_param( + "api-version", "2024-10-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", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.auto_approved_remote_perimeter_resource_id = AAZStrType( + serialized_name="autoApprovedRemotePerimeterResourceId", + ) + properties.description = AAZStrType() + properties.local_inbound_profiles = AAZListType( + serialized_name="localInboundProfiles", + ) + properties.local_outbound_profiles = AAZListType( + serialized_name="localOutboundProfiles", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.remote_inbound_profiles = AAZListType( + serialized_name="remoteInboundProfiles", + ) + properties.remote_outbound_profiles = AAZListType( + serialized_name="remoteOutboundProfiles", + flags={"read_only": True}, + ) + properties.remote_perimeter_guid = AAZStrType( + serialized_name="remotePerimeterGuid", + flags={"read_only": True}, + ) + properties.remote_perimeter_location = AAZStrType( + serialized_name="remotePerimeterLocation", + flags={"read_only": True}, + ) + properties.status = AAZStrType( + flags={"read_only": True}, + ) + + local_inbound_profiles = cls._schema_on_200.value.Element.properties.local_inbound_profiles + local_inbound_profiles.Element = AAZStrType() + + local_outbound_profiles = cls._schema_on_200.value.Element.properties.local_outbound_profiles + local_outbound_profiles.Element = AAZStrType() + + remote_inbound_profiles = cls._schema_on_200.value.Element.properties.remote_inbound_profiles + remote_inbound_profiles.Element = AAZStrType() + + remote_outbound_profiles = cls._schema_on_200.value.Element.properties.remote_outbound_profiles + remote_outbound_profiles.Element = AAZStrType() + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_show.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_show.py index b77ad5da974..9c9f98f763b 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_show.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_show.py @@ -1,265 +1,265 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter link show", -) -class Show(AAZCommand): - """Get a network security perimeter link. - - :example: Get a network security perimeter link - az network perimeter link list --perimeter-name nsp1 --resource-group rg1 - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/links/{}", "2024-07-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.link_name = AAZStrArg( - options=["-n", "--name", "--link-name"], - help="The name of the NSP link.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterLinksGet(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 NetworkSecurityPerimeterLinksGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "linkName", self.ctx.args.link_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - def on_200(self, session): - data = self.deserialize_http_content(session) - self.ctx.set_var( - "instance", - data, - schema_builder=self._build_schema_on_200 - ) - - _schema_on_200 = None - - @classmethod - def _build_schema_on_200(cls): - if cls._schema_on_200 is not None: - return cls._schema_on_200 - - cls._schema_on_200 = AAZObjectType() - - _schema_on_200 = cls._schema_on_200 - _schema_on_200.id = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.properties - properties.auto_approved_remote_perimeter_resource_id = AAZStrType( - serialized_name="autoApprovedRemotePerimeterResourceId", - ) - properties.description = AAZStrType() - properties.local_inbound_profiles = AAZListType( - serialized_name="localInboundProfiles", - ) - properties.local_outbound_profiles = AAZListType( - serialized_name="localOutboundProfiles", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.remote_inbound_profiles = AAZListType( - serialized_name="remoteInboundProfiles", - ) - properties.remote_outbound_profiles = AAZListType( - serialized_name="remoteOutboundProfiles", - flags={"read_only": True}, - ) - properties.remote_perimeter_guid = AAZStrType( - serialized_name="remotePerimeterGuid", - flags={"read_only": True}, - ) - properties.remote_perimeter_location = AAZStrType( - serialized_name="remotePerimeterLocation", - flags={"read_only": True}, - ) - properties.status = AAZStrType( - flags={"read_only": True}, - ) - - local_inbound_profiles = cls._schema_on_200.properties.local_inbound_profiles - local_inbound_profiles.Element = AAZStrType() - - local_outbound_profiles = cls._schema_on_200.properties.local_outbound_profiles - local_outbound_profiles.Element = AAZStrType() - - remote_inbound_profiles = cls._schema_on_200.properties.remote_inbound_profiles - remote_inbound_profiles.Element = AAZStrType() - - remote_outbound_profiles = cls._schema_on_200.properties.remote_outbound_profiles - remote_outbound_profiles.Element = AAZStrType() - - system_data = cls._schema_on_200.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _ShowHelper: - """Helper class for Show""" - - -__all__ = ["Show"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link show", +) +class Show(AAZCommand): + """Get a network security perimeter link. + + :example: Get a network security perimeter link + az network perimeter link list --perimeter-name nsp1 --resource-group rg1 + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/links/{}", "2024-10-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.link_name = AAZStrArg( + options=["-n", "--name", "--link-name"], + help="The name of the NSP link.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterLinksGet(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 NetworkSecurityPerimeterLinksGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "linkName", self.ctx.args.link_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.auto_approved_remote_perimeter_resource_id = AAZStrType( + serialized_name="autoApprovedRemotePerimeterResourceId", + ) + properties.description = AAZStrType() + properties.local_inbound_profiles = AAZListType( + serialized_name="localInboundProfiles", + ) + properties.local_outbound_profiles = AAZListType( + serialized_name="localOutboundProfiles", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.remote_inbound_profiles = AAZListType( + serialized_name="remoteInboundProfiles", + ) + properties.remote_outbound_profiles = AAZListType( + serialized_name="remoteOutboundProfiles", + flags={"read_only": True}, + ) + properties.remote_perimeter_guid = AAZStrType( + serialized_name="remotePerimeterGuid", + flags={"read_only": True}, + ) + properties.remote_perimeter_location = AAZStrType( + serialized_name="remotePerimeterLocation", + flags={"read_only": True}, + ) + properties.status = AAZStrType( + flags={"read_only": True}, + ) + + local_inbound_profiles = cls._schema_on_200.properties.local_inbound_profiles + local_inbound_profiles.Element = AAZStrType() + + local_outbound_profiles = cls._schema_on_200.properties.local_outbound_profiles + local_outbound_profiles.Element = AAZStrType() + + remote_inbound_profiles = cls._schema_on_200.properties.remote_inbound_profiles + remote_inbound_profiles.Element = AAZStrType() + + remote_outbound_profiles = cls._schema_on_200.properties.remote_outbound_profiles + remote_outbound_profiles.Element = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_update.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_update.py index 57045560331..db45534d2ea 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_update.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_update.py @@ -1,475 +1,475 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter link update", -) -class Update(AAZCommand): - """Create or update a network security perimeter link. - - :example: Update a network security perimeter link - az network perimeter link update --name link1 --perimeter-name nsp1 --resource-group rg1 --local-inbound-profile "[\\'*\\']" - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/links/{}", "2024-07-01"], - ] - } - - AZ_SUPPORT_GENERIC_UPDATE = True - - def _handler(self, command_args): - super()._handler(command_args) - self._execute_operations() - return self._output() - - _args_schema = None - - @classmethod - def _build_arguments_schema(cls, *args, **kwargs): - if cls._args_schema is not None: - return cls._args_schema - cls._args_schema = super()._build_arguments_schema(*args, **kwargs) - - # define Arg Group "" - - _args_schema = cls._args_schema - _args_schema.link_name = AAZStrArg( - options=["-n", "--name", "--link-name"], - help="The name of the NSP link.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - - # define Arg Group "Properties" - - _args_schema = cls._args_schema - _args_schema.description = AAZStrArg( - options=["--description"], - arg_group="Properties", - help="A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars.", - nullable=True, - ) - _args_schema.local_inbound_profile = AAZListArg( - options=["--local-inbound-profile"], - arg_group="Properties", - help="List of local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].", - nullable=True, - fmt=AAZListArgFormat( - unique=True, - ), - ) - _args_schema.remote_inbound_profile = AAZListArg( - options=["--remote-inbound-profile"], - arg_group="Properties", - help="List of remote Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['*'].", - nullable=True, - fmt=AAZListArgFormat( - unique=True, - ), - ) - - local_inbound_profile = cls._args_schema.local_inbound_profile - local_inbound_profile.Element = AAZStrArg( - nullable=True, - ) - - remote_inbound_profile = cls._args_schema.remote_inbound_profile - remote_inbound_profile.Element = AAZStrArg( - nullable=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterLinksGet(ctx=self.ctx)() - self.pre_instance_update(self.ctx.vars.instance) - self.InstanceUpdateByJson(ctx=self.ctx)() - self.InstanceUpdateByGeneric(ctx=self.ctx)() - self.post_instance_update(self.ctx.vars.instance) - self.NetworkSecurityPerimeterLinksCreateOrUpdate(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 NetworkSecurityPerimeterLinksGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "linkName", self.ctx.args.link_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-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_nsp_link_read(cls._schema_on_200) - - return cls._schema_on_200 - - class NetworkSecurityPerimeterLinksCreateOrUpdate(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, 201]: - return self.on_200_201(session) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", - **self.url_parameters - ) - - @property - def method(self): - return "PUT" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "linkName", self.ctx.args.link_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-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_nsp_link_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": {"client_flatten": True}}) - - properties = _builder.get(".properties") - if properties is not None: - properties.set_prop("description", AAZStrType, ".description") - properties.set_prop("localInboundProfiles", AAZListType, ".local_inbound_profile") - properties.set_prop("remoteInboundProfiles", AAZListType, ".remote_inbound_profile") - - local_inbound_profiles = _builder.get(".properties.localInboundProfiles") - if local_inbound_profiles is not None: - local_inbound_profiles.set_elements(AAZStrType, ".") - - remote_inbound_profiles = _builder.get(".properties.remoteInboundProfiles") - if remote_inbound_profiles is not None: - remote_inbound_profiles.set_elements(AAZStrType, ".") - - 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_nsp_link_read = None - - @classmethod - def _build_schema_nsp_link_read(cls, _schema): - if cls._schema_nsp_link_read is not None: - _schema.id = cls._schema_nsp_link_read.id - _schema.name = cls._schema_nsp_link_read.name - _schema.properties = cls._schema_nsp_link_read.properties - _schema.system_data = cls._schema_nsp_link_read.system_data - _schema.type = cls._schema_nsp_link_read.type - return - - cls._schema_nsp_link_read = _schema_nsp_link_read = AAZObjectType() - - nsp_link_read = _schema_nsp_link_read - nsp_link_read.id = AAZStrType( - flags={"read_only": True}, - ) - nsp_link_read.name = AAZStrType( - flags={"read_only": True}, - ) - nsp_link_read.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - nsp_link_read.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - nsp_link_read.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = _schema_nsp_link_read.properties - properties.auto_approved_remote_perimeter_resource_id = AAZStrType( - serialized_name="autoApprovedRemotePerimeterResourceId", - ) - properties.description = AAZStrType() - properties.local_inbound_profiles = AAZListType( - serialized_name="localInboundProfiles", - ) - properties.local_outbound_profiles = AAZListType( - serialized_name="localOutboundProfiles", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.remote_inbound_profiles = AAZListType( - serialized_name="remoteInboundProfiles", - ) - properties.remote_outbound_profiles = AAZListType( - serialized_name="remoteOutboundProfiles", - flags={"read_only": True}, - ) - properties.remote_perimeter_guid = AAZStrType( - serialized_name="remotePerimeterGuid", - flags={"read_only": True}, - ) - properties.remote_perimeter_location = AAZStrType( - serialized_name="remotePerimeterLocation", - flags={"read_only": True}, - ) - properties.status = AAZStrType( - flags={"read_only": True}, - ) - - local_inbound_profiles = _schema_nsp_link_read.properties.local_inbound_profiles - local_inbound_profiles.Element = AAZStrType() - - local_outbound_profiles = _schema_nsp_link_read.properties.local_outbound_profiles - local_outbound_profiles.Element = AAZStrType() - - remote_inbound_profiles = _schema_nsp_link_read.properties.remote_inbound_profiles - remote_inbound_profiles.Element = AAZStrType() - - remote_outbound_profiles = _schema_nsp_link_read.properties.remote_outbound_profiles - remote_outbound_profiles.Element = AAZStrType() - - system_data = _schema_nsp_link_read.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - _schema.id = cls._schema_nsp_link_read.id - _schema.name = cls._schema_nsp_link_read.name - _schema.properties = cls._schema_nsp_link_read.properties - _schema.system_data = cls._schema_nsp_link_read.system_data - _schema.type = cls._schema_nsp_link_read.type - - -__all__ = ["Update"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link update", +) +class Update(AAZCommand): + """Create or update a network security perimeter link. + + :example: Update a network security perimeter link + az network perimeter link update --name link1 --perimeter-name nsp1 --resource-group rg1 --local-inbound-profile "[\\'*\\']" + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/links/{}", "2024-10-01"], + ] + } + + AZ_SUPPORT_GENERIC_UPDATE = True + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.link_name = AAZStrArg( + options=["-n", "--name", "--link-name"], + help="The name of the NSP link.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars.", + nullable=True, + ) + _args_schema.local_inbound_profile = AAZListArg( + options=["--local-inbound-profile"], + arg_group="Properties", + help="List of local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].", + nullable=True, + fmt=AAZListArgFormat( + unique=True, + ), + ) + _args_schema.remote_inbound_profile = AAZListArg( + options=["--remote-inbound-profile"], + arg_group="Properties", + help="List of remote Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['*'].", + nullable=True, + fmt=AAZListArgFormat( + unique=True, + ), + ) + + local_inbound_profile = cls._args_schema.local_inbound_profile + local_inbound_profile.Element = AAZStrArg( + nullable=True, + ) + + remote_inbound_profile = cls._args_schema.remote_inbound_profile + remote_inbound_profile.Element = AAZStrArg( + nullable=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterLinksGet(ctx=self.ctx)() + self.pre_instance_update(self.ctx.vars.instance) + self.InstanceUpdateByJson(ctx=self.ctx)() + self.InstanceUpdateByGeneric(ctx=self.ctx)() + self.post_instance_update(self.ctx.vars.instance) + self.NetworkSecurityPerimeterLinksCreateOrUpdate(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 NetworkSecurityPerimeterLinksGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "linkName", self.ctx.args.link_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-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_nsp_link_read(cls._schema_on_200) + + return cls._schema_on_200 + + class NetworkSecurityPerimeterLinksCreateOrUpdate(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, 201]: + return self.on_200_201(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "linkName", self.ctx.args.link_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-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_nsp_link_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": {"client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("description", AAZStrType, ".description") + properties.set_prop("localInboundProfiles", AAZListType, ".local_inbound_profile") + properties.set_prop("remoteInboundProfiles", AAZListType, ".remote_inbound_profile") + + local_inbound_profiles = _builder.get(".properties.localInboundProfiles") + if local_inbound_profiles is not None: + local_inbound_profiles.set_elements(AAZStrType, ".") + + remote_inbound_profiles = _builder.get(".properties.remoteInboundProfiles") + if remote_inbound_profiles is not None: + remote_inbound_profiles.set_elements(AAZStrType, ".") + + 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_nsp_link_read = None + + @classmethod + def _build_schema_nsp_link_read(cls, _schema): + if cls._schema_nsp_link_read is not None: + _schema.id = cls._schema_nsp_link_read.id + _schema.name = cls._schema_nsp_link_read.name + _schema.properties = cls._schema_nsp_link_read.properties + _schema.system_data = cls._schema_nsp_link_read.system_data + _schema.type = cls._schema_nsp_link_read.type + return + + cls._schema_nsp_link_read = _schema_nsp_link_read = AAZObjectType() + + nsp_link_read = _schema_nsp_link_read + nsp_link_read.id = AAZStrType( + flags={"read_only": True}, + ) + nsp_link_read.name = AAZStrType( + flags={"read_only": True}, + ) + nsp_link_read.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + nsp_link_read.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + nsp_link_read.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = _schema_nsp_link_read.properties + properties.auto_approved_remote_perimeter_resource_id = AAZStrType( + serialized_name="autoApprovedRemotePerimeterResourceId", + ) + properties.description = AAZStrType() + properties.local_inbound_profiles = AAZListType( + serialized_name="localInboundProfiles", + ) + properties.local_outbound_profiles = AAZListType( + serialized_name="localOutboundProfiles", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.remote_inbound_profiles = AAZListType( + serialized_name="remoteInboundProfiles", + ) + properties.remote_outbound_profiles = AAZListType( + serialized_name="remoteOutboundProfiles", + flags={"read_only": True}, + ) + properties.remote_perimeter_guid = AAZStrType( + serialized_name="remotePerimeterGuid", + flags={"read_only": True}, + ) + properties.remote_perimeter_location = AAZStrType( + serialized_name="remotePerimeterLocation", + flags={"read_only": True}, + ) + properties.status = AAZStrType( + flags={"read_only": True}, + ) + + local_inbound_profiles = _schema_nsp_link_read.properties.local_inbound_profiles + local_inbound_profiles.Element = AAZStrType() + + local_outbound_profiles = _schema_nsp_link_read.properties.local_outbound_profiles + local_outbound_profiles.Element = AAZStrType() + + remote_inbound_profiles = _schema_nsp_link_read.properties.remote_inbound_profiles + remote_inbound_profiles.Element = AAZStrType() + + remote_outbound_profiles = _schema_nsp_link_read.properties.remote_outbound_profiles + remote_outbound_profiles.Element = AAZStrType() + + system_data = _schema_nsp_link_read.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + _schema.id = cls._schema_nsp_link_read.id + _schema.name = cls._schema_nsp_link_read.name + _schema.properties = cls._schema_nsp_link_read.properties + _schema.system_data = cls._schema_nsp_link_read.system_data + _schema.type = cls._schema_nsp_link_read.type + + +__all__ = ["Update"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_wait.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_wait.py index e1587bb515d..23c38fc08bf 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_wait.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link/_wait.py @@ -1,261 +1,261 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from azure.cli.core.aaz import * - - -@register_command( - "network perimeter link 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.network/networksecurityperimeters/{}/links/{}", "2024-07-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.link_name = AAZStrArg( - options=["-n", "--name", "--link-name"], - help="The name of the NSP link.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterLinksGet(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 NetworkSecurityPerimeterLinksGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "linkName", self.ctx.args.link_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - def on_200(self, session): - data = self.deserialize_http_content(session) - self.ctx.set_var( - "instance", - data, - schema_builder=self._build_schema_on_200 - ) - - _schema_on_200 = None - - @classmethod - def _build_schema_on_200(cls): - if cls._schema_on_200 is not None: - return cls._schema_on_200 - - cls._schema_on_200 = AAZObjectType() - - _schema_on_200 = cls._schema_on_200 - _schema_on_200.id = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.properties - properties.auto_approved_remote_perimeter_resource_id = AAZStrType( - serialized_name="autoApprovedRemotePerimeterResourceId", - ) - properties.description = AAZStrType() - properties.local_inbound_profiles = AAZListType( - serialized_name="localInboundProfiles", - ) - properties.local_outbound_profiles = AAZListType( - serialized_name="localOutboundProfiles", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.remote_inbound_profiles = AAZListType( - serialized_name="remoteInboundProfiles", - ) - properties.remote_outbound_profiles = AAZListType( - serialized_name="remoteOutboundProfiles", - flags={"read_only": True}, - ) - properties.remote_perimeter_guid = AAZStrType( - serialized_name="remotePerimeterGuid", - flags={"read_only": True}, - ) - properties.remote_perimeter_location = AAZStrType( - serialized_name="remotePerimeterLocation", - flags={"read_only": True}, - ) - properties.status = AAZStrType( - flags={"read_only": True}, - ) - - local_inbound_profiles = cls._schema_on_200.properties.local_inbound_profiles - local_inbound_profiles.Element = AAZStrType() - - local_outbound_profiles = cls._schema_on_200.properties.local_outbound_profiles - local_outbound_profiles.Element = AAZStrType() - - remote_inbound_profiles = cls._schema_on_200.properties.remote_inbound_profiles - remote_inbound_profiles.Element = AAZStrType() - - remote_outbound_profiles = cls._schema_on_200.properties.remote_outbound_profiles - remote_outbound_profiles.Element = AAZStrType() - - system_data = cls._schema_on_200.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _WaitHelper: - """Helper class for Wait""" - - -__all__ = ["Wait"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link 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.network/networksecurityperimeters/{}/links/{}", "2024-10-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.link_name = AAZStrArg( + options=["-n", "--name", "--link-name"], + help="The name of the NSP link.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterLinksGet(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 NetworkSecurityPerimeterLinksGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "linkName", self.ctx.args.link_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.auto_approved_remote_perimeter_resource_id = AAZStrType( + serialized_name="autoApprovedRemotePerimeterResourceId", + ) + properties.description = AAZStrType() + properties.local_inbound_profiles = AAZListType( + serialized_name="localInboundProfiles", + ) + properties.local_outbound_profiles = AAZListType( + serialized_name="localOutboundProfiles", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.remote_inbound_profiles = AAZListType( + serialized_name="remoteInboundProfiles", + ) + properties.remote_outbound_profiles = AAZListType( + serialized_name="remoteOutboundProfiles", + flags={"read_only": True}, + ) + properties.remote_perimeter_guid = AAZStrType( + serialized_name="remotePerimeterGuid", + flags={"read_only": True}, + ) + properties.remote_perimeter_location = AAZStrType( + serialized_name="remotePerimeterLocation", + flags={"read_only": True}, + ) + properties.status = AAZStrType( + flags={"read_only": True}, + ) + + local_inbound_profiles = cls._schema_on_200.properties.local_inbound_profiles + local_inbound_profiles.Element = AAZStrType() + + local_outbound_profiles = cls._schema_on_200.properties.local_outbound_profiles + local_outbound_profiles.Element = AAZStrType() + + remote_inbound_profiles = cls._schema_on_200.properties.remote_inbound_profiles + remote_inbound_profiles.Element = AAZStrType() + + remote_outbound_profiles = cls._schema_on_200.properties.remote_outbound_profiles + remote_outbound_profiles.Element = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/__cmd_group.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/__cmd_group.py index ba02e2d7b52..6cc7d1125e3 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/__cmd_group.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/__cmd_group.py @@ -1,23 +1,23 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from azure.cli.core.aaz import * - - -@register_command_group( - "network perimeter link-reference", -) -class __CMDGroup(AAZCommandGroup): - """Manage Network Security Perimeter Link References. - """ - pass - - -__all__ = ["__CMDGroup"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link-reference", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Security Perimeter Link References. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/__init__.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/__init__.py index 8b93ee3eb92..f68091245a7 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/__init__.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/__init__.py @@ -1,15 +1,15 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from .__cmd_group import * -from ._delete import * -from ._list import * -from ._show import * -from ._wait import * +# -------------------------------------------------------------------------------------------- +# 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 ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_delete.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_delete.py index 2c7e5ff33bd..7def5771521 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_delete.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_delete.py @@ -1,181 +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( - "network perimeter link-reference delete", - confirmation="Are you sure you want to perform this operation?", -) -class Delete(AAZCommand): - """Delete a network security perimeter link reference. - - :example: Delete a network security perimeter link reference - az network perimeter link-reference delete --perimeter-name nsp2 --resource-group rg1 --name linkref2 - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/linkreferences/{}", "2024-07-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.link_reference_name = AAZStrArg( - options=["-n", "--name", "--link-reference-name"], - help="The name of the NSP linkReference.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - yield self.NetworkSecurityPerimeterLinkReferencesDelete(ctx=self.ctx)() - self.post_operations() - - @register_callback - def pre_operations(self): - pass - - @register_callback - def post_operations(self): - pass - - class NetworkSecurityPerimeterLinkReferencesDelete(AAZHttpOperation): - CLIENT_TYPE = "MgmtClient" - - def __call__(self, *args, **kwargs): - request = self.make_request() - session = self.client.send_request(request=request, stream=False, **kwargs) - if session.http_response.status_code in [202]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200, - self.on_error, - lro_options={"final-state-via": "location"}, - path_format_arguments=self.url_parameters, - ) - if session.http_response.status_code in [200]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_200, - self.on_error, - lro_options={"final-state-via": "location"}, - path_format_arguments=self.url_parameters, - ) - if session.http_response.status_code in [204]: - return self.client.build_lro_polling( - self.ctx.args.no_wait, - session, - self.on_204, - self.on_error, - lro_options={"final-state-via": "location"}, - path_format_arguments=self.url_parameters, - ) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}", - **self.url_parameters - ) - - @property - def method(self): - return "DELETE" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "linkReferenceName", self.ctx.args.link_reference_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - def on_200(self, session): - pass - - def on_204(self, session): - pass - - -class _DeleteHelper: - """Helper class for Delete""" - - -__all__ = ["Delete"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link-reference delete", + confirmation="Are you sure you want to perform this operation?", +) +class Delete(AAZCommand): + """Delete a network security perimeter link reference. + + :example: Delete a network security perimeter link reference + az network perimeter link-reference delete --perimeter-name nsp2 --resource-group rg1 --name linkref2 + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/linkreferences/{}", "2024-10-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.link_reference_name = AAZStrArg( + options=["-n", "--name", "--link-reference-name"], + help="The name of the NSP linkReference.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkSecurityPerimeterLinkReferencesDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkSecurityPerimeterLinkReferencesDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "linkReferenceName", self.ctx.args.link_reference_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_list.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_list.py index a3a9a193639..5fe3daa4edb 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_list.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_list.py @@ -1,281 +1,281 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter link-reference list", -) -class List(AAZCommand): - """List all network security perimeter link references. - - :example: List all network security perimeter link references - az network perimeter link-reference list --perimeter-name nsp2 --resource-group rg1 - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/linkreferences", "2024-07-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.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - _args_schema.skip_token = AAZStrArg( - options=["--skip-token"], - help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", - ) - _args_schema.top = AAZIntArg( - options=["--top"], - help="An optional query parameter which specifies the maximum number of records to be returned by the server.", - fmt=AAZIntArgFormat( - maximum=20, - minimum=1, - ), - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterLinkReferencesList(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 NetworkSecurityPerimeterLinkReferencesList(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_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( - "$skipToken", self.ctx.args.skip_token, - ), - **self.serialize_query_param( - "$top", self.ctx.args.top, - ), - **self.serialize_query_param( - "api-version", "2024-07-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", - ) - _schema_on_200.value = AAZListType() - - value = cls._schema_on_200.value - value.Element = AAZObjectType() - - _element = cls._schema_on_200.value.Element - _element.id = AAZStrType( - flags={"read_only": True}, - ) - _element.name = AAZStrType( - flags={"read_only": True}, - ) - _element.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _element.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _element.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.value.Element.properties - properties.description = AAZStrType( - flags={"read_only": True}, - ) - properties.local_inbound_profiles = AAZListType( - serialized_name="localInboundProfiles", - ) - properties.local_outbound_profiles = AAZListType( - serialized_name="localOutboundProfiles", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.remote_inbound_profiles = AAZListType( - serialized_name="remoteInboundProfiles", - flags={"read_only": True}, - ) - properties.remote_outbound_profiles = AAZListType( - serialized_name="remoteOutboundProfiles", - flags={"read_only": True}, - ) - properties.remote_perimeter_guid = AAZStrType( - serialized_name="remotePerimeterGuid", - flags={"read_only": True}, - ) - properties.remote_perimeter_location = AAZStrType( - serialized_name="remotePerimeterLocation", - flags={"read_only": True}, - ) - properties.remote_perimeter_resource_id = AAZStrType( - serialized_name="remotePerimeterResourceId", - flags={"read_only": True}, - ) - properties.status = AAZStrType() - - local_inbound_profiles = cls._schema_on_200.value.Element.properties.local_inbound_profiles - local_inbound_profiles.Element = AAZStrType() - - local_outbound_profiles = cls._schema_on_200.value.Element.properties.local_outbound_profiles - local_outbound_profiles.Element = AAZStrType() - - remote_inbound_profiles = cls._schema_on_200.value.Element.properties.remote_inbound_profiles - remote_inbound_profiles.Element = AAZStrType() - - remote_outbound_profiles = cls._schema_on_200.value.Element.properties.remote_outbound_profiles - remote_outbound_profiles.Element = AAZStrType() - - system_data = cls._schema_on_200.value.Element.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _ListHelper: - """Helper class for List""" - - -__all__ = ["List"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link-reference list", +) +class List(AAZCommand): + """List all network security perimeter link references. + + :example: List all network security perimeter link references + az network perimeter link-reference list --perimeter-name nsp2 --resource-group rg1 + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/linkreferences", "2024-10-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.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.skip_token = AAZStrArg( + options=["--skip-token"], + help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + ) + _args_schema.top = AAZIntArg( + options=["--top"], + help="An optional query parameter which specifies the maximum number of records to be returned by the server.", + fmt=AAZIntArgFormat( + maximum=20, + minimum=1, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterLinkReferencesList(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 NetworkSecurityPerimeterLinkReferencesList(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_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( + "$skipToken", self.ctx.args.skip_token, + ), + **self.serialize_query_param( + "$top", self.ctx.args.top, + ), + **self.serialize_query_param( + "api-version", "2024-10-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", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.description = AAZStrType( + flags={"read_only": True}, + ) + properties.local_inbound_profiles = AAZListType( + serialized_name="localInboundProfiles", + ) + properties.local_outbound_profiles = AAZListType( + serialized_name="localOutboundProfiles", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.remote_inbound_profiles = AAZListType( + serialized_name="remoteInboundProfiles", + flags={"read_only": True}, + ) + properties.remote_outbound_profiles = AAZListType( + serialized_name="remoteOutboundProfiles", + flags={"read_only": True}, + ) + properties.remote_perimeter_guid = AAZStrType( + serialized_name="remotePerimeterGuid", + flags={"read_only": True}, + ) + properties.remote_perimeter_location = AAZStrType( + serialized_name="remotePerimeterLocation", + flags={"read_only": True}, + ) + properties.remote_perimeter_resource_id = AAZStrType( + serialized_name="remotePerimeterResourceId", + flags={"read_only": True}, + ) + properties.status = AAZStrType() + + local_inbound_profiles = cls._schema_on_200.value.Element.properties.local_inbound_profiles + local_inbound_profiles.Element = AAZStrType() + + local_outbound_profiles = cls._schema_on_200.value.Element.properties.local_outbound_profiles + local_outbound_profiles.Element = AAZStrType() + + remote_inbound_profiles = cls._schema_on_200.value.Element.properties.remote_inbound_profiles + remote_inbound_profiles.Element = AAZStrType() + + remote_outbound_profiles = cls._schema_on_200.value.Element.properties.remote_outbound_profiles + remote_outbound_profiles.Element = AAZStrType() + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_show.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_show.py index 8028a46e1d8..99f16cc3859 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_show.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_show.py @@ -1,267 +1,267 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter link-reference show", -) -class Show(AAZCommand): - """Get a network security perimeter link reference. - - :example: Get a network security perimeter link reference - az network perimeter link-reference show --perimeter-name nsp2 --resource-group rg1 --name linkref2 - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/linkreferences/{}", "2024-07-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.link_reference_name = AAZStrArg( - options=["-n", "--name", "--link-reference-name"], - help="The name of the NSP linkReference.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterLinkReferencesGet(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 NetworkSecurityPerimeterLinkReferencesGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "linkReferenceName", self.ctx.args.link_reference_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - def on_200(self, session): - data = self.deserialize_http_content(session) - self.ctx.set_var( - "instance", - data, - schema_builder=self._build_schema_on_200 - ) - - _schema_on_200 = None - - @classmethod - def _build_schema_on_200(cls): - if cls._schema_on_200 is not None: - return cls._schema_on_200 - - cls._schema_on_200 = AAZObjectType() - - _schema_on_200 = cls._schema_on_200 - _schema_on_200.id = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.properties - properties.description = AAZStrType( - flags={"read_only": True}, - ) - properties.local_inbound_profiles = AAZListType( - serialized_name="localInboundProfiles", - ) - properties.local_outbound_profiles = AAZListType( - serialized_name="localOutboundProfiles", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.remote_inbound_profiles = AAZListType( - serialized_name="remoteInboundProfiles", - flags={"read_only": True}, - ) - properties.remote_outbound_profiles = AAZListType( - serialized_name="remoteOutboundProfiles", - flags={"read_only": True}, - ) - properties.remote_perimeter_guid = AAZStrType( - serialized_name="remotePerimeterGuid", - flags={"read_only": True}, - ) - properties.remote_perimeter_location = AAZStrType( - serialized_name="remotePerimeterLocation", - flags={"read_only": True}, - ) - properties.remote_perimeter_resource_id = AAZStrType( - serialized_name="remotePerimeterResourceId", - flags={"read_only": True}, - ) - properties.status = AAZStrType() - - local_inbound_profiles = cls._schema_on_200.properties.local_inbound_profiles - local_inbound_profiles.Element = AAZStrType() - - local_outbound_profiles = cls._schema_on_200.properties.local_outbound_profiles - local_outbound_profiles.Element = AAZStrType() - - remote_inbound_profiles = cls._schema_on_200.properties.remote_inbound_profiles - remote_inbound_profiles.Element = AAZStrType() - - remote_outbound_profiles = cls._schema_on_200.properties.remote_outbound_profiles - remote_outbound_profiles.Element = AAZStrType() - - system_data = cls._schema_on_200.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _ShowHelper: - """Helper class for Show""" - - -__all__ = ["Show"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link-reference show", +) +class Show(AAZCommand): + """Get a network security perimeter link reference. + + :example: Get a network security perimeter link reference + az network perimeter link-reference show --perimeter-name nsp2 --resource-group rg1 --name linkref2 + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/linkreferences/{}", "2024-10-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.link_reference_name = AAZStrArg( + options=["-n", "--name", "--link-reference-name"], + help="The name of the NSP linkReference.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterLinkReferencesGet(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 NetworkSecurityPerimeterLinkReferencesGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "linkReferenceName", self.ctx.args.link_reference_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType( + flags={"read_only": True}, + ) + properties.local_inbound_profiles = AAZListType( + serialized_name="localInboundProfiles", + ) + properties.local_outbound_profiles = AAZListType( + serialized_name="localOutboundProfiles", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.remote_inbound_profiles = AAZListType( + serialized_name="remoteInboundProfiles", + flags={"read_only": True}, + ) + properties.remote_outbound_profiles = AAZListType( + serialized_name="remoteOutboundProfiles", + flags={"read_only": True}, + ) + properties.remote_perimeter_guid = AAZStrType( + serialized_name="remotePerimeterGuid", + flags={"read_only": True}, + ) + properties.remote_perimeter_location = AAZStrType( + serialized_name="remotePerimeterLocation", + flags={"read_only": True}, + ) + properties.remote_perimeter_resource_id = AAZStrType( + serialized_name="remotePerimeterResourceId", + flags={"read_only": True}, + ) + properties.status = AAZStrType() + + local_inbound_profiles = cls._schema_on_200.properties.local_inbound_profiles + local_inbound_profiles.Element = AAZStrType() + + local_outbound_profiles = cls._schema_on_200.properties.local_outbound_profiles + local_outbound_profiles.Element = AAZStrType() + + remote_inbound_profiles = cls._schema_on_200.properties.remote_inbound_profiles + remote_inbound_profiles.Element = AAZStrType() + + remote_outbound_profiles = cls._schema_on_200.properties.remote_outbound_profiles + remote_outbound_profiles.Element = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_wait.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_wait.py index aa69f10ae6d..82639b17599 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_wait.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/link_reference/_wait.py @@ -1,263 +1,263 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter link-reference 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.network/networksecurityperimeters/{}/linkreferences/{}", "2024-07-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.link_reference_name = AAZStrArg( - options=["-n", "--name", "--link-reference-name"], - help="The name of the NSP linkReference.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterLinkReferencesGet(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 NetworkSecurityPerimeterLinkReferencesGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "linkReferenceName", self.ctx.args.link_reference_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - def on_200(self, session): - data = self.deserialize_http_content(session) - self.ctx.set_var( - "instance", - data, - schema_builder=self._build_schema_on_200 - ) - - _schema_on_200 = None - - @classmethod - def _build_schema_on_200(cls): - if cls._schema_on_200 is not None: - return cls._schema_on_200 - - cls._schema_on_200 = AAZObjectType() - - _schema_on_200 = cls._schema_on_200 - _schema_on_200.id = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.properties - properties.description = AAZStrType( - flags={"read_only": True}, - ) - properties.local_inbound_profiles = AAZListType( - serialized_name="localInboundProfiles", - ) - properties.local_outbound_profiles = AAZListType( - serialized_name="localOutboundProfiles", - flags={"read_only": True}, - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.remote_inbound_profiles = AAZListType( - serialized_name="remoteInboundProfiles", - flags={"read_only": True}, - ) - properties.remote_outbound_profiles = AAZListType( - serialized_name="remoteOutboundProfiles", - flags={"read_only": True}, - ) - properties.remote_perimeter_guid = AAZStrType( - serialized_name="remotePerimeterGuid", - flags={"read_only": True}, - ) - properties.remote_perimeter_location = AAZStrType( - serialized_name="remotePerimeterLocation", - flags={"read_only": True}, - ) - properties.remote_perimeter_resource_id = AAZStrType( - serialized_name="remotePerimeterResourceId", - flags={"read_only": True}, - ) - properties.status = AAZStrType() - - local_inbound_profiles = cls._schema_on_200.properties.local_inbound_profiles - local_inbound_profiles.Element = AAZStrType() - - local_outbound_profiles = cls._schema_on_200.properties.local_outbound_profiles - local_outbound_profiles.Element = AAZStrType() - - remote_inbound_profiles = cls._schema_on_200.properties.remote_inbound_profiles - remote_inbound_profiles.Element = AAZStrType() - - remote_outbound_profiles = cls._schema_on_200.properties.remote_outbound_profiles - remote_outbound_profiles.Element = AAZStrType() - - system_data = cls._schema_on_200.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _WaitHelper: - """Helper class for Wait""" - - -__all__ = ["Wait"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter link-reference 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.network/networksecurityperimeters/{}/linkreferences/{}", "2024-10-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.link_reference_name = AAZStrArg( + options=["-n", "--name", "--link-reference-name"], + help="The name of the NSP linkReference.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterLinkReferencesGet(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 NetworkSecurityPerimeterLinkReferencesGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "linkReferenceName", self.ctx.args.link_reference_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.description = AAZStrType( + flags={"read_only": True}, + ) + properties.local_inbound_profiles = AAZListType( + serialized_name="localInboundProfiles", + ) + properties.local_outbound_profiles = AAZListType( + serialized_name="localOutboundProfiles", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.remote_inbound_profiles = AAZListType( + serialized_name="remoteInboundProfiles", + flags={"read_only": True}, + ) + properties.remote_outbound_profiles = AAZListType( + serialized_name="remoteOutboundProfiles", + flags={"read_only": True}, + ) + properties.remote_perimeter_guid = AAZStrType( + serialized_name="remotePerimeterGuid", + flags={"read_only": True}, + ) + properties.remote_perimeter_location = AAZStrType( + serialized_name="remotePerimeterLocation", + flags={"read_only": True}, + ) + properties.remote_perimeter_resource_id = AAZStrType( + serialized_name="remotePerimeterResourceId", + flags={"read_only": True}, + ) + properties.status = AAZStrType() + + local_inbound_profiles = cls._schema_on_200.properties.local_inbound_profiles + local_inbound_profiles.Element = AAZStrType() + + local_outbound_profiles = cls._schema_on_200.properties.local_outbound_profiles + local_outbound_profiles.Element = AAZStrType() + + remote_inbound_profiles = cls._schema_on_200.properties.remote_inbound_profiles + remote_inbound_profiles.Element = AAZStrType() + + remote_outbound_profiles = cls._schema_on_200.properties.remote_outbound_profiles + remote_outbound_profiles.Element = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_create.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_create.py index 76e15f9ad18..e7e5a3ecb31 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_create.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_create.py @@ -22,9 +22,9 @@ class Create(AAZCommand): """ _aaz_info = { - "version": "2024-07-01", + "version": "2024-10-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/loggingconfigurations/{}", "2024-07-01"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/loggingconfigurations/{}", "2024-10-01"], ] } @@ -154,7 +154,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2024-07-01", + "api-version", "2024-10-01", required=True, ), } diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_delete.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_delete.py index 76fee6625df..d55a9feee30 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_delete.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_delete.py @@ -23,9 +23,9 @@ class Delete(AAZCommand): """ _aaz_info = { - "version": "2024-07-01", + "version": "2024-10-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/loggingconfigurations/{}", "2024-07-01"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/loggingconfigurations/{}", "2024-10-01"], ] } @@ -138,7 +138,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2024-07-01", + "api-version", "2024-10-01", required=True, ), } diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_list.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_list.py index e6adf1a49e6..14d76d23eb2 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_list.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_list.py @@ -19,9 +19,9 @@ class List(AAZCommand): """ _aaz_info = { - "version": "2024-07-01", + "version": "2024-10-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/loggingconfigurations", "2024-07-01"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/loggingconfigurations", "2024-10-01"], ] } @@ -122,7 +122,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2024-07-01", + "api-version", "2024-10-01", required=True, ), } diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_show.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_show.py index 4b481e09083..f404287c7e3 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_show.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_show.py @@ -22,9 +22,9 @@ class Show(AAZCommand): """ _aaz_info = { - "version": "2024-07-01", + "version": "2024-10-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/loggingconfigurations/{}", "2024-07-01"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/loggingconfigurations/{}", "2024-10-01"], ] } @@ -139,7 +139,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2024-07-01", + "api-version", "2024-10-01", required=True, ), } diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_update.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_update.py index 0625c2d7e0b..554db445450 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_update.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/logging_configuration/_update.py @@ -22,9 +22,9 @@ class Update(AAZCommand): """ _aaz_info = { - "version": "2024-07-01", + "version": "2024-10-01", "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/loggingconfigurations/{}", "2024-07-01"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/loggingconfigurations/{}", "2024-10-01"], ] } @@ -174,7 +174,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2024-07-01", + "api-version", "2024-10-01", required=True, ), } @@ -261,7 +261,7 @@ def url_parameters(self): def query_parameters(self): parameters = { **self.serialize_query_param( - "api-version", "2024-07-01", + "api-version", "2024-10-01", required=True, ), } diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/__cmd_group.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/__cmd_group.py index 427aa844857..b3e2044ef8f 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/__cmd_group.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/__cmd_group.py @@ -1,23 +1,23 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from azure.cli.core.aaz import * - - -@register_command_group( - "network perimeter profile", -) -class __CMDGroup(AAZCommandGroup): - """Manage Network Security Perimeter Profiles. - """ - pass - - -__all__ = ["__CMDGroup"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter profile", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Security Perimeter Profiles. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/__init__.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/__init__.py index bca7976b1c6..efc3964e3fb 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/__init__.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/__init__.py @@ -1,15 +1,15 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from .__cmd_group import * -from ._create import * -from ._delete import * -from ._list import * -from ._show import * +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_create.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_create.py index 8093ddffa8f..fad7fcf7e83 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_create.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_create.py @@ -1,239 +1,239 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter profile create", -) -class Create(AAZCommand): - """Create a network security perimeter profile. - - :example: Create a network security perimeter profile - az network perimeter profile create -n MyProfile --perimeter-name MyPerimeter -g MyResourceGroup - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}", "2024-07-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.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.profile_name = AAZStrArg( - options=["-n", "--name", "--profile-name"], - help="The name of the NSP profile.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterProfilesCreateOrUpdate(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 NetworkSecurityPerimeterProfilesCreateOrUpdate(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, 201]: - return self.on_200_201(session) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}", - **self.url_parameters - ) - - @property - def method(self): - return "PUT" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "profileName", self.ctx.args.profile_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-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}} - ) - - 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={"client_flatten": True}, - ) - _schema_on_200_201.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200_201.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200_201.properties - properties.access_rules_version = AAZStrType( - serialized_name="accessRulesVersion", - flags={"read_only": True}, - ) - properties.diagnostic_settings_version = AAZStrType( - serialized_name="diagnosticSettingsVersion", - flags={"read_only": True}, - ) - - system_data = cls._schema_on_200_201.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200_201 - - -class _CreateHelper: - """Helper class for Create""" - - -__all__ = ["Create"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter profile create", +) +class Create(AAZCommand): + """Create a network security perimeter profile. + + :example: Create a network security perimeter profile + az network perimeter profile create -n MyProfile --perimeter-name MyPerimeter -g MyResourceGroup + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}", "2024-10-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.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.profile_name = AAZStrArg( + options=["-n", "--name", "--profile-name"], + help="The name of the NSP profile.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterProfilesCreateOrUpdate(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 NetworkSecurityPerimeterProfilesCreateOrUpdate(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, 201]: + return self.on_200_201(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "profileName", self.ctx.args.profile_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-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}} + ) + + 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={"client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.access_rules_version = AAZStrType( + serialized_name="accessRulesVersion", + flags={"read_only": True}, + ) + properties.diagnostic_settings_version = AAZStrType( + serialized_name="diagnosticSettingsVersion", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200_201.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_delete.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_delete.py index 7f661f622c2..f8ddc51b869 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_delete.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_delete.py @@ -1,157 +1,157 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter profile delete", - confirmation="Are you sure you want to perform this operation?", -) -class Delete(AAZCommand): - """Delete a network security perimeter profile. - - :example: Delete a network security perimeter profile - az network perimeter profile delete -n MyProfile --perimeter-name MyPerimeter -g MyResourceGroup - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}", "2024-07-01"], - ] - } - - def _handler(self, command_args): - super()._handler(command_args) - self._execute_operations() - return 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.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.profile_name = AAZStrArg( - options=["-n", "--name", "--profile-name"], - help="The name of the NSP profile.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterProfilesDelete(ctx=self.ctx)() - self.post_operations() - - @register_callback - def pre_operations(self): - pass - - @register_callback - def post_operations(self): - pass - - class NetworkSecurityPerimeterProfilesDelete(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) - if session.http_response.status_code in [204]: - return self.on_204(session) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}", - **self.url_parameters - ) - - @property - def method(self): - return "DELETE" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "profileName", self.ctx.args.profile_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - def on_200(self, session): - pass - - def on_204(self, session): - pass - - -class _DeleteHelper: - """Helper class for Delete""" - - -__all__ = ["Delete"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter profile delete", + confirmation="Are you sure you want to perform this operation?", +) +class Delete(AAZCommand): + """Delete a network security perimeter profile. + + :example: Delete a network security perimeter profile + az network perimeter profile delete -n MyProfile --perimeter-name MyPerimeter -g MyResourceGroup + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}", "2024-10-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return 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.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.profile_name = AAZStrArg( + options=["-n", "--name", "--profile-name"], + help="The name of the NSP profile.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterProfilesDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkSecurityPerimeterProfilesDelete(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) + if session.http_response.status_code in [204]: + return self.on_204(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "profileName", self.ctx.args.profile_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_list.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_list.py index 807d38856be..cdc80e411ea 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_list.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_list.py @@ -1,242 +1,242 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from azure.cli.core.aaz import * - - -@register_command( - "network perimeter profile list", -) -class List(AAZCommand): - """List all network security perimeter profiles. - - :example: List all network security perimeter profiles - az network perimeter profile list --perimeter-name MyPerimeter -g MyResourceGroup - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles", "2024-07-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.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - _args_schema.skip_token = AAZStrArg( - options=["--skip-token"], - help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", - ) - _args_schema.top = AAZIntArg( - options=["--top"], - help="An optional query parameter which specifies the maximum number of records to be returned by the server.", - fmt=AAZIntArgFormat( - maximum=20, - minimum=1, - ), - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterProfilesList(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 NetworkSecurityPerimeterProfilesList(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_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( - "$skipToken", self.ctx.args.skip_token, - ), - **self.serialize_query_param( - "$top", self.ctx.args.top, - ), - **self.serialize_query_param( - "api-version", "2024-07-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", - ) - _schema_on_200.value = AAZListType() - - value = cls._schema_on_200.value - value.Element = AAZObjectType() - - _element = cls._schema_on_200.value.Element - _element.id = AAZStrType( - flags={"read_only": True}, - ) - _element.name = AAZStrType( - flags={"read_only": True}, - ) - _element.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _element.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _element.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.value.Element.properties - properties.access_rules_version = AAZStrType( - serialized_name="accessRulesVersion", - flags={"read_only": True}, - ) - properties.diagnostic_settings_version = AAZStrType( - serialized_name="diagnosticSettingsVersion", - flags={"read_only": True}, - ) - - system_data = cls._schema_on_200.value.Element.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _ListHelper: - """Helper class for List""" - - -__all__ = ["List"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter profile list", +) +class List(AAZCommand): + """List all network security perimeter profiles. + + :example: List all network security perimeter profiles + az network perimeter profile list --perimeter-name MyPerimeter -g MyResourceGroup + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles", "2024-10-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.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.skip_token = AAZStrArg( + options=["--skip-token"], + help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + ) + _args_schema.top = AAZIntArg( + options=["--top"], + help="An optional query parameter which specifies the maximum number of records to be returned by the server.", + fmt=AAZIntArgFormat( + maximum=20, + minimum=1, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterProfilesList(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 NetworkSecurityPerimeterProfilesList(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_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( + "$skipToken", self.ctx.args.skip_token, + ), + **self.serialize_query_param( + "$top", self.ctx.args.top, + ), + **self.serialize_query_param( + "api-version", "2024-10-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", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.access_rules_version = AAZStrType( + serialized_name="accessRulesVersion", + flags={"read_only": True}, + ) + properties.diagnostic_settings_version = AAZStrType( + serialized_name="diagnosticSettingsVersion", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_show.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_show.py index bbf94be88e7..2edefeb5c23 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_show.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/_show.py @@ -1,228 +1,228 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter profile show", -) -class Show(AAZCommand): - """Get a network security perimeter profile. - - :example: Get a network security perimeter profile - az network perimeter profile show --perimeter-name MyPerimeter -g MyResourceGroup -n MyProfile - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}", "2024-07-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.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.profile_name = AAZStrArg( - options=["-n", "--name", "--profile-name"], - help="The name of the NSP profile.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterProfilesGet(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 NetworkSecurityPerimeterProfilesGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "profileName", self.ctx.args.profile_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - def on_200(self, session): - data = self.deserialize_http_content(session) - self.ctx.set_var( - "instance", - data, - schema_builder=self._build_schema_on_200 - ) - - _schema_on_200 = None - - @classmethod - def _build_schema_on_200(cls): - if cls._schema_on_200 is not None: - return cls._schema_on_200 - - cls._schema_on_200 = AAZObjectType() - - _schema_on_200 = cls._schema_on_200 - _schema_on_200.id = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.properties - properties.access_rules_version = AAZStrType( - serialized_name="accessRulesVersion", - flags={"read_only": True}, - ) - properties.diagnostic_settings_version = AAZStrType( - serialized_name="diagnosticSettingsVersion", - flags={"read_only": True}, - ) - - system_data = cls._schema_on_200.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _ShowHelper: - """Helper class for Show""" - - -__all__ = ["Show"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter profile show", +) +class Show(AAZCommand): + """Get a network security perimeter profile. + + :example: Get a network security perimeter profile + az network perimeter profile show --perimeter-name MyPerimeter -g MyResourceGroup -n MyProfile + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}", "2024-10-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.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.profile_name = AAZStrArg( + options=["-n", "--name", "--profile-name"], + help="The name of the NSP profile.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterProfilesGet(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 NetworkSecurityPerimeterProfilesGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "profileName", self.ctx.args.profile_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.access_rules_version = AAZStrType( + serialized_name="accessRulesVersion", + flags={"read_only": True}, + ) + properties.diagnostic_settings_version = AAZStrType( + serialized_name="diagnosticSettingsVersion", + flags={"read_only": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/__cmd_group.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/__cmd_group.py index 76451b58154..7e3ce3498d8 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/__cmd_group.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/__cmd_group.py @@ -1,23 +1,23 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from azure.cli.core.aaz import * - - -@register_command_group( - "network perimeter profile access-rule", -) -class __CMDGroup(AAZCommandGroup): - """Manage Network Security Perimeter Profile Access Rules. - """ - pass - - -__all__ = ["__CMDGroup"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter profile access-rule", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Security Perimeter Profile Access Rules. + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/__init__.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/__init__.py index 1f78565855b..c401f439385 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/__init__.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/__init__.py @@ -1,16 +1,16 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -# Code generated by aaz-dev-tools -# -------------------------------------------------------------------------------------------- - -# pylint: skip-file -# flake8: noqa - -from .__cmd_group import * -from ._create import * -from ._delete import * -from ._list import * -from ._show import * -from ._update import * +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._update import * diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_create.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_create.py index 64820875fb6..78f3e27fe66 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_create.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_create.py @@ -1,420 +1,420 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter profile access-rule create", -) -class Create(AAZCommand): - """Create a network security perimeter profile access rule. - - :example: Create IP based access rule - az network perimeter profile access-rule create -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --address-prefixes "[10.10.0.0/16]" - - :example: Create NSP based access rule - az network perimeter profile access-rule create -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --nsp "[{id:}]" - - :example: Create FQDN based access rule - az network perimeter profile access-rule create -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --fqdn "['www.abc.com', 'www.google.com']" --direction "Outbound" - - :example: Create Subscription based access rule - az network perimeter profile access-rule create -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --subscriptions [0].id="" [1].id="" - - :example: Create ServiceTags based access rule - az network perimeter profile access-rule create -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --service-tags [st1,st2] - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}/accessrules/{}", "2024-07-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.access_rule_name = AAZStrArg( - options=["-n", "--name", "--access-rule-name"], - help="The name of the NSP access rule.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.profile_name = AAZStrArg( - options=["--profile-name"], - help="The name of the NSP profile.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - - # define Arg Group "Properties" - - _args_schema = cls._args_schema - _args_schema.address_prefixes = AAZListArg( - options=["--address-prefixes"], - arg_group="Properties", - help="Inbound address prefixes (IPv4/IPv6)", - ) - _args_schema.direction = AAZStrArg( - options=["--direction"], - arg_group="Properties", - help="Direction that specifies whether the access rules is inbound/outbound.", - enum={"Inbound": "Inbound", "Outbound": "Outbound"}, - ) - _args_schema.email_addresses = AAZListArg( - options=["--email-addresses"], - arg_group="Properties", - help="Outbound rules in email address format. This access rule type is currently unavailable for use", - ) - _args_schema.fqdn = AAZListArg( - options=["--fqdn"], - arg_group="Properties", - help="Outbound rules in fully qualified domain name format.", - ) - _args_schema.phone_numbers = AAZListArg( - options=["--phone-numbers"], - arg_group="Properties", - help="Outbound rules in phone number format. This access rule type is currently unavailable for use", - ) - _args_schema.service_tags = AAZListArg( - options=["--service-tags"], - arg_group="Properties", - help="Inbound rules of type service tag. This access rule type is currently unavailable for use.", - ) - _args_schema.subscriptions = AAZListArg( - options=["--subscriptions"], - arg_group="Properties", - help="Subscription id in the ARM id format.", - ) - - address_prefixes = cls._args_schema.address_prefixes - address_prefixes.Element = AAZStrArg() - - email_addresses = cls._args_schema.email_addresses - email_addresses.Element = AAZStrArg() - - fqdn = cls._args_schema.fqdn - fqdn.Element = AAZStrArg() - - phone_numbers = cls._args_schema.phone_numbers - phone_numbers.Element = AAZStrArg() - - service_tags = cls._args_schema.service_tags - service_tags.Element = AAZStrArg() - - subscriptions = cls._args_schema.subscriptions - subscriptions.Element = AAZObjectArg() - - _element = cls._args_schema.subscriptions.Element - _element.id = AAZResourceIdArg( - options=["id"], - help="Subscription ID in the ARM ID fromat.", - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterAccessRulesCreateOrUpdate(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 NetworkSecurityPerimeterAccessRulesCreateOrUpdate(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, 201]: - return self.on_200_201(session) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", - **self.url_parameters - ) - - @property - def method(self): - return "PUT" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "accessRuleName", self.ctx.args.access_rule_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "profileName", self.ctx.args.profile_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Content-Type", "application/json", - ), - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - @property - def content(self): - _content_value, _builder = self.new_content_builder( - self.ctx.args, - typ=AAZObjectType, - typ_kwargs={"flags": {"required": True, "client_flatten": True}} - ) - _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) - - properties = _builder.get(".properties") - if properties is not None: - properties.set_prop("addressPrefixes", AAZListType, ".address_prefixes") - properties.set_prop("direction", AAZStrType, ".direction") - properties.set_prop("emailAddresses", AAZListType, ".email_addresses") - properties.set_prop("fullyQualifiedDomainNames", AAZListType, ".fqdn") - properties.set_prop("phoneNumbers", AAZListType, ".phone_numbers") - properties.set_prop("serviceTags", AAZListType, ".service_tags") - properties.set_prop("subscriptions", AAZListType, ".subscriptions") - - address_prefixes = _builder.get(".properties.addressPrefixes") - if address_prefixes is not None: - address_prefixes.set_elements(AAZStrType, ".") - - email_addresses = _builder.get(".properties.emailAddresses") - if email_addresses is not None: - email_addresses.set_elements(AAZStrType, ".") - - fully_qualified_domain_names = _builder.get(".properties.fullyQualifiedDomainNames") - if fully_qualified_domain_names is not None: - fully_qualified_domain_names.set_elements(AAZStrType, ".") - - phone_numbers = _builder.get(".properties.phoneNumbers") - if phone_numbers is not None: - phone_numbers.set_elements(AAZStrType, ".") - - service_tags = _builder.get(".properties.serviceTags") - if service_tags is not None: - service_tags.set_elements(AAZStrType, ".") - - subscriptions = _builder.get(".properties.subscriptions") - if subscriptions is not None: - subscriptions.set_elements(AAZObjectType, ".") - - _elements = _builder.get(".properties.subscriptions[]") - if _elements is not None: - _elements.set_prop("id", AAZStrType, ".id") - - 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={"client_flatten": True}, - ) - _schema_on_200_201.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200_201.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200_201.properties - properties.address_prefixes = AAZListType( - serialized_name="addressPrefixes", - ) - properties.direction = AAZStrType() - properties.email_addresses = AAZListType( - serialized_name="emailAddresses", - ) - properties.fully_qualified_domain_names = AAZListType( - serialized_name="fullyQualifiedDomainNames", - ) - properties.network_security_perimeters = AAZListType( - serialized_name="networkSecurityPerimeters", - flags={"read_only": True}, - ) - properties.phone_numbers = AAZListType( - serialized_name="phoneNumbers", - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.service_tags = AAZListType( - serialized_name="serviceTags", - ) - properties.subscriptions = AAZListType() - - address_prefixes = cls._schema_on_200_201.properties.address_prefixes - address_prefixes.Element = AAZStrType() - - email_addresses = cls._schema_on_200_201.properties.email_addresses - email_addresses.Element = AAZStrType() - - fully_qualified_domain_names = cls._schema_on_200_201.properties.fully_qualified_domain_names - fully_qualified_domain_names.Element = AAZStrType() - - network_security_perimeters = cls._schema_on_200_201.properties.network_security_perimeters - network_security_perimeters.Element = AAZObjectType() - - _element = cls._schema_on_200_201.properties.network_security_perimeters.Element - _element.id = AAZStrType( - flags={"read_only": True}, - ) - _element.location = AAZStrType( - flags={"read_only": True}, - ) - _element.perimeter_guid = AAZStrType( - serialized_name="perimeterGuid", - flags={"read_only": True}, - ) - - phone_numbers = cls._schema_on_200_201.properties.phone_numbers - phone_numbers.Element = AAZStrType() - - service_tags = cls._schema_on_200_201.properties.service_tags - service_tags.Element = AAZStrType() - - subscriptions = cls._schema_on_200_201.properties.subscriptions - subscriptions.Element = AAZObjectType() - - _element = cls._schema_on_200_201.properties.subscriptions.Element - _element.id = AAZStrType() - - system_data = cls._schema_on_200_201.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200_201 - - -class _CreateHelper: - """Helper class for Create""" - - -__all__ = ["Create"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter profile access-rule create", +) +class Create(AAZCommand): + """Create a network security perimeter profile access rule. + + :example: Create IP based access rule + az network perimeter profile access-rule create -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --address-prefixes "[10.10.0.0/16]" + + :example: Create NSP based access rule + az network perimeter profile access-rule create -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --nsp "[{id:}]" + + :example: Create FQDN based access rule + az network perimeter profile access-rule create -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --fqdn "['www.abc.com', 'www.google.com']" --direction "Outbound" + + :example: Create Subscription based access rule + az network perimeter profile access-rule create -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --subscriptions [0].id="" [1].id="" + + :example: Create ServiceTags based access rule + az network perimeter profile access-rule create -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --service-tags [st1,st2] + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}/accessrules/{}", "2024-10-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.access_rule_name = AAZStrArg( + options=["-n", "--name", "--access-rule-name"], + help="The name of the NSP access rule.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.profile_name = AAZStrArg( + options=["--profile-name"], + help="The name of the NSP profile.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.address_prefixes = AAZListArg( + options=["--address-prefixes"], + arg_group="Properties", + help="Inbound address prefixes (IPv4/IPv6)", + ) + _args_schema.direction = AAZStrArg( + options=["--direction"], + arg_group="Properties", + help="Direction that specifies whether the access rules is inbound/outbound.", + enum={"Inbound": "Inbound", "Outbound": "Outbound"}, + ) + _args_schema.email_addresses = AAZListArg( + options=["--email-addresses"], + arg_group="Properties", + help="Outbound rules in email address format. This access rule type is currently unavailable for use", + ) + _args_schema.fqdn = AAZListArg( + options=["--fqdn"], + arg_group="Properties", + help="Outbound rules in fully qualified domain name format.", + ) + _args_schema.phone_numbers = AAZListArg( + options=["--phone-numbers"], + arg_group="Properties", + help="Outbound rules in phone number format. This access rule type is currently unavailable for use", + ) + _args_schema.service_tags = AAZListArg( + options=["--service-tags"], + arg_group="Properties", + help="Inbound rules of type service tag. This access rule type is currently unavailable for use.", + ) + _args_schema.subscriptions = AAZListArg( + options=["--subscriptions"], + arg_group="Properties", + help="Subscription id in the ARM id format.", + ) + + address_prefixes = cls._args_schema.address_prefixes + address_prefixes.Element = AAZStrArg() + + email_addresses = cls._args_schema.email_addresses + email_addresses.Element = AAZStrArg() + + fqdn = cls._args_schema.fqdn + fqdn.Element = AAZStrArg() + + phone_numbers = cls._args_schema.phone_numbers + phone_numbers.Element = AAZStrArg() + + service_tags = cls._args_schema.service_tags + service_tags.Element = AAZStrArg() + + subscriptions = cls._args_schema.subscriptions + subscriptions.Element = AAZObjectArg() + + _element = cls._args_schema.subscriptions.Element + _element.id = AAZResourceIdArg( + options=["id"], + help="Subscription ID in the ARM ID fromat.", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterAccessRulesCreateOrUpdate(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 NetworkSecurityPerimeterAccessRulesCreateOrUpdate(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, 201]: + return self.on_200_201(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accessRuleName", self.ctx.args.access_rule_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "profileName", self.ctx.args.profile_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("addressPrefixes", AAZListType, ".address_prefixes") + properties.set_prop("direction", AAZStrType, ".direction") + properties.set_prop("emailAddresses", AAZListType, ".email_addresses") + properties.set_prop("fullyQualifiedDomainNames", AAZListType, ".fqdn") + properties.set_prop("phoneNumbers", AAZListType, ".phone_numbers") + properties.set_prop("serviceTags", AAZListType, ".service_tags") + properties.set_prop("subscriptions", AAZListType, ".subscriptions") + + address_prefixes = _builder.get(".properties.addressPrefixes") + if address_prefixes is not None: + address_prefixes.set_elements(AAZStrType, ".") + + email_addresses = _builder.get(".properties.emailAddresses") + if email_addresses is not None: + email_addresses.set_elements(AAZStrType, ".") + + fully_qualified_domain_names = _builder.get(".properties.fullyQualifiedDomainNames") + if fully_qualified_domain_names is not None: + fully_qualified_domain_names.set_elements(AAZStrType, ".") + + phone_numbers = _builder.get(".properties.phoneNumbers") + if phone_numbers is not None: + phone_numbers.set_elements(AAZStrType, ".") + + service_tags = _builder.get(".properties.serviceTags") + if service_tags is not None: + service_tags.set_elements(AAZStrType, ".") + + subscriptions = _builder.get(".properties.subscriptions") + if subscriptions is not None: + subscriptions.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.subscriptions[]") + if _elements is not None: + _elements.set_prop("id", AAZStrType, ".id") + + 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={"client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.address_prefixes = AAZListType( + serialized_name="addressPrefixes", + ) + properties.direction = AAZStrType() + properties.email_addresses = AAZListType( + serialized_name="emailAddresses", + ) + properties.fully_qualified_domain_names = AAZListType( + serialized_name="fullyQualifiedDomainNames", + ) + properties.network_security_perimeters = AAZListType( + serialized_name="networkSecurityPerimeters", + flags={"read_only": True}, + ) + properties.phone_numbers = AAZListType( + serialized_name="phoneNumbers", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.service_tags = AAZListType( + serialized_name="serviceTags", + ) + properties.subscriptions = AAZListType() + + address_prefixes = cls._schema_on_200_201.properties.address_prefixes + address_prefixes.Element = AAZStrType() + + email_addresses = cls._schema_on_200_201.properties.email_addresses + email_addresses.Element = AAZStrType() + + fully_qualified_domain_names = cls._schema_on_200_201.properties.fully_qualified_domain_names + fully_qualified_domain_names.Element = AAZStrType() + + network_security_perimeters = cls._schema_on_200_201.properties.network_security_perimeters + network_security_perimeters.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.network_security_perimeters.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"read_only": True}, + ) + _element.perimeter_guid = AAZStrType( + serialized_name="perimeterGuid", + flags={"read_only": True}, + ) + + phone_numbers = cls._schema_on_200_201.properties.phone_numbers + phone_numbers.Element = AAZStrType() + + service_tags = cls._schema_on_200_201.properties.service_tags + service_tags.Element = AAZStrType() + + subscriptions = cls._schema_on_200_201.properties.subscriptions + subscriptions.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.subscriptions.Element + _element.id = AAZStrType() + + system_data = cls._schema_on_200_201.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_delete.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_delete.py index c3b49a0e877..3dfca1456a6 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_delete.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_delete.py @@ -1,171 +1,171 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter profile access-rule delete", - confirmation="Are you sure you want to perform this operation?", -) -class Delete(AAZCommand): - """Delete a network security perimeter profile access rule. - - :example: Delete a network security perimeter profile access rule - az network perimeter profile access-rule delete -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}/accessrules/{}", "2024-07-01"], - ] - } - - def _handler(self, command_args): - super()._handler(command_args) - self._execute_operations() - return 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.access_rule_name = AAZStrArg( - options=["-n", "--name", "--access-rule-name"], - help="The name of the NSP access rule.", - required=True, - id_part="child_name_2", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.profile_name = AAZStrArg( - options=["--profile-name"], - help="The name of the NSP profile.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterAccessRulesDelete(ctx=self.ctx)() - self.post_operations() - - @register_callback - def pre_operations(self): - pass - - @register_callback - def post_operations(self): - pass - - class NetworkSecurityPerimeterAccessRulesDelete(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) - if session.http_response.status_code in [204]: - return self.on_204(session) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", - **self.url_parameters - ) - - @property - def method(self): - return "DELETE" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "accessRuleName", self.ctx.args.access_rule_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "profileName", self.ctx.args.profile_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - def on_200(self, session): - pass - - def on_204(self, session): - pass - - -class _DeleteHelper: - """Helper class for Delete""" - - -__all__ = ["Delete"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter profile access-rule delete", + confirmation="Are you sure you want to perform this operation?", +) +class Delete(AAZCommand): + """Delete a network security perimeter profile access rule. + + :example: Delete a network security perimeter profile access rule + az network perimeter profile access-rule delete -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}/accessrules/{}", "2024-10-01"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return 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.access_rule_name = AAZStrArg( + options=["-n", "--name", "--access-rule-name"], + help="The name of the NSP access rule.", + required=True, + id_part="child_name_2", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.profile_name = AAZStrArg( + options=["--profile-name"], + help="The name of the NSP profile.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterAccessRulesDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkSecurityPerimeterAccessRulesDelete(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) + if session.http_response.status_code in [204]: + return self.on_204(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accessRuleName", self.ctx.args.access_rule_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "profileName", self.ctx.args.profile_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_list.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_list.py index 2c0ce298711..c47e84fd8da 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_list.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_list.py @@ -1,308 +1,308 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter profile access-rule list", -) -class List(AAZCommand): - """List all network security perimeter profile access rules. - - :example: List all network security perimeter profile access rules - az network perimeter profile access-rule list --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}/accessrules", "2024-07-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.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.profile_name = AAZStrArg( - options=["--profile-name"], - help="The name of the NSP profile.", - required=True, - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - _args_schema.skip_token = AAZStrArg( - options=["--skip-token"], - help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", - ) - _args_schema.top = AAZIntArg( - options=["--top"], - help="An optional query parameter which specifies the maximum number of records to be returned by the server.", - fmt=AAZIntArgFormat( - maximum=20, - minimum=1, - ), - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterAccessRulesList(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 NetworkSecurityPerimeterAccessRulesList(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "profileName", self.ctx.args.profile_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( - "$skipToken", self.ctx.args.skip_token, - ), - **self.serialize_query_param( - "$top", self.ctx.args.top, - ), - **self.serialize_query_param( - "api-version", "2024-07-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", - ) - _schema_on_200.value = AAZListType() - - value = cls._schema_on_200.value - value.Element = AAZObjectType() - - _element = cls._schema_on_200.value.Element - _element.id = AAZStrType( - flags={"read_only": True}, - ) - _element.name = AAZStrType( - flags={"read_only": True}, - ) - _element.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _element.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _element.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.value.Element.properties - properties.address_prefixes = AAZListType( - serialized_name="addressPrefixes", - ) - properties.direction = AAZStrType() - properties.email_addresses = AAZListType( - serialized_name="emailAddresses", - ) - properties.fully_qualified_domain_names = AAZListType( - serialized_name="fullyQualifiedDomainNames", - ) - properties.network_security_perimeters = AAZListType( - serialized_name="networkSecurityPerimeters", - flags={"read_only": True}, - ) - properties.phone_numbers = AAZListType( - serialized_name="phoneNumbers", - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.service_tags = AAZListType( - serialized_name="serviceTags", - ) - properties.subscriptions = AAZListType() - - address_prefixes = cls._schema_on_200.value.Element.properties.address_prefixes - address_prefixes.Element = AAZStrType() - - email_addresses = cls._schema_on_200.value.Element.properties.email_addresses - email_addresses.Element = AAZStrType() - - fully_qualified_domain_names = cls._schema_on_200.value.Element.properties.fully_qualified_domain_names - fully_qualified_domain_names.Element = AAZStrType() - - network_security_perimeters = cls._schema_on_200.value.Element.properties.network_security_perimeters - network_security_perimeters.Element = AAZObjectType() - - _element = cls._schema_on_200.value.Element.properties.network_security_perimeters.Element - _element.id = AAZStrType( - flags={"read_only": True}, - ) - _element.location = AAZStrType( - flags={"read_only": True}, - ) - _element.perimeter_guid = AAZStrType( - serialized_name="perimeterGuid", - flags={"read_only": True}, - ) - - phone_numbers = cls._schema_on_200.value.Element.properties.phone_numbers - phone_numbers.Element = AAZStrType() - - service_tags = cls._schema_on_200.value.Element.properties.service_tags - service_tags.Element = AAZStrType() - - subscriptions = cls._schema_on_200.value.Element.properties.subscriptions - subscriptions.Element = AAZObjectType() - - _element = cls._schema_on_200.value.Element.properties.subscriptions.Element - _element.id = AAZStrType() - - system_data = cls._schema_on_200.value.Element.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _ListHelper: - """Helper class for List""" - - -__all__ = ["List"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter profile access-rule list", +) +class List(AAZCommand): + """List all network security perimeter profile access rules. + + :example: List all network security perimeter profile access rules + az network perimeter profile access-rule list --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}/accessrules", "2024-10-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.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.profile_name = AAZStrArg( + options=["--profile-name"], + help="The name of the NSP profile.", + required=True, + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.skip_token = AAZStrArg( + options=["--skip-token"], + help="SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + ) + _args_schema.top = AAZIntArg( + options=["--top"], + help="An optional query parameter which specifies the maximum number of records to be returned by the server.", + fmt=AAZIntArgFormat( + maximum=20, + minimum=1, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterAccessRulesList(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 NetworkSecurityPerimeterAccessRulesList(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "profileName", self.ctx.args.profile_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( + "$skipToken", self.ctx.args.skip_token, + ), + **self.serialize_query_param( + "$top", self.ctx.args.top, + ), + **self.serialize_query_param( + "api-version", "2024-10-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", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.address_prefixes = AAZListType( + serialized_name="addressPrefixes", + ) + properties.direction = AAZStrType() + properties.email_addresses = AAZListType( + serialized_name="emailAddresses", + ) + properties.fully_qualified_domain_names = AAZListType( + serialized_name="fullyQualifiedDomainNames", + ) + properties.network_security_perimeters = AAZListType( + serialized_name="networkSecurityPerimeters", + flags={"read_only": True}, + ) + properties.phone_numbers = AAZListType( + serialized_name="phoneNumbers", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.service_tags = AAZListType( + serialized_name="serviceTags", + ) + properties.subscriptions = AAZListType() + + address_prefixes = cls._schema_on_200.value.Element.properties.address_prefixes + address_prefixes.Element = AAZStrType() + + email_addresses = cls._schema_on_200.value.Element.properties.email_addresses + email_addresses.Element = AAZStrType() + + fully_qualified_domain_names = cls._schema_on_200.value.Element.properties.fully_qualified_domain_names + fully_qualified_domain_names.Element = AAZStrType() + + network_security_perimeters = cls._schema_on_200.value.Element.properties.network_security_perimeters + network_security_perimeters.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.network_security_perimeters.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"read_only": True}, + ) + _element.perimeter_guid = AAZStrType( + serialized_name="perimeterGuid", + flags={"read_only": True}, + ) + + phone_numbers = cls._schema_on_200.value.Element.properties.phone_numbers + phone_numbers.Element = AAZStrType() + + service_tags = cls._schema_on_200.value.Element.properties.service_tags + service_tags.Element = AAZStrType() + + subscriptions = cls._schema_on_200.value.Element.properties.subscriptions + subscriptions.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.subscriptions.Element + _element.id = AAZStrType() + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_show.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_show.py index 91e7bbe12f8..994edf9d535 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_show.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_show.py @@ -1,295 +1,295 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter profile access-rule show", -) -class Show(AAZCommand): - """Get a network security perimeter profile access rule. - - :example: Get a network security perimeter profile access rule - az network perimeter profile access-rule show -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}/accessrules/{}", "2024-07-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.access_rule_name = AAZStrArg( - options=["-n", "--name", "--access-rule-name"], - help="The name of the NSP access rule.", - required=True, - id_part="child_name_2", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.profile_name = AAZStrArg( - options=["--profile-name"], - help="The name of the NSP profile.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterAccessRulesGet(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 NetworkSecurityPerimeterAccessRulesGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "accessRuleName", self.ctx.args.access_rule_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "profileName", self.ctx.args.profile_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-01", - required=True, - ), - } - return parameters - - @property - def header_parameters(self): - parameters = { - **self.serialize_header_param( - "Accept", "application/json", - ), - } - return parameters - - def on_200(self, session): - data = self.deserialize_http_content(session) - self.ctx.set_var( - "instance", - data, - schema_builder=self._build_schema_on_200 - ) - - _schema_on_200 = None - - @classmethod - def _build_schema_on_200(cls): - if cls._schema_on_200 is not None: - return cls._schema_on_200 - - cls._schema_on_200 = AAZObjectType() - - _schema_on_200 = cls._schema_on_200 - _schema_on_200.id = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.name = AAZStrType( - flags={"read_only": True}, - ) - _schema_on_200.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - _schema_on_200.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - _schema_on_200.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = cls._schema_on_200.properties - properties.address_prefixes = AAZListType( - serialized_name="addressPrefixes", - ) - properties.direction = AAZStrType() - properties.email_addresses = AAZListType( - serialized_name="emailAddresses", - ) - properties.fully_qualified_domain_names = AAZListType( - serialized_name="fullyQualifiedDomainNames", - ) - properties.network_security_perimeters = AAZListType( - serialized_name="networkSecurityPerimeters", - flags={"read_only": True}, - ) - properties.phone_numbers = AAZListType( - serialized_name="phoneNumbers", - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.service_tags = AAZListType( - serialized_name="serviceTags", - ) - properties.subscriptions = AAZListType() - - address_prefixes = cls._schema_on_200.properties.address_prefixes - address_prefixes.Element = AAZStrType() - - email_addresses = cls._schema_on_200.properties.email_addresses - email_addresses.Element = AAZStrType() - - fully_qualified_domain_names = cls._schema_on_200.properties.fully_qualified_domain_names - fully_qualified_domain_names.Element = AAZStrType() - - network_security_perimeters = cls._schema_on_200.properties.network_security_perimeters - network_security_perimeters.Element = AAZObjectType() - - _element = cls._schema_on_200.properties.network_security_perimeters.Element - _element.id = AAZStrType( - flags={"read_only": True}, - ) - _element.location = AAZStrType( - flags={"read_only": True}, - ) - _element.perimeter_guid = AAZStrType( - serialized_name="perimeterGuid", - flags={"read_only": True}, - ) - - phone_numbers = cls._schema_on_200.properties.phone_numbers - phone_numbers.Element = AAZStrType() - - service_tags = cls._schema_on_200.properties.service_tags - service_tags.Element = AAZStrType() - - subscriptions = cls._schema_on_200.properties.subscriptions - subscriptions.Element = AAZObjectType() - - _element = cls._schema_on_200.properties.subscriptions.Element - _element.id = AAZStrType() - - system_data = cls._schema_on_200.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - return cls._schema_on_200 - - -class _ShowHelper: - """Helper class for Show""" - - -__all__ = ["Show"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter profile access-rule show", +) +class Show(AAZCommand): + """Get a network security perimeter profile access rule. + + :example: Get a network security perimeter profile access rule + az network perimeter profile access-rule show -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}/accessrules/{}", "2024-10-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.access_rule_name = AAZStrArg( + options=["-n", "--name", "--access-rule-name"], + help="The name of the NSP access rule.", + required=True, + id_part="child_name_2", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.profile_name = AAZStrArg( + options=["--profile-name"], + help="The name of the NSP profile.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterAccessRulesGet(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 NetworkSecurityPerimeterAccessRulesGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accessRuleName", self.ctx.args.access_rule_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "profileName", self.ctx.args.profile_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-01", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.address_prefixes = AAZListType( + serialized_name="addressPrefixes", + ) + properties.direction = AAZStrType() + properties.email_addresses = AAZListType( + serialized_name="emailAddresses", + ) + properties.fully_qualified_domain_names = AAZListType( + serialized_name="fullyQualifiedDomainNames", + ) + properties.network_security_perimeters = AAZListType( + serialized_name="networkSecurityPerimeters", + flags={"read_only": True}, + ) + properties.phone_numbers = AAZListType( + serialized_name="phoneNumbers", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.service_tags = AAZListType( + serialized_name="serviceTags", + ) + properties.subscriptions = AAZListType() + + address_prefixes = cls._schema_on_200.properties.address_prefixes + address_prefixes.Element = AAZStrType() + + email_addresses = cls._schema_on_200.properties.email_addresses + email_addresses.Element = AAZStrType() + + fully_qualified_domain_names = cls._schema_on_200.properties.fully_qualified_domain_names + fully_qualified_domain_names.Element = AAZStrType() + + network_security_perimeters = cls._schema_on_200.properties.network_security_perimeters + network_security_perimeters.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.network_security_perimeters.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"read_only": True}, + ) + _element.perimeter_guid = AAZStrType( + serialized_name="perimeterGuid", + flags={"read_only": True}, + ) + + phone_numbers = cls._schema_on_200.properties.phone_numbers + phone_numbers.Element = AAZStrType() + + service_tags = cls._schema_on_200.properties.service_tags + service_tags.Element = AAZStrType() + + subscriptions = cls._schema_on_200.properties.subscriptions + subscriptions.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.subscriptions.Element + _element.id = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_update.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_update.py index 901c780bb7d..82702aaf810 100644 --- a/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_update.py +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/profile/access_rule/_update.py @@ -1,579 +1,579 @@ -# -------------------------------------------------------------------------------------------- -# 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( - "network perimeter profile access-rule update", -) -class Update(AAZCommand): - """Create or update a network security perimeter profile access rule. - - :example: Update a network security perimeter profile access rule - az network perimeter profile access-rule update -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --address-prefixes "[10.10.0.0/16]" - """ - - _aaz_info = { - "version": "2024-07-01", - "resources": [ - ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}/accessrules/{}", "2024-07-01"], - ] - } - - AZ_SUPPORT_GENERIC_UPDATE = True - - def _handler(self, command_args): - super()._handler(command_args) - self._execute_operations() - return self._output() - - _args_schema = None - - @classmethod - def _build_arguments_schema(cls, *args, **kwargs): - if cls._args_schema is not None: - return cls._args_schema - cls._args_schema = super()._build_arguments_schema(*args, **kwargs) - - # define Arg Group "" - - _args_schema = cls._args_schema - _args_schema.access_rule_name = AAZStrArg( - options=["-n", "--name", "--access-rule-name"], - help="The name of the NSP access rule.", - required=True, - id_part="child_name_2", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.perimeter_name = AAZStrArg( - options=["--perimeter-name"], - help="The name of the network security perimeter.", - required=True, - id_part="name", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.profile_name = AAZStrArg( - options=["--profile-name"], - help="The name of the NSP profile.", - required=True, - id_part="child_name_1", - fmt=AAZStrArgFormat( - pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", - max_length=80, - ), - ) - _args_schema.resource_group = AAZResourceGroupNameArg( - required=True, - ) - - # define Arg Group "Properties" - - _args_schema = cls._args_schema - _args_schema.address_prefixes = AAZListArg( - options=["--address-prefixes"], - arg_group="Properties", - help="Inbound address prefixes (IPv4/IPv6)", - nullable=True, - ) - _args_schema.direction = AAZStrArg( - options=["--direction"], - arg_group="Properties", - help="Direction that specifies whether the access rules is inbound/outbound.", - nullable=True, - enum={"Inbound": "Inbound", "Outbound": "Outbound"}, - ) - _args_schema.email_addresses = AAZListArg( - options=["--email-addresses"], - arg_group="Properties", - help="Outbound rules in email address format. This access rule type is currently unavailable for use", - nullable=True, - ) - _args_schema.fqdn = AAZListArg( - options=["--fqdn"], - arg_group="Properties", - help="Outbound rules in fully qualified domain name format.", - nullable=True, - ) - _args_schema.phone_numbers = AAZListArg( - options=["--phone-numbers"], - arg_group="Properties", - help="Outbound rules in phone number format. This access rule type is currently unavailable for use", - nullable=True, - ) - _args_schema.service_tags = AAZListArg( - options=["--service-tags"], - arg_group="Properties", - help="Inbound rules of type service tag. This access rule type is currently unavailable for use.", - nullable=True, - ) - _args_schema.subscriptions = AAZListArg( - options=["--subscriptions"], - arg_group="Properties", - help="Subscription id in the ARM id format.", - nullable=True, - ) - - address_prefixes = cls._args_schema.address_prefixes - address_prefixes.Element = AAZStrArg( - nullable=True, - ) - - email_addresses = cls._args_schema.email_addresses - email_addresses.Element = AAZStrArg( - nullable=True, - ) - - fqdn = cls._args_schema.fqdn - fqdn.Element = AAZStrArg( - nullable=True, - ) - - phone_numbers = cls._args_schema.phone_numbers - phone_numbers.Element = AAZStrArg( - nullable=True, - ) - - service_tags = cls._args_schema.service_tags - service_tags.Element = AAZStrArg( - nullable=True, - ) - - subscriptions = cls._args_schema.subscriptions - subscriptions.Element = AAZObjectArg( - nullable=True, - ) - - _element = cls._args_schema.subscriptions.Element - _element.id = AAZResourceIdArg( - options=["id"], - help="Subscription ID in the ARM ID fromat.", - nullable=True, - ) - return cls._args_schema - - def _execute_operations(self): - self.pre_operations() - self.NetworkSecurityPerimeterAccessRulesGet(ctx=self.ctx)() - self.pre_instance_update(self.ctx.vars.instance) - self.InstanceUpdateByJson(ctx=self.ctx)() - self.InstanceUpdateByGeneric(ctx=self.ctx)() - self.post_instance_update(self.ctx.vars.instance) - self.NetworkSecurityPerimeterAccessRulesCreateOrUpdate(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 NetworkSecurityPerimeterAccessRulesGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", - **self.url_parameters - ) - - @property - def method(self): - return "GET" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "accessRuleName", self.ctx.args.access_rule_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "profileName", self.ctx.args.profile_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-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_nsp_access_rule_read(cls._schema_on_200) - - return cls._schema_on_200 - - class NetworkSecurityPerimeterAccessRulesCreateOrUpdate(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, 201]: - return self.on_200_201(session) - - return self.on_error(session.http_response) - - @property - def url(self): - return self.client.format_url( - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", - **self.url_parameters - ) - - @property - def method(self): - return "PUT" - - @property - def error_format(self): - return "ODataV4Format" - - @property - def url_parameters(self): - parameters = { - **self.serialize_url_param( - "accessRuleName", self.ctx.args.access_rule_name, - required=True, - ), - **self.serialize_url_param( - "networkSecurityPerimeterName", self.ctx.args.perimeter_name, - required=True, - ), - **self.serialize_url_param( - "profileName", self.ctx.args.profile_name, - required=True, - ), - **self.serialize_url_param( - "resourceGroupName", self.ctx.args.resource_group, - required=True, - ), - **self.serialize_url_param( - "subscriptionId", self.ctx.subscription_id, - required=True, - ), - } - return parameters - - @property - def query_parameters(self): - parameters = { - **self.serialize_query_param( - "api-version", "2024-07-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_nsp_access_rule_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": {"client_flatten": True}}) - - properties = _builder.get(".properties") - if properties is not None: - properties.set_prop("addressPrefixes", AAZListType, ".address_prefixes") - properties.set_prop("direction", AAZStrType, ".direction") - properties.set_prop("emailAddresses", AAZListType, ".email_addresses") - properties.set_prop("fullyQualifiedDomainNames", AAZListType, ".fqdn") - properties.set_prop("phoneNumbers", AAZListType, ".phone_numbers") - properties.set_prop("serviceTags", AAZListType, ".service_tags") - properties.set_prop("subscriptions", AAZListType, ".subscriptions") - - address_prefixes = _builder.get(".properties.addressPrefixes") - if address_prefixes is not None: - address_prefixes.set_elements(AAZStrType, ".") - - email_addresses = _builder.get(".properties.emailAddresses") - if email_addresses is not None: - email_addresses.set_elements(AAZStrType, ".") - - fully_qualified_domain_names = _builder.get(".properties.fullyQualifiedDomainNames") - if fully_qualified_domain_names is not None: - fully_qualified_domain_names.set_elements(AAZStrType, ".") - - phone_numbers = _builder.get(".properties.phoneNumbers") - if phone_numbers is not None: - phone_numbers.set_elements(AAZStrType, ".") - - service_tags = _builder.get(".properties.serviceTags") - if service_tags is not None: - service_tags.set_elements(AAZStrType, ".") - - subscriptions = _builder.get(".properties.subscriptions") - if subscriptions is not None: - subscriptions.set_elements(AAZObjectType, ".") - - _elements = _builder.get(".properties.subscriptions[]") - if _elements is not None: - _elements.set_prop("id", AAZStrType, ".id") - - 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_nsp_access_rule_read = None - - @classmethod - def _build_schema_nsp_access_rule_read(cls, _schema): - if cls._schema_nsp_access_rule_read is not None: - _schema.id = cls._schema_nsp_access_rule_read.id - _schema.name = cls._schema_nsp_access_rule_read.name - _schema.properties = cls._schema_nsp_access_rule_read.properties - _schema.system_data = cls._schema_nsp_access_rule_read.system_data - _schema.type = cls._schema_nsp_access_rule_read.type - return - - cls._schema_nsp_access_rule_read = _schema_nsp_access_rule_read = AAZObjectType() - - nsp_access_rule_read = _schema_nsp_access_rule_read - nsp_access_rule_read.id = AAZStrType( - flags={"read_only": True}, - ) - nsp_access_rule_read.name = AAZStrType( - flags={"read_only": True}, - ) - nsp_access_rule_read.properties = AAZObjectType( - flags={"client_flatten": True}, - ) - nsp_access_rule_read.system_data = AAZObjectType( - serialized_name="systemData", - flags={"read_only": True}, - ) - nsp_access_rule_read.type = AAZStrType( - flags={"read_only": True}, - ) - - properties = _schema_nsp_access_rule_read.properties - properties.address_prefixes = AAZListType( - serialized_name="addressPrefixes", - ) - properties.direction = AAZStrType() - properties.email_addresses = AAZListType( - serialized_name="emailAddresses", - ) - properties.fully_qualified_domain_names = AAZListType( - serialized_name="fullyQualifiedDomainNames", - ) - properties.network_security_perimeters = AAZListType( - serialized_name="networkSecurityPerimeters", - flags={"read_only": True}, - ) - properties.phone_numbers = AAZListType( - serialized_name="phoneNumbers", - ) - properties.provisioning_state = AAZStrType( - serialized_name="provisioningState", - flags={"read_only": True}, - ) - properties.service_tags = AAZListType( - serialized_name="serviceTags", - ) - properties.subscriptions = AAZListType() - - address_prefixes = _schema_nsp_access_rule_read.properties.address_prefixes - address_prefixes.Element = AAZStrType() - - email_addresses = _schema_nsp_access_rule_read.properties.email_addresses - email_addresses.Element = AAZStrType() - - fully_qualified_domain_names = _schema_nsp_access_rule_read.properties.fully_qualified_domain_names - fully_qualified_domain_names.Element = AAZStrType() - - network_security_perimeters = _schema_nsp_access_rule_read.properties.network_security_perimeters - network_security_perimeters.Element = AAZObjectType() - - _element = _schema_nsp_access_rule_read.properties.network_security_perimeters.Element - _element.id = AAZStrType( - flags={"read_only": True}, - ) - _element.location = AAZStrType( - flags={"read_only": True}, - ) - _element.perimeter_guid = AAZStrType( - serialized_name="perimeterGuid", - flags={"read_only": True}, - ) - - phone_numbers = _schema_nsp_access_rule_read.properties.phone_numbers - phone_numbers.Element = AAZStrType() - - service_tags = _schema_nsp_access_rule_read.properties.service_tags - service_tags.Element = AAZStrType() - - subscriptions = _schema_nsp_access_rule_read.properties.subscriptions - subscriptions.Element = AAZObjectType() - - _element = _schema_nsp_access_rule_read.properties.subscriptions.Element - _element.id = AAZStrType() - - system_data = _schema_nsp_access_rule_read.system_data - system_data.created_at = AAZStrType( - serialized_name="createdAt", - ) - system_data.created_by = AAZStrType( - serialized_name="createdBy", - ) - system_data.created_by_type = AAZStrType( - serialized_name="createdByType", - ) - system_data.last_modified_at = AAZStrType( - serialized_name="lastModifiedAt", - ) - system_data.last_modified_by = AAZStrType( - serialized_name="lastModifiedBy", - ) - system_data.last_modified_by_type = AAZStrType( - serialized_name="lastModifiedByType", - ) - - _schema.id = cls._schema_nsp_access_rule_read.id - _schema.name = cls._schema_nsp_access_rule_read.name - _schema.properties = cls._schema_nsp_access_rule_read.properties - _schema.system_data = cls._schema_nsp_access_rule_read.system_data - _schema.type = cls._schema_nsp_access_rule_read.type - - -__all__ = ["Update"] +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter profile access-rule update", +) +class Update(AAZCommand): + """Create or update a network security perimeter profile access rule. + + :example: Update a network security perimeter profile access rule + az network perimeter profile access-rule update -n MyAccessRule --profile-name MyProfile --perimeter-name MyPerimeter -g MyResourceGroup --address-prefixes "[10.10.0.0/16]" + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networksecurityperimeters/{}/profiles/{}/accessrules/{}", "2024-10-01"], + ] + } + + AZ_SUPPORT_GENERIC_UPDATE = True + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.access_rule_name = AAZStrArg( + options=["-n", "--name", "--access-rule-name"], + help="The name of the NSP access rule.", + required=True, + id_part="child_name_2", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.perimeter_name = AAZStrArg( + options=["--perimeter-name"], + help="The name of the network security perimeter.", + required=True, + id_part="name", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.profile_name = AAZStrArg( + options=["--profile-name"], + help="The name of the NSP profile.", + required=True, + id_part="child_name_1", + fmt=AAZStrArgFormat( + pattern="(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + max_length=80, + ), + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.address_prefixes = AAZListArg( + options=["--address-prefixes"], + arg_group="Properties", + help="Inbound address prefixes (IPv4/IPv6)", + nullable=True, + ) + _args_schema.direction = AAZStrArg( + options=["--direction"], + arg_group="Properties", + help="Direction that specifies whether the access rules is inbound/outbound.", + nullable=True, + enum={"Inbound": "Inbound", "Outbound": "Outbound"}, + ) + _args_schema.email_addresses = AAZListArg( + options=["--email-addresses"], + arg_group="Properties", + help="Outbound rules in email address format. This access rule type is currently unavailable for use", + nullable=True, + ) + _args_schema.fqdn = AAZListArg( + options=["--fqdn"], + arg_group="Properties", + help="Outbound rules in fully qualified domain name format.", + nullable=True, + ) + _args_schema.phone_numbers = AAZListArg( + options=["--phone-numbers"], + arg_group="Properties", + help="Outbound rules in phone number format. This access rule type is currently unavailable for use", + nullable=True, + ) + _args_schema.service_tags = AAZListArg( + options=["--service-tags"], + arg_group="Properties", + help="Inbound rules of type service tag. This access rule type is currently unavailable for use.", + nullable=True, + ) + _args_schema.subscriptions = AAZListArg( + options=["--subscriptions"], + arg_group="Properties", + help="Subscription id in the ARM id format.", + nullable=True, + ) + + address_prefixes = cls._args_schema.address_prefixes + address_prefixes.Element = AAZStrArg( + nullable=True, + ) + + email_addresses = cls._args_schema.email_addresses + email_addresses.Element = AAZStrArg( + nullable=True, + ) + + fqdn = cls._args_schema.fqdn + fqdn.Element = AAZStrArg( + nullable=True, + ) + + phone_numbers = cls._args_schema.phone_numbers + phone_numbers.Element = AAZStrArg( + nullable=True, + ) + + service_tags = cls._args_schema.service_tags + service_tags.Element = AAZStrArg( + nullable=True, + ) + + subscriptions = cls._args_schema.subscriptions + subscriptions.Element = AAZObjectArg( + nullable=True, + ) + + _element = cls._args_schema.subscriptions.Element + _element.id = AAZResourceIdArg( + options=["id"], + help="Subscription ID in the ARM ID fromat.", + nullable=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterAccessRulesGet(ctx=self.ctx)() + self.pre_instance_update(self.ctx.vars.instance) + self.InstanceUpdateByJson(ctx=self.ctx)() + self.InstanceUpdateByGeneric(ctx=self.ctx)() + self.post_instance_update(self.ctx.vars.instance) + self.NetworkSecurityPerimeterAccessRulesCreateOrUpdate(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 NetworkSecurityPerimeterAccessRulesGet(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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accessRuleName", self.ctx.args.access_rule_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "profileName", self.ctx.args.profile_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-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_nsp_access_rule_read(cls._schema_on_200) + + return cls._schema_on_200 + + class NetworkSecurityPerimeterAccessRulesCreateOrUpdate(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, 201]: + return self.on_200_201(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accessRuleName", self.ctx.args.access_rule_name, + required=True, + ), + **self.serialize_url_param( + "networkSecurityPerimeterName", self.ctx.args.perimeter_name, + required=True, + ), + **self.serialize_url_param( + "profileName", self.ctx.args.profile_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-10-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_nsp_access_rule_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": {"client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("addressPrefixes", AAZListType, ".address_prefixes") + properties.set_prop("direction", AAZStrType, ".direction") + properties.set_prop("emailAddresses", AAZListType, ".email_addresses") + properties.set_prop("fullyQualifiedDomainNames", AAZListType, ".fqdn") + properties.set_prop("phoneNumbers", AAZListType, ".phone_numbers") + properties.set_prop("serviceTags", AAZListType, ".service_tags") + properties.set_prop("subscriptions", AAZListType, ".subscriptions") + + address_prefixes = _builder.get(".properties.addressPrefixes") + if address_prefixes is not None: + address_prefixes.set_elements(AAZStrType, ".") + + email_addresses = _builder.get(".properties.emailAddresses") + if email_addresses is not None: + email_addresses.set_elements(AAZStrType, ".") + + fully_qualified_domain_names = _builder.get(".properties.fullyQualifiedDomainNames") + if fully_qualified_domain_names is not None: + fully_qualified_domain_names.set_elements(AAZStrType, ".") + + phone_numbers = _builder.get(".properties.phoneNumbers") + if phone_numbers is not None: + phone_numbers.set_elements(AAZStrType, ".") + + service_tags = _builder.get(".properties.serviceTags") + if service_tags is not None: + service_tags.set_elements(AAZStrType, ".") + + subscriptions = _builder.get(".properties.subscriptions") + if subscriptions is not None: + subscriptions.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.subscriptions[]") + if _elements is not None: + _elements.set_prop("id", AAZStrType, ".id") + + 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_nsp_access_rule_read = None + + @classmethod + def _build_schema_nsp_access_rule_read(cls, _schema): + if cls._schema_nsp_access_rule_read is not None: + _schema.id = cls._schema_nsp_access_rule_read.id + _schema.name = cls._schema_nsp_access_rule_read.name + _schema.properties = cls._schema_nsp_access_rule_read.properties + _schema.system_data = cls._schema_nsp_access_rule_read.system_data + _schema.type = cls._schema_nsp_access_rule_read.type + return + + cls._schema_nsp_access_rule_read = _schema_nsp_access_rule_read = AAZObjectType() + + nsp_access_rule_read = _schema_nsp_access_rule_read + nsp_access_rule_read.id = AAZStrType( + flags={"read_only": True}, + ) + nsp_access_rule_read.name = AAZStrType( + flags={"read_only": True}, + ) + nsp_access_rule_read.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + nsp_access_rule_read.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + nsp_access_rule_read.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = _schema_nsp_access_rule_read.properties + properties.address_prefixes = AAZListType( + serialized_name="addressPrefixes", + ) + properties.direction = AAZStrType() + properties.email_addresses = AAZListType( + serialized_name="emailAddresses", + ) + properties.fully_qualified_domain_names = AAZListType( + serialized_name="fullyQualifiedDomainNames", + ) + properties.network_security_perimeters = AAZListType( + serialized_name="networkSecurityPerimeters", + flags={"read_only": True}, + ) + properties.phone_numbers = AAZListType( + serialized_name="phoneNumbers", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.service_tags = AAZListType( + serialized_name="serviceTags", + ) + properties.subscriptions = AAZListType() + + address_prefixes = _schema_nsp_access_rule_read.properties.address_prefixes + address_prefixes.Element = AAZStrType() + + email_addresses = _schema_nsp_access_rule_read.properties.email_addresses + email_addresses.Element = AAZStrType() + + fully_qualified_domain_names = _schema_nsp_access_rule_read.properties.fully_qualified_domain_names + fully_qualified_domain_names.Element = AAZStrType() + + network_security_perimeters = _schema_nsp_access_rule_read.properties.network_security_perimeters + network_security_perimeters.Element = AAZObjectType() + + _element = _schema_nsp_access_rule_read.properties.network_security_perimeters.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"read_only": True}, + ) + _element.perimeter_guid = AAZStrType( + serialized_name="perimeterGuid", + flags={"read_only": True}, + ) + + phone_numbers = _schema_nsp_access_rule_read.properties.phone_numbers + phone_numbers.Element = AAZStrType() + + service_tags = _schema_nsp_access_rule_read.properties.service_tags + service_tags.Element = AAZStrType() + + subscriptions = _schema_nsp_access_rule_read.properties.subscriptions + subscriptions.Element = AAZObjectType() + + _element = _schema_nsp_access_rule_read.properties.subscriptions.Element + _element.id = AAZStrType() + + system_data = _schema_nsp_access_rule_read.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + _schema.id = cls._schema_nsp_access_rule_read.id + _schema.name = cls._schema_nsp_access_rule_read.name + _schema.properties = cls._schema_nsp_access_rule_read.properties + _schema.system_data = cls._schema_nsp_access_rule_read.system_data + _schema.type = cls._schema_nsp_access_rule_read.type + + +__all__ = ["Update"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/service_tag/__cmd_group.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/service_tag/__cmd_group.py new file mode 100644 index 00000000000..9c2d8d8c6fe --- /dev/null +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/service_tag/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "network perimeter service-tag", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Security Perimeter Service Tags + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/service_tag/__init__.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/service_tag/__init__.py new file mode 100644 index 00000000000..d63ae5a6fc9 --- /dev/null +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/service_tag/__init__.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._list import * diff --git a/src/nsp/azext_nsp/aaz/latest/network/perimeter/service_tag/_list.py b/src/nsp/azext_nsp/aaz/latest/network/perimeter/service_tag/_list.py new file mode 100644 index 00000000000..1355ce8b451 --- /dev/null +++ b/src/nsp/azext_nsp/aaz/latest/network/perimeter/service_tag/_list.py @@ -0,0 +1,171 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "network perimeter service-tag list", +) +class List(AAZCommand): + """List all service tags supported by network security perimeter. + + :example: List all network security perimeter service tags + az network perimeter service-tag list -l westus + """ + + _aaz_info = { + "version": "2024-10-01", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.network/locations/{}/nspservicetags", "2024-10-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.location = AAZResourceLocationArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkSecurityPerimeterServiceTagsList(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 NetworkSecurityPerimeterServiceTagsList(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/nspServiceTags", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "ODataV4Format" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "location", self.ctx.args.location, + 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", "2024-10-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", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.service_tags = AAZListType( + serialized_name="serviceTags", + ) + + service_tags = cls._schema_on_200.value.Element.service_tags + service_tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/nsp/azext_nsp/azext_metadata.json b/src/nsp/azext_nsp/azext_metadata.json index 27b5715913e..06012c7c942 100644 --- a/src/nsp/azext_nsp/azext_metadata.json +++ b/src/nsp/azext_nsp/azext_metadata.json @@ -1,3 +1,3 @@ -{ - "azext.minCliCoreVersion": "2.61.0" +{ + "azext.minCliCoreVersion": "2.75.0" } \ No newline at end of file diff --git a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_accessrule_crud.yaml b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_accessrule_crud.yaml index 8a3de2a0b9d..d76c02b8429 100644 --- a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_accessrule_crud.yaml +++ b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_accessrule_crud.yaml @@ -1,583 +1,463 @@ -interactions: -- request: - body: '{"location": "eastus2euap"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter create - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name -l --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"eastus2euap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"941b862e-77c7-4a7b-a604-2b62329afff9","provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '427' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:46 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: FBC030ADA23A4F5DA2C58F08A6763B89 Ref B: MNZ221060618023 Ref C: 2025-03-21T14:45:45Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile create - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_accessrule_crud000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001","name":"test_nsp_accessrule_crud000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_accessrule_crud","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.6160940Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '433' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:46 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: B0BD833F8573411AB77358F260311190 Ref B: MNZ221060610029 Ref C: 2025-03-21T14:45:47Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile create - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"eastus2euap"}' - headers: - cache-control: - - no-cache - content-length: - - '396' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:48 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: A0437B570C5B4DBA8591A667724219D1 Ref B: MNZ221060619023 Ref C: 2025-03-21T14:45:47Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --fqdn --direction - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_accessrule_crud000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001","name":"test_nsp_accessrule_crud000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_accessrule_crud","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.6160940Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '433' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:49 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: D8EA24CEA70B4FF5AB4DD4F158176628 Ref B: MNZ221060619039 Ref C: 2025-03-21T14:45:49Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap", "properties": {"direction": "Outbound", "fullyQualifiedDomainNames": - ["www.abc.com", "www.google.com"]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - Content-Length: - - '132' - Content-Type: - - application/json - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --fqdn --direction - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com","www.google.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]}}' - headers: - cache-control: - - no-cache - content-length: - - '636' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:50 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: 50EF300BC3C74B318685C30B70E96D65 Ref B: MNZ221060608037 Ref C: 2025-03-21T14:45:49Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule show - Connection: - - keep-alive - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com","www.google.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]}}' - headers: - cache-control: - - no-cache - content-length: - - '636' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:50 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 6CADD9AFDAB341689D3BB599A21F661C Ref B: MNZ221060610021 Ref C: 2025-03-21T14:45:50Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule update - Connection: - - keep-alive - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --fqdn --direction - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_accessrule_crud000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001","name":"test_nsp_accessrule_crud000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_accessrule_crud","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.6160940Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '433' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:51 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: E1DBA247E1784FA695618E8CD7A223FE Ref B: MNZ221060619027 Ref C: 2025-03-21T14:45:51Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule update - Connection: - - keep-alive - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --fqdn --direction - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com","www.google.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]}}' - headers: - cache-control: - - no-cache - content-length: - - '636' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:52 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: D1E12C56053046B582F84989406A890B Ref B: MNZ221060609019 Ref C: 2025-03-21T14:45:51Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap", "properties": {"addressPrefixes": [], "direction": - "Outbound", "emailAddresses": [], "fullyQualifiedDomainNames": ["www.abc.com"], - "phoneNumbers": [], "subscriptions": []}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule update - Connection: - - keep-alive - Content-Length: - - '200' - Content-Type: - - application/json - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --fqdn --direction - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]}}' - headers: - cache-control: - - no-cache - content-length: - - '619' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:53 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: EDB02FDA3AC34F2F99A1C7E494A5E20D Ref B: MNZ221060609019 Ref C: 2025-03-21T14:45:52Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule show - Connection: - - keep-alive - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]}}' - headers: - cache-control: - - no-cache - content-length: - - '619' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:53 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 9D3C1E470CE74B0CBB29EB0A3B95A5FE Ref B: MNZ221060619051 Ref C: 2025-03-21T14:45:54Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule list - Connection: - - keep-alive - ParameterSetName: - - --perimeter-name --profile-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules?api-version=2024-07-01 - response: - body: - string: '{"nextLink":"","value":[{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]}}]}' - headers: - cache-control: - - no-cache - content-length: - - '645' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:54 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 51E4535F5208480DAC5AFDECB1100F6C Ref B: MNZ221060618033 Ref C: 2025-03-21T14:45:54Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name --perimeter-name --profile-name --resource-group --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-07-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 21 Mar 2025 14:45:56 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '799' - x-ms-ratelimit-remaining-subscription-global-deletes: - - '11999' - x-msedge-ref: - - 'Ref A: DDD7258E9096448493E6775888B2DA72 Ref B: MNZ221060608045 Ref C: 2025-03-21T14:45:55Z' - status: - code: 200 - message: OK -version: 1 +interactions: +- request: + body: '{"location": "centraluseuap"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter create + Connection: + - keep-alive + Content-Length: + - '29' + Content-Type: + - application/json + ParameterSetName: + - --name -l --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"centraluseuap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"adc980a3-ffed-4baf-ac20-fef126f78c7c","provisioningState":"Succeeded"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:52.4883549Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:52.4883549Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '653' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/a7df241e-7361-44b2-8e52-0b7a13ed0370 + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 70A1CD052921406A8138236D9793D5AE Ref B: PNQ231110909023 Ref C: 2025-10-08T05:44:52Z' + status: + code: 200 + message: OK +- request: + body: '{}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile create + Connection: + - keep-alive + Content-Length: + - '2' + Content-Type: + - application/json + ParameterSetName: + - --name --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"centraluseuap","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:53.7213680Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:53.7213680Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:53 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/32299ced-5c73-420a-b16c-ac375e7aac1f + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 98175799F31C46FE99849B7CB9FDD603 Ref B: PNQ231110906025 Ref C: 2025-10-08T05:44:52Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"direction": "Outbound", "fullyQualifiedDomainNames": ["www.abc.com", + "www.google.com"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule create + Connection: + - keep-alive + Content-Length: + - '105' + Content-Type: + - application/json + ParameterSetName: + - --name --profile-name --perimeter-name --resource-group --fqdn --direction + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com","www.google.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:55.0135070Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:55.0135070Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '860' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centralindia/1232c384-6748-48a4-8bf5-baeaded84a23 + x-ms-ratelimit-remaining-subscription-global-writes: + - '11999' + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-msedge-ref: + - 'Ref A: FF7EA4D72BE4471C99CAAE68E890EEF5 Ref B: PNQ231110907023 Ref C: 2025-10-08T05:44:54Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule show + Connection: + - keep-alive + ParameterSetName: + - --name --profile-name --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com","www.google.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:55.0135070Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:55.0135070Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '860' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/530c7c50-9f55-46ee-bc85-24b9bb93b759 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 827EF01A0652482DA8468277D96DF82C Ref B: PNQ231110908060 Ref C: 2025-10-08T05:44:59Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule update + Connection: + - keep-alive + ParameterSetName: + - --name --profile-name --perimeter-name --resource-group --fqdn --direction + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com","www.google.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:55.0135070Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:55.0135070Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '860' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/f00bf8e6-fc5c-4eda-ae55-41626b01c5cf + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 657D7A109CB0468DBB5DF18E3DEF836A Ref B: PNQ231110909062 Ref C: 2025-10-08T05:44:59Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"addressPrefixes": [], "direction": "Outbound", "emailAddresses": + [], "fullyQualifiedDomainNames": ["www.abc.com"], "phoneNumbers": [], "subscriptions": + []}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule update + Connection: + - keep-alive + Content-Length: + - '173' + Content-Type: + - application/json + ParameterSetName: + - --name --profile-name --perimeter-name --resource-group --fqdn --direction + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:00.5893836Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:00.5893836Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '843' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/85dc519d-6251-4522-b7b4-cbe5bb272f03 + x-ms-ratelimit-remaining-subscription-writes: + - '798' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: F437D5E677D64185BB9CD10A906F3BA2 Ref B: PNQ231110907036 Ref C: 2025-10-08T05:45:00Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule show + Connection: + - keep-alive + ParameterSetName: + - --name --profile-name --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:00.5893836Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:00.5893836Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '843' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/westindia/c6d9bdcd-c9c0-411f-b006-62f8c7a43fa8 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: A6FC043E3DD4466889910D669C429066 Ref B: PNQ231110907052 Ref C: 2025-10-08T05:45:00Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule list + Connection: + - keep-alive + ParameterSetName: + - --perimeter-name --profile-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules?api-version=2024-10-01 + response: + body: + string: '{"nextLink":"","value":[{"name":"TestNspAccessRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":["www.abc.com"],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:00.5893836Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:00.5893836Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '869' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/69ba6c84-4373-49c3-b43d-e70a900fc2ca + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 112A11B6E0CE4FA587F42DE61507D33D Ref B: PNQ231110909052 Ref C: 2025-10-08T05:45:04Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --perimeter-name --profile-name --resource-group --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule?api-version=2024-10-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 08 Oct 2025 05:45:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/9455df92-02ad-4029-96b2-b8a65eac45c7 + x-ms-ratelimit-remaining-subscription-deletes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: E715329E5F2A494784203EEA71FBC6D4 Ref B: PNQ231110906054 Ref C: 2025-10-08T05:45:05Z' + status: + code: 200 + message: OK +version: 1 diff --git a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_accessrule_inbound.yaml b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_accessrule_inbound.yaml index 9beb061724b..f79ccb4a0c3 100644 --- a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_accessrule_inbound.yaml +++ b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_accessrule_inbound.yaml @@ -1,647 +1,384 @@ -interactions: -- request: - body: '{"location": "eastus2euap"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter create - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name -l --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"eastus2euap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"6a40804b-e7df-4619-b65a-c582f20c9fb0","provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '430' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:45 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: 33049E0BB2EB480E8BC9248D51C42A5E Ref B: MNZ221060619019 Ref C: 2025-03-21T14:45:45Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile create - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_accessrule_inbound000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001","name":"test_nsp_accessrule_inbound000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_accessrule_inbound","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.6078795Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '442' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:46 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: F6B01AC6E1014E09959A1257D44E7EF7 Ref B: MNZ221060609025 Ref C: 2025-03-21T14:45:46Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile create - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"eastus2euap"}' - headers: - cache-control: - - no-cache - content-length: - - '399' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:46 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: 43C7E6EA95F0461EA185B1920BD79373 Ref B: MNZ221060609007 Ref C: 2025-03-21T14:45:46Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --address-prefixes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_accessrule_inbound000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001","name":"test_nsp_accessrule_inbound000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_accessrule_inbound","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.6078795Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '442' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:47 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: BB016329C169429685EFA13C3204C736 Ref B: MNZ221060608017 Ref C: 2025-03-21T14:45:47Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap", "properties": {"addressPrefixes": ["10.10.0.0/16"]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - Content-Length: - - '80' - Content-Type: - - application/json - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --address-prefixes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_ip?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAccessRule_ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_ip","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Inbound","addressPrefixes":["10.10.0.0/16"],"fullyQualifiedDomainNames":[],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]}}' - headers: - cache-control: - - no-cache - content-length: - - '628' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:48 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: 5FB85CC4ABEE4A168D9DBF9016FB91BB Ref B: MNZ221060610033 Ref C: 2025-03-21T14:45:48Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --subscriptions - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_accessrule_inbound000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001","name":"test_nsp_accessrule_inbound000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_accessrule_inbound","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.6078795Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '442' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:48 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 00FA76184FA3495D9F15C758B730D962 Ref B: MNZ221060610051 Ref C: 2025-03-21T14:45:48Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap", "properties": {"subscriptions": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000"}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - Content-Length: - - '125' - Content-Type: - - application/json - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --subscriptions - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_subscription?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAccessRule_subscription","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_subscription","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Inbound","addressPrefixes":[],"fullyQualifiedDomainNames":[],"subscriptions":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000"}],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]}}' - headers: - cache-control: - - no-cache - content-length: - - '694' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:49 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: AFE8344A30824927951B72407CE4F121 Ref B: MNZ221060610039 Ref C: 2025-03-21T14:45:49Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --email-addresses - --direction - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_accessrule_inbound000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001","name":"test_nsp_accessrule_inbound000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_accessrule_inbound","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.6078795Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '442' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:48 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: CAEEC65E87DF4A77989088EE8D033DF0 Ref B: MNZ221060619035 Ref C: 2025-03-21T14:45:49Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap", "properties": {"direction": "Outbound", "emailAddresses": - ["abc@microsoft.com", "bcd@microsoft.com"]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - Content-Length: - - '130' - Content-Type: - - application/json - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --email-addresses - --direction - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_email?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAccessRule_email","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_email","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":[],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":["abc@microsoft.com","bcd@microsoft.com"],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]}}' - headers: - cache-control: - - no-cache - content-length: - - '660' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:50 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: D20A24457C65408FAE4D5F9EE07CA887 Ref B: MNZ221060619031 Ref C: 2025-03-21T14:45:50Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --phone-numbers --direction - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_accessrule_inbound000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001","name":"test_nsp_accessrule_inbound000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_accessrule_inbound","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.6078795Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '442' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:51 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 81C9F94D890541DFAE6FA9AA25C58840 Ref B: MNZ221060619019 Ref C: 2025-03-21T14:45:51Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap", "properties": {"direction": "Outbound", "phoneNumbers": - ["+919898989898", "+929898989898"]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - Content-Length: - - '120' - Content-Type: - - application/json - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --phone-numbers --direction - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_sms?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAccessRule_sms","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_sms","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":[],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":["+91 - 9898989898","+92 9898989898"],"appliesTo":[{"resourceType":"*","features":["*"]}]}}' - headers: - cache-control: - - no-cache - content-length: - - '650' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:52 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: E25E65915A64486F8F0236233C23B59A Ref B: MNZ221060608029 Ref C: 2025-03-21T14:45:51Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --service-tags - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_accessrule_inbound000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001","name":"test_nsp_accessrule_inbound000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_accessrule_inbound","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.6078795Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '442' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:52 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: A4524AD5AD8947FA94F9BF6F2BD7ADD7 Ref B: MNZ221060608029 Ref C: 2025-03-21T14:45:53Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap", "properties": {"serviceTags": ["MicrosoftPublicIPSpace"]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile access-rule create - Connection: - - keep-alive - Content-Length: - - '86' - Content-Type: - - application/json - ParameterSetName: - - --name --profile-name --perimeter-name --resource-group --service-tags - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_servicetag?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAccessRule_servicetag","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_servicetag","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Inbound","addressPrefixes":[],"fullyQualifiedDomainNames":[],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"serviceTags":["MicrosoftPublicIPSpace"],"appliesTo":[{"resourceType":"*","features":["*"]}]}}' - headers: - cache-control: - - no-cache - content-length: - - '671' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:55 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: 56609F0C3E7F49849A7064549680929D Ref B: MNZ221060618021 Ref C: 2025-03-21T14:45:53Z' - status: - code: 200 - message: OK -version: 1 +interactions: +- request: + body: '{"location": "centraluseuap"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter create + Connection: + - keep-alive + Content-Length: + - '29' + Content-Type: + - application/json + ParameterSetName: + - --name -l --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"centraluseuap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"d05261a8-d963-486b-be9e-2ca9a7424d21","provisioningState":"Succeeded"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:57.4090384Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:57.4090384Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '656' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/965ce07c-2761-4839-92dd-5d33a86081aa + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 2DF71947A2224CE3BE5F03E1E334005F Ref B: PNQ231110908052 Ref C: 2025-10-08T05:44:56Z' + status: + code: 200 + message: OK +- request: + body: '{}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile create + Connection: + - keep-alive + Content-Length: + - '2' + Content-Type: + - application/json + ParameterSetName: + - --name --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"centraluseuap","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:58.0039544Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:58.0039544Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '625' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/2dd1cc33-8a81-419c-bf42-8c898a45dd97 + x-ms-ratelimit-remaining-subscription-writes: + - '797' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: DF124ECF78DE456280CCB8B11D88ACFC Ref B: PNQ231110907025 Ref C: 2025-10-08T05:44:57Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"addressPrefixes": ["10.10.0.0/16"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule create + Connection: + - keep-alive + Content-Length: + - '53' + Content-Type: + - application/json + ParameterSetName: + - --name --profile-name --perimeter-name --resource-group --address-prefixes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_ip?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAccessRule_ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_ip","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Inbound","addressPrefixes":["10.10.0.0/16"],"fullyQualifiedDomainNames":[],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:59.0845517Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:59.0845517Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '852' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/7b03e0b0-38d9-4b51-a18e-780c09f529a1 + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 73FA3566469A4E058FD58F53FEBE2745 Ref B: PNQ231110907060 Ref C: 2025-10-08T05:44:58Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"subscriptions": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule create + Connection: + - keep-alive + Content-Length: + - '98' + Content-Type: + - application/json + ParameterSetName: + - --name --profile-name --perimeter-name --resource-group --subscriptions + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_subscription?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAccessRule_subscription","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_subscription","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Inbound","addressPrefixes":[],"fullyQualifiedDomainNames":[],"subscriptions":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000"}],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:59.8777013Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:59.8777013Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '918' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/b51b6988-75c4-49c4-9d26-40a19e6b2566 + x-ms-ratelimit-remaining-subscription-writes: + - '798' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 46A07515224F49989C051D348C783DCC Ref B: PNQ231110909025 Ref C: 2025-10-08T05:44:59Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"direction": "Outbound", "emailAddresses": ["test@example.com", + "test@example.com"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule create + Connection: + - keep-alive + Content-Length: + - '101' + Content-Type: + - application/json + ParameterSetName: + - --name --profile-name --perimeter-name --resource-group --email-addresses + --direction + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_email?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAccessRule_email","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_email","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":[],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":["test@example.com","test@example.com"],"phoneNumbers":[],"appliesTo":[{"resourceType":"*","features":["*"]}]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:03.4720841Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:03.4720841Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '882' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/southindia/e004582b-6a1f-4730-93bf-78164a14356c + x-ms-ratelimit-remaining-subscription-global-writes: + - '11999' + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-msedge-ref: + - 'Ref A: FBA1E64AECA041B685A5D5438CC8D5FA Ref B: PNQ231110907052 Ref C: 2025-10-08T05:45:00Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"direction": "Outbound", "phoneNumbers": ["+919898989898", + "+929898989898"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule create + Connection: + - keep-alive + Content-Length: + - '93' + Content-Type: + - application/json + ParameterSetName: + - --name --profile-name --perimeter-name --resource-group --phone-numbers --direction + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_sms?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAccessRule_sms","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_sms","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Outbound","addressPrefixes":[],"fullyQualifiedDomainNames":[],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":["+91 + 9898989898","+92 9898989898"],"appliesTo":[{"resourceType":"*","features":["*"]}]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:08.8179060Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:08.8179060Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '874' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/f58ff232-9f2b-4ce6-8203-67c4b375f1de + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 2D6030F817AD464BA10317C40037A135 Ref B: PNQ231110907062 Ref C: 2025-10-08T05:45:06Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"serviceTags": ["MicrosoftPublicIPSpace"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile access-rule create + Connection: + - keep-alive + Content-Length: + - '59' + Content-Type: + - application/json + ParameterSetName: + - --name --profile-name --perimeter-name --resource-group --service-tags + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_servicetag?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAccessRule_servicetag","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_accessrule_inbound000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile/accessRules/TestNspAccessRule_servicetag","type":"Microsoft.Network/networkSecurityPerimeters/profiles/accessRules","properties":{"provisioningState":"Succeeded","direction":"Inbound","addressPrefixes":[],"fullyQualifiedDomainNames":[],"subscriptions":[],"networkSecurityPerimeters":[],"emailAddresses":[],"phoneNumbers":[],"serviceTags":["MicrosoftPublicIPSpace"],"appliesTo":[{"resourceType":"*","features":["*"]}]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:12.1285975Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:12.1285975Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '895' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:14 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/westindia/1d39ea59-5b9f-4427-9523-22d0149a56a2 + x-ms-ratelimit-remaining-subscription-global-writes: + - '11999' + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-msedge-ref: + - 'Ref A: 3A5553A3A981454AB983E757717E214F Ref B: PNQ231110908062 Ref C: 2025-10-08T05:45:09Z' + status: + code: 200 + message: OK +version: 1 diff --git a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_association_crud.yaml b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_association_crud.yaml index 6cf43a8bdc4..ca3d2f1abbe 100644 --- a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_association_crud.yaml +++ b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_association_crud.yaml @@ -1,1381 +1,1285 @@ -interactions: -- request: - body: '{"location": "eastus2euap"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter create - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name -l --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"eastus2euap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"53648c93-62cb-4705-bea0-c21028010d6b","provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '428' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:47 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: C8ED54C0A5654228A68532362E3CB8FA Ref B: MNZ221060610053 Ref C: 2025-03-21T14:45:46Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile create - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_association_crud000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001","name":"test_nsp_association_crud000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_association_crud","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.9878435Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '436' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:47 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 11D0182584A644C18ADD461511AE5F4E Ref B: MNZ221060608039 Ref C: 2025-03-21T14:45:48Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile create - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"eastus2euap"}' - headers: - cache-control: - - no-cache - content-length: - - '397' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:48 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: 41186531D00A4795AA5852E416D06F7F Ref B: MNZ221060608033 Ref C: 2025-03-21T14:45:48Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - keyvault create - Connection: - - keep-alive - ParameterSetName: - - --name -l --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test?api-version=2023-02-01 - response: - body: - string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.KeyVault/vaults/kvclinsp19-test'' - under resource group ''test_nsp_association_crud000001'' was not found. For - more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' - headers: - cache-control: - - no-cache - content-length: - - '244' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:49 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-failure-cause: - - gateway - x-msedge-ref: - - 'Ref A: 355A17F90DDA42F7B69C13495CD725A3 Ref B: MNZ221060610039 Ref C: 2025-03-21T14:45:49Z' - status: - code: 404 - message: Not Found -- request: - body: '{"location": "eastus2euap", "properties": {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", - "sku": {"family": "A", "name": "standard"}, "accessPolicies": [], "enableSoftDelete": - true, "softDeleteRetentionInDays": 90, "enableRbacAuthorization": true, "networkAcls": - {"bypass": "AzureServices", "defaultAction": "Allow"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - keyvault create - Connection: - - keep-alive - Content-Length: - - '323' - Content-Type: - - application/json - ParameterSetName: - - --name -l --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test?api-version=2023-02-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test","name":"kvclinsp19-test","type":"Microsoft.KeyVault/vaults","location":"eastus2euap","tags":{},"systemData":{"createdBy":"karthikgumpu@microsoft.com","createdByType":"User","createdAt":"2025-03-21T14:45:50.621Z","lastModifiedBy":"karthikgumpu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-03-21T14:45:50.621Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"enableRbacAuthorization":true,"vaultUri":"https://kvclinsp19-test.vault.azure.net","provisioningState":"RegisteringDns","publicNetworkAccess":"Enabled"}}' - headers: - cache-control: - - no-cache - content-length: - - '851' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:51 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-keyvault-service-version: - - 2.2.29.0 - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: 7D8B880EAF5F4DDDBBBFBB0339119AE2 Ref B: MNZ221060610039 Ref C: 2025-03-21T14:45:49Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - keyvault create - Connection: - - keep-alive - ParameterSetName: - - --name -l --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test?api-version=2023-02-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test","name":"kvclinsp19-test","type":"Microsoft.KeyVault/vaults","location":"eastus2euap","tags":{},"systemData":{"createdBy":"karthikgumpu@microsoft.com","createdByType":"User","createdAt":"2025-03-21T14:45:50.621Z","lastModifiedBy":"karthikgumpu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-03-21T14:45:50.621Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"enableRbacAuthorization":true,"vaultUri":"https://kvclinsp19-test.vault.azure.net/","provisioningState":"RegisteringDns","publicNetworkAccess":"Enabled"}}' - headers: - cache-control: - - no-cache - content-length: - - '852' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:51 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-keyvault-service-version: - - 2.2.29.0 - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: BE020423C08C4E7497B06C9D742383FE Ref B: MNZ221060610039 Ref C: 2025-03-21T14:45:52Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - keyvault create - Connection: - - keep-alive - ParameterSetName: - - --name -l --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test?api-version=2023-02-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test","name":"kvclinsp19-test","type":"Microsoft.KeyVault/vaults","location":"eastus2euap","tags":{},"systemData":{"createdBy":"karthikgumpu@microsoft.com","createdByType":"User","createdAt":"2025-03-21T14:45:50.621Z","lastModifiedBy":"karthikgumpu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2025-03-21T14:45:50.621Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"enableRbacAuthorization":true,"vaultUri":"https://kvclinsp19-test.vault.azure.net/","provisioningState":"Succeeded","publicNetworkAccess":"Enabled"}}' - headers: - cache-control: - - no-cache - content-length: - - '847' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:46:21 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-keyvault-service-version: - - 2.2.29.0 - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 95A7A5929F224D2D945B17CE730E1265 Ref B: MNZ221060610039 Ref C: 2025-03-21T14:46:22Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association create - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --access-mode --private-link-resource - --profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_association_crud000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001","name":"test_nsp_association_crud000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_association_crud","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.9878435Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '436' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:46:22 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 9D39B88BD16148B1AC6CB882A81D8736 Ref B: MNZ221060618009 Ref C: 2025-03-21T14:46:23Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap", "properties": {"accessMode": "Learning", "privateLinkResource": - {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test"}, - "profile": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association create - Connection: - - keep-alive - Content-Length: - - '482' - Content-Type: - - application/json - ParameterSetName: - - --name --perimeter-name --resource-group --access-mode --private-link-resource - --profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Learning","provisioningState":"Creating","hasProvisioningIssues":"no"}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/d9fdb754-a42f-4d16-84aa-8e223c685604?api-version=2024-07-01&t=638781651855569197&c=MIIHhzCCBm-gAwIBAgITfAaPVSYGYp0_a9-AhQAABo9VJjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIwMDgzNTM2WhcNMjUwNzE5MDgzNTM2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIvzhqGKiWeVv5oxugQQEZ8AxTC1p8Lu-WshPo0K7VS2EMvF_bHNAJa2ICbsiu5eWYlTaYcdzZL_li8T_EER2Dx5l6uj7GUfGoYbEJQ0ZdYtzLoQJYa5_x168-RsA7F1839wPdzv32z3afnCHOSeIzPiOiCJXb6FjOWJ-znbB2na5Gw4nwgaj4uxlRQGN3ElReqQ4P64xkAph5x91fRINLkaaRTDeKQ_g_suaN1BHm22myYRg2O9gZy5mhTUzDjj9HsrGu2-1-ZFNZZPMl5ltWBsQD6c_49DWpOowaX9ZSYaO9E9s45gP5YMr-ALxZrETB9ilbvFNbbXmv9Kc5LEc0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQj9GN21vymIgY86pEWjNqGR6-dlDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF0lTrFg0dSUCXo41FDWmaQFDJKZsucTat3vhDRkbIfxlo0n4QQJOqJQSCzj8n-NvH0p0CR42nsTk2C70Vpr54i80YKfcTOm0Q0Rq9FHB-Nz4KlrymTkU6hfeD0WRhUOq6PB1WhWLF_mqSzEwmTmuQAsVGXf8Gh0psllvyF--eEaF0pSbhEuo6lPzPk3hgUSico8gbSjr4hgIVn6x0JCa1XSFgaeKHIqD8eapb-mDfYa0QAQwJ8tYxzrkJ_n5OI7g5xCiIeV5DXmSzLTGx9QvaE4Y8-jFgRKG0qMhnqf8StrJOSKMrcJlHtjT7plbWt-fXPLHNvPydmtAiA2qygRnU0&s=nHbMW9HTDwOYlPMdcJGH0YWWcCoouI6xSrEiXtK6VXgK0CGwVToeQ-y7_tsaB_K0vWggFEpnN5fwQ7MUl4PU4PpesbHc3aW8A38JVIcM8ELb4onWDnZ-DsuhhEJiyaoIGfIUdIL1SIcdDYqmlmhuhUmpO7YEVXPeDMMcsWqUiBEzYjwaUoJ_CUMDp6q0Vgw0cJVcA1eX2KaSWyI7Ho5fnmdx27JH2GQkUfD2jSp_t7pvM4gkZK1Gh9lSx0ws_v-1BWxowQvdVfFVcpXP8qSmuIkHjOjtoXBAUl39QoIywTRWqqqppgcWLgzGd-_qs0vcUAUGHQQW2wWHOxAje9ZqsA&h=8lykyn56I5d75Jn93Q9JUKA2o7YAwm6L-Owy0dZdOIQ - cache-control: - - no-cache - content-length: - - '838' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:46:24 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: E5FC03EA9D354980B37FA0EC2395DC09 Ref B: MNZ221060619037 Ref C: 2025-03-21T14:46:23Z' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association create - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --access-mode --private-link-resource - --profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/d9fdb754-a42f-4d16-84aa-8e223c685604?api-version=2024-07-01&t=638781651855569197&c=MIIHhzCCBm-gAwIBAgITfAaPVSYGYp0_a9-AhQAABo9VJjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIwMDgzNTM2WhcNMjUwNzE5MDgzNTM2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIvzhqGKiWeVv5oxugQQEZ8AxTC1p8Lu-WshPo0K7VS2EMvF_bHNAJa2ICbsiu5eWYlTaYcdzZL_li8T_EER2Dx5l6uj7GUfGoYbEJQ0ZdYtzLoQJYa5_x168-RsA7F1839wPdzv32z3afnCHOSeIzPiOiCJXb6FjOWJ-znbB2na5Gw4nwgaj4uxlRQGN3ElReqQ4P64xkAph5x91fRINLkaaRTDeKQ_g_suaN1BHm22myYRg2O9gZy5mhTUzDjj9HsrGu2-1-ZFNZZPMl5ltWBsQD6c_49DWpOowaX9ZSYaO9E9s45gP5YMr-ALxZrETB9ilbvFNbbXmv9Kc5LEc0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQj9GN21vymIgY86pEWjNqGR6-dlDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF0lTrFg0dSUCXo41FDWmaQFDJKZsucTat3vhDRkbIfxlo0n4QQJOqJQSCzj8n-NvH0p0CR42nsTk2C70Vpr54i80YKfcTOm0Q0Rq9FHB-Nz4KlrymTkU6hfeD0WRhUOq6PB1WhWLF_mqSzEwmTmuQAsVGXf8Gh0psllvyF--eEaF0pSbhEuo6lPzPk3hgUSico8gbSjr4hgIVn6x0JCa1XSFgaeKHIqD8eapb-mDfYa0QAQwJ8tYxzrkJ_n5OI7g5xCiIeV5DXmSzLTGx9QvaE4Y8-jFgRKG0qMhnqf8StrJOSKMrcJlHtjT7plbWt-fXPLHNvPydmtAiA2qygRnU0&s=nHbMW9HTDwOYlPMdcJGH0YWWcCoouI6xSrEiXtK6VXgK0CGwVToeQ-y7_tsaB_K0vWggFEpnN5fwQ7MUl4PU4PpesbHc3aW8A38JVIcM8ELb4onWDnZ-DsuhhEJiyaoIGfIUdIL1SIcdDYqmlmhuhUmpO7YEVXPeDMMcsWqUiBEzYjwaUoJ_CUMDp6q0Vgw0cJVcA1eX2KaSWyI7Ho5fnmdx27JH2GQkUfD2jSp_t7pvM4gkZK1Gh9lSx0ws_v-1BWxowQvdVfFVcpXP8qSmuIkHjOjtoXBAUl39QoIywTRWqqqppgcWLgzGd-_qs0vcUAUGHQQW2wWHOxAje9ZqsA&h=8lykyn56I5d75Jn93Q9JUKA2o7YAwm6L-Owy0dZdOIQ - response: - body: - string: '{"name":"d9fdb754-a42f-4d16-84aa-8e223c685604","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/d9fdb754-a42f-4d16-84aa-8e223c685604","status":"Creating","startTime":"2025-03-21T14:46:25.4862849Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' - headers: - cache-control: - - no-cache - content-length: - - '550' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:46:25 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: EA0F8EF80FE840E3B8A0F8F267C483BD Ref B: MNZ221060619037 Ref C: 2025-03-21T14:46:25Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association create - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --access-mode --private-link-resource - --profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/d9fdb754-a42f-4d16-84aa-8e223c685604?api-version=2024-07-01&t=638781651855569197&c=MIIHhzCCBm-gAwIBAgITfAaPVSYGYp0_a9-AhQAABo9VJjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIwMDgzNTM2WhcNMjUwNzE5MDgzNTM2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIvzhqGKiWeVv5oxugQQEZ8AxTC1p8Lu-WshPo0K7VS2EMvF_bHNAJa2ICbsiu5eWYlTaYcdzZL_li8T_EER2Dx5l6uj7GUfGoYbEJQ0ZdYtzLoQJYa5_x168-RsA7F1839wPdzv32z3afnCHOSeIzPiOiCJXb6FjOWJ-znbB2na5Gw4nwgaj4uxlRQGN3ElReqQ4P64xkAph5x91fRINLkaaRTDeKQ_g_suaN1BHm22myYRg2O9gZy5mhTUzDjj9HsrGu2-1-ZFNZZPMl5ltWBsQD6c_49DWpOowaX9ZSYaO9E9s45gP5YMr-ALxZrETB9ilbvFNbbXmv9Kc5LEc0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQj9GN21vymIgY86pEWjNqGR6-dlDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF0lTrFg0dSUCXo41FDWmaQFDJKZsucTat3vhDRkbIfxlo0n4QQJOqJQSCzj8n-NvH0p0CR42nsTk2C70Vpr54i80YKfcTOm0Q0Rq9FHB-Nz4KlrymTkU6hfeD0WRhUOq6PB1WhWLF_mqSzEwmTmuQAsVGXf8Gh0psllvyF--eEaF0pSbhEuo6lPzPk3hgUSico8gbSjr4hgIVn6x0JCa1XSFgaeKHIqD8eapb-mDfYa0QAQwJ8tYxzrkJ_n5OI7g5xCiIeV5DXmSzLTGx9QvaE4Y8-jFgRKG0qMhnqf8StrJOSKMrcJlHtjT7plbWt-fXPLHNvPydmtAiA2qygRnU0&s=nHbMW9HTDwOYlPMdcJGH0YWWcCoouI6xSrEiXtK6VXgK0CGwVToeQ-y7_tsaB_K0vWggFEpnN5fwQ7MUl4PU4PpesbHc3aW8A38JVIcM8ELb4onWDnZ-DsuhhEJiyaoIGfIUdIL1SIcdDYqmlmhuhUmpO7YEVXPeDMMcsWqUiBEzYjwaUoJ_CUMDp6q0Vgw0cJVcA1eX2KaSWyI7Ho5fnmdx27JH2GQkUfD2jSp_t7pvM4gkZK1Gh9lSx0ws_v-1BWxowQvdVfFVcpXP8qSmuIkHjOjtoXBAUl39QoIywTRWqqqppgcWLgzGd-_qs0vcUAUGHQQW2wWHOxAje9ZqsA&h=8lykyn56I5d75Jn93Q9JUKA2o7YAwm6L-Owy0dZdOIQ - response: - body: - string: '{"name":"d9fdb754-a42f-4d16-84aa-8e223c685604","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/d9fdb754-a42f-4d16-84aa-8e223c685604","status":"Succeeded","startTime":"2025-03-21T14:46:25.4862849Z","endTime":"2025-03-21T14:46:29.8345096Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' - headers: - cache-control: - - no-cache - content-length: - - '592' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:46:55 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 03D123DA8C4542ABBAAF4982DC44BF3D Ref B: MNZ221060619037 Ref C: 2025-03-21T14:46:55Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association create - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --access-mode --private-link-resource - --profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Learning","provisioningState":"Succeeded","hasProvisioningIssues":"no"}}' - headers: - cache-control: - - no-cache - content-length: - - '839' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:03 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 6E5F2B088FC74086B610E8E3FFB73938 Ref B: MNZ221060619037 Ref C: 2025-03-21T14:46:56Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association show - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Learning","provisioningState":"Succeeded","hasProvisioningIssues":"no"}}' - headers: - cache-control: - - no-cache - content-length: - - '839' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:05 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: DD8FA1D8B8124F05AC97700538593EF0 Ref B: MNZ221060610051 Ref C: 2025-03-21T14:47:04Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association update - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --access-mode --private-link-resource - --profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_association_crud000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001","name":"test_nsp_association_crud000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_association_crud","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:43.9878435Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '436' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:05 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 2B95A73CD9734C158239178C6251F864 Ref B: MNZ221060610025 Ref C: 2025-03-21T14:47:05Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association update - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --access-mode --private-link-resource - --profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Learning","provisioningState":"Succeeded","hasProvisioningIssues":"no"}}' - headers: - cache-control: - - no-cache - content-length: - - '839' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:06 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 90A578002B71417C84F4E6DE6D3F62C0 Ref B: MNZ221060619031 Ref C: 2025-03-21T14:47:06Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap", "properties": {"accessMode": "Enforced", "privateLinkResource": - {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test"}, - "profile": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association update - Connection: - - keep-alive - Content-Length: - - '482' - Content-Type: - - application/json - ParameterSetName: - - --name --perimeter-name --resource-group --access-mode --private-link-resource - --profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Enforced","provisioningState":"Updating","hasProvisioningIssues":"no"}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/a5446a26-df24-4158-9c0a-783eaef0b50d?api-version=2024-07-01&t=638781652283192265&c=MIIHhzCCBm-gAwIBAgITfAaPVSYGYp0_a9-AhQAABo9VJjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIwMDgzNTM2WhcNMjUwNzE5MDgzNTM2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIvzhqGKiWeVv5oxugQQEZ8AxTC1p8Lu-WshPo0K7VS2EMvF_bHNAJa2ICbsiu5eWYlTaYcdzZL_li8T_EER2Dx5l6uj7GUfGoYbEJQ0ZdYtzLoQJYa5_x168-RsA7F1839wPdzv32z3afnCHOSeIzPiOiCJXb6FjOWJ-znbB2na5Gw4nwgaj4uxlRQGN3ElReqQ4P64xkAph5x91fRINLkaaRTDeKQ_g_suaN1BHm22myYRg2O9gZy5mhTUzDjj9HsrGu2-1-ZFNZZPMl5ltWBsQD6c_49DWpOowaX9ZSYaO9E9s45gP5YMr-ALxZrETB9ilbvFNbbXmv9Kc5LEc0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQj9GN21vymIgY86pEWjNqGR6-dlDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF0lTrFg0dSUCXo41FDWmaQFDJKZsucTat3vhDRkbIfxlo0n4QQJOqJQSCzj8n-NvH0p0CR42nsTk2C70Vpr54i80YKfcTOm0Q0Rq9FHB-Nz4KlrymTkU6hfeD0WRhUOq6PB1WhWLF_mqSzEwmTmuQAsVGXf8Gh0psllvyF--eEaF0pSbhEuo6lPzPk3hgUSico8gbSjr4hgIVn6x0JCa1XSFgaeKHIqD8eapb-mDfYa0QAQwJ8tYxzrkJ_n5OI7g5xCiIeV5DXmSzLTGx9QvaE4Y8-jFgRKG0qMhnqf8StrJOSKMrcJlHtjT7plbWt-fXPLHNvPydmtAiA2qygRnU0&s=A9dB3SHF8ht3-Hyt5BEO-s0GcrO-PtLLGnqO54hSbtSavHXhXWPZYHCY8FS1rWC1adr3nzn6TxfjJBlprDSgu-p9OcijujZ-sDFFAQezgI92ov7tukrOFGC8hX83g4C1M5vK8PpesDXQ_K11E8EJr4E-y6fzILidSUIoWscdp2tp9iBrRW8vbYXdhDuhnxG4gvyHgsjEQhW_P01iVTfxOnohXQzpm0gU69monNFwd1QbkQTDL0E3YNgOjb58noDbXPfKi4XgAGtMyymZyEGDiE9vm3K2WlLhgF2io_VcysWGhzcKVCY0jkkfiin3-_DCDpPOqYc-gPifDmTBM2hCwQ&h=dHiBrfDJ36cMHp1O33Z38hWzLhUFvVDE5nIePGDiel8 - cache-control: - - no-cache - content-length: - - '838' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:07 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: E191069922A84651971464585F9820BA Ref B: MNZ221060619031 Ref C: 2025-03-21T14:47:07Z' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association update - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --access-mode --private-link-resource - --profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/a5446a26-df24-4158-9c0a-783eaef0b50d?api-version=2024-07-01&t=638781652283192265&c=MIIHhzCCBm-gAwIBAgITfAaPVSYGYp0_a9-AhQAABo9VJjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIwMDgzNTM2WhcNMjUwNzE5MDgzNTM2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIvzhqGKiWeVv5oxugQQEZ8AxTC1p8Lu-WshPo0K7VS2EMvF_bHNAJa2ICbsiu5eWYlTaYcdzZL_li8T_EER2Dx5l6uj7GUfGoYbEJQ0ZdYtzLoQJYa5_x168-RsA7F1839wPdzv32z3afnCHOSeIzPiOiCJXb6FjOWJ-znbB2na5Gw4nwgaj4uxlRQGN3ElReqQ4P64xkAph5x91fRINLkaaRTDeKQ_g_suaN1BHm22myYRg2O9gZy5mhTUzDjj9HsrGu2-1-ZFNZZPMl5ltWBsQD6c_49DWpOowaX9ZSYaO9E9s45gP5YMr-ALxZrETB9ilbvFNbbXmv9Kc5LEc0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQj9GN21vymIgY86pEWjNqGR6-dlDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF0lTrFg0dSUCXo41FDWmaQFDJKZsucTat3vhDRkbIfxlo0n4QQJOqJQSCzj8n-NvH0p0CR42nsTk2C70Vpr54i80YKfcTOm0Q0Rq9FHB-Nz4KlrymTkU6hfeD0WRhUOq6PB1WhWLF_mqSzEwmTmuQAsVGXf8Gh0psllvyF--eEaF0pSbhEuo6lPzPk3hgUSico8gbSjr4hgIVn6x0JCa1XSFgaeKHIqD8eapb-mDfYa0QAQwJ8tYxzrkJ_n5OI7g5xCiIeV5DXmSzLTGx9QvaE4Y8-jFgRKG0qMhnqf8StrJOSKMrcJlHtjT7plbWt-fXPLHNvPydmtAiA2qygRnU0&s=A9dB3SHF8ht3-Hyt5BEO-s0GcrO-PtLLGnqO54hSbtSavHXhXWPZYHCY8FS1rWC1adr3nzn6TxfjJBlprDSgu-p9OcijujZ-sDFFAQezgI92ov7tukrOFGC8hX83g4C1M5vK8PpesDXQ_K11E8EJr4E-y6fzILidSUIoWscdp2tp9iBrRW8vbYXdhDuhnxG4gvyHgsjEQhW_P01iVTfxOnohXQzpm0gU69monNFwd1QbkQTDL0E3YNgOjb58noDbXPfKi4XgAGtMyymZyEGDiE9vm3K2WlLhgF2io_VcysWGhzcKVCY0jkkfiin3-_DCDpPOqYc-gPifDmTBM2hCwQ&h=dHiBrfDJ36cMHp1O33Z38hWzLhUFvVDE5nIePGDiel8 - response: - body: - string: '{"name":"a5446a26-df24-4158-9c0a-783eaef0b50d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/a5446a26-df24-4158-9c0a-783eaef0b50d","status":"Updating","startTime":"2025-03-21T14:47:08.2594103Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' - headers: - cache-control: - - no-cache - content-length: - - '550' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:08 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 1CC63E6A5EB341749C4B3F29A7220D41 Ref B: MNZ221060619031 Ref C: 2025-03-21T14:47:08Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association update - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --access-mode --private-link-resource - --profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/a5446a26-df24-4158-9c0a-783eaef0b50d?api-version=2024-07-01&t=638781652283192265&c=MIIHhzCCBm-gAwIBAgITfAaPVSYGYp0_a9-AhQAABo9VJjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIwMDgzNTM2WhcNMjUwNzE5MDgzNTM2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIvzhqGKiWeVv5oxugQQEZ8AxTC1p8Lu-WshPo0K7VS2EMvF_bHNAJa2ICbsiu5eWYlTaYcdzZL_li8T_EER2Dx5l6uj7GUfGoYbEJQ0ZdYtzLoQJYa5_x168-RsA7F1839wPdzv32z3afnCHOSeIzPiOiCJXb6FjOWJ-znbB2na5Gw4nwgaj4uxlRQGN3ElReqQ4P64xkAph5x91fRINLkaaRTDeKQ_g_suaN1BHm22myYRg2O9gZy5mhTUzDjj9HsrGu2-1-ZFNZZPMl5ltWBsQD6c_49DWpOowaX9ZSYaO9E9s45gP5YMr-ALxZrETB9ilbvFNbbXmv9Kc5LEc0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQj9GN21vymIgY86pEWjNqGR6-dlDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF0lTrFg0dSUCXo41FDWmaQFDJKZsucTat3vhDRkbIfxlo0n4QQJOqJQSCzj8n-NvH0p0CR42nsTk2C70Vpr54i80YKfcTOm0Q0Rq9FHB-Nz4KlrymTkU6hfeD0WRhUOq6PB1WhWLF_mqSzEwmTmuQAsVGXf8Gh0psllvyF--eEaF0pSbhEuo6lPzPk3hgUSico8gbSjr4hgIVn6x0JCa1XSFgaeKHIqD8eapb-mDfYa0QAQwJ8tYxzrkJ_n5OI7g5xCiIeV5DXmSzLTGx9QvaE4Y8-jFgRKG0qMhnqf8StrJOSKMrcJlHtjT7plbWt-fXPLHNvPydmtAiA2qygRnU0&s=A9dB3SHF8ht3-Hyt5BEO-s0GcrO-PtLLGnqO54hSbtSavHXhXWPZYHCY8FS1rWC1adr3nzn6TxfjJBlprDSgu-p9OcijujZ-sDFFAQezgI92ov7tukrOFGC8hX83g4C1M5vK8PpesDXQ_K11E8EJr4E-y6fzILidSUIoWscdp2tp9iBrRW8vbYXdhDuhnxG4gvyHgsjEQhW_P01iVTfxOnohXQzpm0gU69monNFwd1QbkQTDL0E3YNgOjb58noDbXPfKi4XgAGtMyymZyEGDiE9vm3K2WlLhgF2io_VcysWGhzcKVCY0jkkfiin3-_DCDpPOqYc-gPifDmTBM2hCwQ&h=dHiBrfDJ36cMHp1O33Z38hWzLhUFvVDE5nIePGDiel8 - response: - body: - string: '{"name":"a5446a26-df24-4158-9c0a-783eaef0b50d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/a5446a26-df24-4158-9c0a-783eaef0b50d","status":"Succeeded","startTime":"2025-03-21T14:47:08.2594103Z","endTime":"2025-03-21T14:47:12.2529945Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' - headers: - cache-control: - - no-cache - content-length: - - '592' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:39 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 873E6EBBFEA14AEB96149F38189AF2BA Ref B: MNZ221060619031 Ref C: 2025-03-21T14:47:39Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association update - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --access-mode --private-link-resource - --profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Enforced","provisioningState":"Succeeded","hasProvisioningIssues":"no"}}' - headers: - cache-control: - - no-cache - content-length: - - '839' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:41 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 05EA6BC2173E40FE97BC9A1AB2798746 Ref B: MNZ221060619031 Ref C: 2025-03-21T14:47:40Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association show - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Enforced","provisioningState":"Succeeded","hasProvisioningIssues":"no"}}' - headers: - cache-control: - - no-cache - content-length: - - '839' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:44 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 68C5EBE6CB964B64B29423CBB42B3B64 Ref B: MNZ221060608033 Ref C: 2025-03-21T14:47:42Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association list - Connection: - - keep-alive - ParameterSetName: - - --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations?api-version=2024-07-01 - response: - body: - string: '{"nextLink":"","value":[{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Enforced","provisioningState":"Succeeded","hasProvisioningIssues":"no"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '865' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:45 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: CEA7440643AD4F5490343277BBCCF7FA Ref B: MNZ221060619017 Ref C: 2025-03-21T14:47:45Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name --perimeter-name --resource-group --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Enforced","provisioningState":"Deleting","hasProvisioningIssues":"no"}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/1593769d-3c98-4661-97ed-1fdd9ce68fe0?api-version=2024-07-01&t=638781652677557147&c=MIIHhzCCBm-gAwIBAgITfAaTYo0ffVKAVQo0FAAABpNijTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIxMjE0MDQ4WhcNMjUwNzIwMjE0MDQ4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKl-TWTOH_oCbu9zNBntAM-9rowzTWYg_nRy16M4ghALCnU3YR0fsip-EwpHzk9rnA5iIgnJlMI24hzCv8PHGFCetnQdEMPxXIAtPo2i11HHKdcdycYnJhIqn0dddd92khimTrvPl1xVX65oC1uuMOEtYmaMGk26gGAo9mB9Zr4WVufN-UvLKvZwiDY-1ddNpdcUGB0S56H1dFUw8k7GHlWSYZS5eSVQZ9aXl7wJmQC-v3c2X-p3hLdo59aIWab5bWDKRbtaYjcAD6nr-GrtOOf2M96Ce_K9djoryf-X1tdOJSgIU4-Ortzj0xbyC9xNtrEVFfPwLRrR2KEGrEZkA4kCAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBSJEel4OnU1M8eUZtmgkwWb3vk1VTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABuKpMrZMDe3nmRYZgM_6QgVm5HpwSTDM72-Lvvtvbqu2HnIfPvmK-Qf9nxbZ3uCylFll3Zrq0s0c2GBdBoZmx7_eEa_ttQ9pvMj9uVUnuHbvLYOBYpmBIE8Q_b-DaOjC_1Rkkan6Jnpi_Cnu6QTe729Gf5FZnI0sIGY_eaetW7FjqOfGIlVKLX_50hcOXYCV_goHf2VHFIhVo4g9QShK_UEpzuG0yZCEKqHQRs-3UIEDZSuhchSmic2WNuSunTZ_HI9feNwqUIMBnn5EyIdrpjSszdDRR00CiJs7kBU2NvO5dQQ5qHwUJCWr69a42_uqATc6_1ViE8yGCSO6nZ0i1M&s=EratI6xLkqRE29VGBYbrxfpyPRl75YDfuZ4uQQQ6FzicHN8OLb2KiDg4WrQ8Nq9VCTa2X8_P2UUSszu6Htulcw8Wt7VKsCJJxkGrWayyqaUTgVGKihKhk-giswAZHCz_SN0eacoCTCjPfAJfjUQSKyyrV1weoKimtlX8Fg2B0rtOYuj4amwWMsr_Wgw12yrnD1pQohovDbZ5VJmQrLt8eh2b0EcRLEKA1Zr9Sae8U2kzdN-Wlj04LlDvqQ9RplGjAcJYU3v-uXppQpYUj3awm_60ljiZrjqTfi-xUrnfS_bEuXxs7ycQRpBBXqRWWzQZyNdlCkk1GskKmpAL4g2VQg&h=X3YvxJuLEAfU0w-MmpjiBE3dcEsyRVdSjKTLwZ5tdug - cache-control: - - no-cache - content-length: - - '838' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:47 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '799' - x-ms-ratelimit-remaining-subscription-global-deletes: - - '11999' - x-msedge-ref: - - 'Ref A: 1AFD3AADCEBE454FACC9919B45EE1EB8 Ref B: MNZ221060609037 Ref C: 2025-03-21T14:47:45Z' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association delete - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/1593769d-3c98-4661-97ed-1fdd9ce68fe0?api-version=2024-07-01&t=638781652677557147&c=MIIHhzCCBm-gAwIBAgITfAaTYo0ffVKAVQo0FAAABpNijTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIxMjE0MDQ4WhcNMjUwNzIwMjE0MDQ4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKl-TWTOH_oCbu9zNBntAM-9rowzTWYg_nRy16M4ghALCnU3YR0fsip-EwpHzk9rnA5iIgnJlMI24hzCv8PHGFCetnQdEMPxXIAtPo2i11HHKdcdycYnJhIqn0dddd92khimTrvPl1xVX65oC1uuMOEtYmaMGk26gGAo9mB9Zr4WVufN-UvLKvZwiDY-1ddNpdcUGB0S56H1dFUw8k7GHlWSYZS5eSVQZ9aXl7wJmQC-v3c2X-p3hLdo59aIWab5bWDKRbtaYjcAD6nr-GrtOOf2M96Ce_K9djoryf-X1tdOJSgIU4-Ortzj0xbyC9xNtrEVFfPwLRrR2KEGrEZkA4kCAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBSJEel4OnU1M8eUZtmgkwWb3vk1VTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABuKpMrZMDe3nmRYZgM_6QgVm5HpwSTDM72-Lvvtvbqu2HnIfPvmK-Qf9nxbZ3uCylFll3Zrq0s0c2GBdBoZmx7_eEa_ttQ9pvMj9uVUnuHbvLYOBYpmBIE8Q_b-DaOjC_1Rkkan6Jnpi_Cnu6QTe729Gf5FZnI0sIGY_eaetW7FjqOfGIlVKLX_50hcOXYCV_goHf2VHFIhVo4g9QShK_UEpzuG0yZCEKqHQRs-3UIEDZSuhchSmic2WNuSunTZ_HI9feNwqUIMBnn5EyIdrpjSszdDRR00CiJs7kBU2NvO5dQQ5qHwUJCWr69a42_uqATc6_1ViE8yGCSO6nZ0i1M&s=EratI6xLkqRE29VGBYbrxfpyPRl75YDfuZ4uQQQ6FzicHN8OLb2KiDg4WrQ8Nq9VCTa2X8_P2UUSszu6Htulcw8Wt7VKsCJJxkGrWayyqaUTgVGKihKhk-giswAZHCz_SN0eacoCTCjPfAJfjUQSKyyrV1weoKimtlX8Fg2B0rtOYuj4amwWMsr_Wgw12yrnD1pQohovDbZ5VJmQrLt8eh2b0EcRLEKA1Zr9Sae8U2kzdN-Wlj04LlDvqQ9RplGjAcJYU3v-uXppQpYUj3awm_60ljiZrjqTfi-xUrnfS_bEuXxs7ycQRpBBXqRWWzQZyNdlCkk1GskKmpAL4g2VQg&h=X3YvxJuLEAfU0w-MmpjiBE3dcEsyRVdSjKTLwZ5tdug - response: - body: - string: '{"name":"1593769d-3c98-4661-97ed-1fdd9ce68fe0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/1593769d-3c98-4661-97ed-1fdd9ce68fe0","status":"Deleting","startTime":"2025-03-21T14:47:47.6900225Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' - headers: - cache-control: - - no-cache - content-length: - - '550' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:47:47 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 48B924FE5DAA415592B293D183605365 Ref B: MNZ221060609037 Ref C: 2025-03-21T14:47:47Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association delete - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/1593769d-3c98-4661-97ed-1fdd9ce68fe0?api-version=2024-07-01&t=638781652677557147&c=MIIHhzCCBm-gAwIBAgITfAaTYo0ffVKAVQo0FAAABpNijTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIxMjE0MDQ4WhcNMjUwNzIwMjE0MDQ4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKl-TWTOH_oCbu9zNBntAM-9rowzTWYg_nRy16M4ghALCnU3YR0fsip-EwpHzk9rnA5iIgnJlMI24hzCv8PHGFCetnQdEMPxXIAtPo2i11HHKdcdycYnJhIqn0dddd92khimTrvPl1xVX65oC1uuMOEtYmaMGk26gGAo9mB9Zr4WVufN-UvLKvZwiDY-1ddNpdcUGB0S56H1dFUw8k7GHlWSYZS5eSVQZ9aXl7wJmQC-v3c2X-p3hLdo59aIWab5bWDKRbtaYjcAD6nr-GrtOOf2M96Ce_K9djoryf-X1tdOJSgIU4-Ortzj0xbyC9xNtrEVFfPwLRrR2KEGrEZkA4kCAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBSJEel4OnU1M8eUZtmgkwWb3vk1VTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABuKpMrZMDe3nmRYZgM_6QgVm5HpwSTDM72-Lvvtvbqu2HnIfPvmK-Qf9nxbZ3uCylFll3Zrq0s0c2GBdBoZmx7_eEa_ttQ9pvMj9uVUnuHbvLYOBYpmBIE8Q_b-DaOjC_1Rkkan6Jnpi_Cnu6QTe729Gf5FZnI0sIGY_eaetW7FjqOfGIlVKLX_50hcOXYCV_goHf2VHFIhVo4g9QShK_UEpzuG0yZCEKqHQRs-3UIEDZSuhchSmic2WNuSunTZ_HI9feNwqUIMBnn5EyIdrpjSszdDRR00CiJs7kBU2NvO5dQQ5qHwUJCWr69a42_uqATc6_1ViE8yGCSO6nZ0i1M&s=EratI6xLkqRE29VGBYbrxfpyPRl75YDfuZ4uQQQ6FzicHN8OLb2KiDg4WrQ8Nq9VCTa2X8_P2UUSszu6Htulcw8Wt7VKsCJJxkGrWayyqaUTgVGKihKhk-giswAZHCz_SN0eacoCTCjPfAJfjUQSKyyrV1weoKimtlX8Fg2B0rtOYuj4amwWMsr_Wgw12yrnD1pQohovDbZ5VJmQrLt8eh2b0EcRLEKA1Zr9Sae8U2kzdN-Wlj04LlDvqQ9RplGjAcJYU3v-uXppQpYUj3awm_60ljiZrjqTfi-xUrnfS_bEuXxs7ycQRpBBXqRWWzQZyNdlCkk1GskKmpAL4g2VQg&h=X3YvxJuLEAfU0w-MmpjiBE3dcEsyRVdSjKTLwZ5tdug - response: - body: - string: '{"name":"1593769d-3c98-4661-97ed-1fdd9ce68fe0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/networkSecurityPerimeterOperationStatuses/1593769d-3c98-4661-97ed-1fdd9ce68fe0","status":"Succeeded","startTime":"2025-03-21T14:47:47.6900225Z","endTime":"2025-03-21T14:47:52.5795659Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' - headers: - cache-control: - - no-cache - content-length: - - '592' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:48:19 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: A1CC0EBD99EB4191A5D9AE05C333610A Ref B: MNZ221060609037 Ref C: 2025-03-21T14:48:18Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter association show - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-07-01 - response: - body: - string: '{"error":{"message":"Resource [/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation] - does not exist or has been deleted","code":"NotFound"}}' - headers: - cache-control: - - no-cache - content-length: - - '309' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:48:20 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 9E1DB18B27CE47ED968C805C450FD05D Ref B: MNZ221060618031 Ref C: 2025-03-21T14:48:20Z' - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - keyvault delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name --resource-group --no-wait - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test?api-version=2023-02-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 21 Mar 2025 14:48:30 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-keyvault-service-version: - - 2.2.29.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '800' - x-ms-ratelimit-remaining-subscription-global-deletes: - - '12000' - x-msedge-ref: - - 'Ref A: F8405AEF9CF14C59AEDC62E6DC56A6CE Ref B: MNZ221060609019 Ref C: 2025-03-21T14:48:21Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - keyvault purge - Connection: - - keep-alive - ParameterSetName: - - --name -l --no-wait - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/eastus2euap/deletedVaults/kvclinsp19-test?api-version=2023-02-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/eastus2euap/deletedVaults/kvclinsp19-test","name":"kvclinsp19-test","type":"Microsoft.KeyVault/deletedVaults","properties":{"vaultId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp19-test","location":"eastus2euap","tags":{},"deletionDate":"2025-03-21T14:48:21Z","scheduledPurgeDate":"2025-06-19T14:48:21Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '503' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:48:29 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-keyvault-service-version: - - 2.2.29.0 - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: AF0C0570FF4647EDAFD5AD36ADBF2B07 Ref B: MNZ221060618021 Ref C: 2025-03-21T14:48:30Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - keyvault purge - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name -l --no-wait - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/eastus2euap/deletedVaults/kvclinsp19-test/purge?api-version=2023-02-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 21 Mar 2025 14:48:30 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/eastus2euap/operationResults/VVR8MDYzODc4MTY1MzExOTM1MjIyOHxDNUY2RDRBNzdGREE0QjNDQkU4ODZDMDYxQUVGMzQ3NQ?api-version=2023-02-01&t=638781653110296669&c=MIIHhzCCBm-gAwIBAgITfAaPVSYGYp0_a9-AhQAABo9VJjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIwMDgzNTM2WhcNMjUwNzE5MDgzNTM2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIvzhqGKiWeVv5oxugQQEZ8AxTC1p8Lu-WshPo0K7VS2EMvF_bHNAJa2ICbsiu5eWYlTaYcdzZL_li8T_EER2Dx5l6uj7GUfGoYbEJQ0ZdYtzLoQJYa5_x168-RsA7F1839wPdzv32z3afnCHOSeIzPiOiCJXb6FjOWJ-znbB2na5Gw4nwgaj4uxlRQGN3ElReqQ4P64xkAph5x91fRINLkaaRTDeKQ_g_suaN1BHm22myYRg2O9gZy5mhTUzDjj9HsrGu2-1-ZFNZZPMl5ltWBsQD6c_49DWpOowaX9ZSYaO9E9s45gP5YMr-ALxZrETB9ilbvFNbbXmv9Kc5LEc0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQj9GN21vymIgY86pEWjNqGR6-dlDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF0lTrFg0dSUCXo41FDWmaQFDJKZsucTat3vhDRkbIfxlo0n4QQJOqJQSCzj8n-NvH0p0CR42nsTk2C70Vpr54i80YKfcTOm0Q0Rq9FHB-Nz4KlrymTkU6hfeD0WRhUOq6PB1WhWLF_mqSzEwmTmuQAsVGXf8Gh0psllvyF--eEaF0pSbhEuo6lPzPk3hgUSico8gbSjr4hgIVn6x0JCa1XSFgaeKHIqD8eapb-mDfYa0QAQwJ8tYxzrkJ_n5OI7g5xCiIeV5DXmSzLTGx9QvaE4Y8-jFgRKG0qMhnqf8StrJOSKMrcJlHtjT7plbWt-fXPLHNvPydmtAiA2qygRnU0&s=QtNvD0ClxF6MSMN1Nw6ydQKRlmAhLYSrLa0tJPz_DTKXD6Ps304kUTXWuQPao_J25N2I10aSPLwvOafCg3SbS_qNgViEh7tWFtR73GPNwTdv5DFrOkFhmvDAW2NdMqroF2EXzxijt22pSHbbIvCJwSjmRApaExPToetMRTDsk7bWf2lI2zMoQBmqh4fwbm1NU9mS6E3y1bHX0QgMdO_Cy4sC56WIN9FaNq3cLegvJ6O1DWpiFb3--njAJ8z-TYejIXAEzdrfqNyVRDWdrxuHM6e2T5-TxlhxyTd0MNGIepCXkLee3NzL45azqFGXzsQjlA0m7xPlSPk1XqaJJZroRA&h=7HBrvYRL_0TZ5nJCN658CErtj8PPYaXVA4Ttf4CGew8 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-keyvault-service-version: - - 2.2.29.0 - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: 99E2F027E25042D9A6C89A7ABD20385F Ref B: MNZ221060619011 Ref C: 2025-03-21T14:48:30Z' - status: - code: 202 - message: Accepted -version: 1 +interactions: +- request: + body: '{"location": "centraluseuap"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter create + Connection: + - keep-alive + Content-Length: + - '29' + Content-Type: + - application/json + ParameterSetName: + - --name -l --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"centraluseuap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"572516d1-b3d5-4ced-b576-388fd1c5eb1b","provisioningState":"Succeeded"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:56.3837158Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:56.3837158Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/southindia/19f77a75-b5be-4658-b8e1-f51a44742290 + x-ms-ratelimit-remaining-subscription-global-writes: + - '12000' + x-ms-ratelimit-remaining-subscription-writes: + - '800' + x-msedge-ref: + - 'Ref A: EA478DA6637847ABB677F5DB0B6ECF5B Ref B: PNQ231110907034 Ref C: 2025-10-08T05:44:51Z' + status: + code: 200 + message: OK +- request: + body: '{}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile create + Connection: + - keep-alive + Content-Length: + - '2' + Content-Type: + - application/json + ParameterSetName: + - --name --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"centraluseuap","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:59.0616874Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:59.0616874Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '623' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/deb618fd-9d4c-4a36-969d-0707c9623120 + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: D7089AA29B0E4A65913A9E4E7DD8ED20 Ref B: PNQ231110907040 Ref C: 2025-10-08T05:44:58Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault create + Connection: + - keep-alive + ParameterSetName: + - --name -l --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test?api-version=2025-05-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.KeyVault/vaults/kvclinsp20-test'' + under resource group ''test_nsp_association_crud000001'' was not found. For + more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + cache-control: + - no-cache + content-length: + - '244' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + x-msedge-ref: + - 'Ref A: 337E1AF4599E475FBDBF81F2A2E5B04B Ref B: PNQ231110906031 Ref C: 2025-10-08T05:44:59Z' + status: + code: 404 + message: Not Found +- request: + body: '{"location": "centraluseuap", "properties": {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "sku": {"family": "A", "name": "standard"}, "accessPolicies": [], "enableSoftDelete": + true, "softDeleteRetentionInDays": 90, "enableRbacAuthorization": true, "networkAcls": + {"bypass": "AzureServices", "defaultAction": "Allow"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault create + Connection: + - keep-alive + Content-Length: + - '325' + Content-Type: + - application/json + ParameterSetName: + - --name -l --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test?api-version=2025-05-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test","name":"kvclinsp20-test","type":"Microsoft.KeyVault/vaults","location":"centraluseuap","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:01.643Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:01.643Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[],"enabledForDeployment":false,"enabledForDiskEncryption":false,"enabledForTemplateDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"enableRbacAuthorization":true,"vaultUri":"https://kvclinsp20-test.vault.azure.net","provisioningState":"RegisteringDns","publicNetworkAccess":"Enabled"}}' + headers: + cache-control: + - no-cache + content-length: + - '903' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:03 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 2.2.317.0 + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/ff44b657-56bc-46ad-930a-0e67f839b6c0 + x-ms-ratelimit-remaining-subscription-writes: + - '798' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: A0D0DCB7B7C74806BEF5A500EF421CAB Ref B: PNQ231110907036 Ref C: 2025-10-08T05:45:00Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault create + Connection: + - keep-alive + ParameterSetName: + - --name -l --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test?api-version=2025-05-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test","name":"kvclinsp20-test","type":"Microsoft.KeyVault/vaults","location":"centraluseuap","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:01.643Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:01.643Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[],"enabledForDeployment":false,"enabledForDiskEncryption":false,"enabledForTemplateDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"enableRbacAuthorization":true,"vaultUri":"https://kvclinsp20-test.vault.azure.net/","provisioningState":"RegisteringDns","publicNetworkAccess":"Enabled"}}' + headers: + cache-control: + - no-cache + content-length: + - '904' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 2.2.317.0 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 5484A9762D4645DCB16A2B97CD5F9A61 Ref B: PNQ231110909054 Ref C: 2025-10-08T05:45:03Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault create + Connection: + - keep-alive + ParameterSetName: + - --name -l --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test?api-version=2025-05-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test","name":"kvclinsp20-test","type":"Microsoft.KeyVault/vaults","location":"centraluseuap","tags":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:01.643Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:01.643Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[],"enabledForDeployment":false,"enabledForDiskEncryption":false,"enabledForTemplateDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"enableRbacAuthorization":true,"vaultUri":"https://kvclinsp20-test.vault.azure.net/","provisioningState":"Succeeded","publicNetworkAccess":"Enabled"}}' + headers: + cache-control: + - no-cache + content-length: + - '899' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:35 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 2.2.317.0 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: C6BB9AEE8235411C84241184C0682981 Ref B: PNQ231110906025 Ref C: 2025-10-08T05:45:35Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"accessMode": "Learning", "privateLinkResource": {"id": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test"}, + "profile": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association create + Connection: + - keep-alive + Content-Length: + - '455' + Content-Type: + - application/json + ParameterSetName: + - --name --perimeter-name --resource-group --access-mode --private-link-resource + --profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Learning","provisioningState":"Creating","hasProvisioningIssues":"no"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:39.2214384Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:39.2214384Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/294ca82f-9bf1-45c4-88df-f6897d92356d?api-version=2024-10-01&t=638954991414401696&c=MIIIrzCCBpegAwIBAgITUQB_nY_WoSbNATDH2QABAH-djzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDQwHhcNMjUwNzE4MTE0ODEyWhcNMjYwMTE0MTE0ODEyWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM4Yf2tzpQe96HmJYXWKDNIrKc9-o37fE5ZS4b0aA-QzeDYNU6SChIwqP2YcbSNanIvEZtyMLND05wziTsehor3TYDGdCUQTvHHMESwVZ_KfUoGcL_A8mkKSxKrnxatUado60utWQNKPx612AzyZrXK16o7OkYiqjeD3g74_notDIhNC7tO7x-bt73jOlCV4zusxXJgPHm3r_2uEhI7JEDW63UZZQLec3BGIMNQ6qeGsmha1hZKDOOJ0TvkFvcCep_8XOCH0cnbG3of4-EoQB7vPWTAYN1IAuf_75kUZFCq0BXRl5XdxWyWnPe9iEj5Zr_xqiVBExfmaRww6UeijHVUCAwEAAaOCBJwwggSYMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHkBggrBgEFBQcBAQSCAdYwggHSMGgGCCsGAQUFBzAChlxodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDEuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDIuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDMuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDQuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDAdBgNVHQ4EFgQUvMJ4Tm18Izes1FcZ2XAEMHzPZp4wDgYDVR0PAQH_BAQDAgWgMIIBNQYDVR0fBIIBLDCCASgwggEkoIIBIKCCARyGQmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DUkwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDEuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDIuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDMuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDQuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybDCBnQYDVR0gBIGVMIGSMAwGCisGAQQBgjd7AQEwZgYKKwYBBAGCN3sCAjBYMFYGCCsGAQUFBwICMEoeSAAzADMAZQAwADEAOQAyADEALQA0AGQANgA0AC0ANABmADgAYwAtAGEAMAA1ADUALQA1AGIAZABhAGYAZgBkADUAZQAzADMAZDAMBgorBgEEAYI3ewMCMAwGCisGAQQBgjd7BAIwHwYDVR0jBBgwFoAUOXFdqRUQLcTffi9ZbkBNwN_vNpowHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4ICAQDaxLpctX4jhwHu-mzX41_6auhZiKzgsqu6dCEnzG4Zj0DzCBfri-_5qdITCoCAbwxf-slBI3HfVL_NLYzx9O7iO8s4bc6uW6cYI8sk3nUHO5xHWf1cEYoa-XxQ2eSRFBU5Caf-XAjAfjgM-fyhHratIk62VOaqHYQr0M5wtXbWN1g_NNpM3eAfGJgTeuJzIvl-73RuK8VVs71jCs4DP92f74Eiz4mDC1kvxeGGRNkZirdosmarZnOLVe68hDuJCE-4I3qqDZXOYzIghXqhYWcQtztazZ4X8p-vnvW2t-ESKoktRcYl6_nvzCjnePLpH_Vs-Qt1ukHZ23BuCJpjLbVj7HTiaIVXCkYmP-iVpYN8s2ROSp4gBcGadyvBY922M6pMOgB8TAwyCmlAs5glnz4GPHAj47lUO_svkSiLXSpwRReCPkSLOfNJOThuCO8S7IrLGDptqkMHyAIXUVTZTh3PW9UicNi44sC_WkzX9NiAbPuwW5IhT8IzzJr-VcqT8VDCxzblbRv6HQfFVTy1K67ZE119xwAvp6Dk32IQGAOHjeKH6kFABKe0DDu5gttcd_XDHBmtBZ4-IQV8vozB0ioBUqMdKqVOvmF1thxnLWLXfqxxBjc2CSkeixa8WKdvzGKkxSmDmGS91XZWAbmkze2zg8eKrhWm0pcYuxU-2SF0zw&s=d0B98__SrEIDTx4lK13Dnb1mdFH5czTHIG3q1G0-ApdYI_rLonNO98fLQp4j7ki8DdfeuqpJ-c0c1ams2g75cI_Uhw2BXrN-PHIlebVAB2kQ20Vjnoycqpktm6PB0cMpqikj2lBmV8SB09CTImowc6eh-IDV3yXeK793fkSY-z4a2riNEN1hgIISqIv2z-vXi1r5_zEJnWWuIOsAGaaY5RNaXA3f8WWSZT5XLJOCD_Je3vnnR-G2T1WmIMHO9b3rKjff4_XIMHhOrMj7kYk8Sa8-yVM8_neRyOr-jDg-cfwTwF_7afNY-Cg0Jyx2JPL-lnuuLLKFnf7-V7hbJUWjcA&h=QAqWCcXxcwmJnXwMWhiTmvomNPMrMMYObwWt0-f0ucw + cache-control: + - no-cache + content-length: + - '1062' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:40 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/southindia/7b38d9d0-d469-4b7f-af5b-f1e73ba777ac + x-ms-ratelimit-remaining-subscription-global-writes: + - '11999' + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-msedge-ref: + - 'Ref A: 06C144217EBD4233BE0D46265C0821E4 Ref B: PNQ231110908040 Ref C: 2025-10-08T05:45:37Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association create + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --access-mode --private-link-resource + --profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/294ca82f-9bf1-45c4-88df-f6897d92356d?api-version=2024-10-01&t=638954991414401696&c=MIIIrzCCBpegAwIBAgITUQB_nY_WoSbNATDH2QABAH-djzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDQwHhcNMjUwNzE4MTE0ODEyWhcNMjYwMTE0MTE0ODEyWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM4Yf2tzpQe96HmJYXWKDNIrKc9-o37fE5ZS4b0aA-QzeDYNU6SChIwqP2YcbSNanIvEZtyMLND05wziTsehor3TYDGdCUQTvHHMESwVZ_KfUoGcL_A8mkKSxKrnxatUado60utWQNKPx612AzyZrXK16o7OkYiqjeD3g74_notDIhNC7tO7x-bt73jOlCV4zusxXJgPHm3r_2uEhI7JEDW63UZZQLec3BGIMNQ6qeGsmha1hZKDOOJ0TvkFvcCep_8XOCH0cnbG3of4-EoQB7vPWTAYN1IAuf_75kUZFCq0BXRl5XdxWyWnPe9iEj5Zr_xqiVBExfmaRww6UeijHVUCAwEAAaOCBJwwggSYMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHkBggrBgEFBQcBAQSCAdYwggHSMGgGCCsGAQUFBzAChlxodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDEuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDIuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDMuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDQuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDAdBgNVHQ4EFgQUvMJ4Tm18Izes1FcZ2XAEMHzPZp4wDgYDVR0PAQH_BAQDAgWgMIIBNQYDVR0fBIIBLDCCASgwggEkoIIBIKCCARyGQmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DUkwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDEuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDIuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDMuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDQuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybDCBnQYDVR0gBIGVMIGSMAwGCisGAQQBgjd7AQEwZgYKKwYBBAGCN3sCAjBYMFYGCCsGAQUFBwICMEoeSAAzADMAZQAwADEAOQAyADEALQA0AGQANgA0AC0ANABmADgAYwAtAGEAMAA1ADUALQA1AGIAZABhAGYAZgBkADUAZQAzADMAZDAMBgorBgEEAYI3ewMCMAwGCisGAQQBgjd7BAIwHwYDVR0jBBgwFoAUOXFdqRUQLcTffi9ZbkBNwN_vNpowHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4ICAQDaxLpctX4jhwHu-mzX41_6auhZiKzgsqu6dCEnzG4Zj0DzCBfri-_5qdITCoCAbwxf-slBI3HfVL_NLYzx9O7iO8s4bc6uW6cYI8sk3nUHO5xHWf1cEYoa-XxQ2eSRFBU5Caf-XAjAfjgM-fyhHratIk62VOaqHYQr0M5wtXbWN1g_NNpM3eAfGJgTeuJzIvl-73RuK8VVs71jCs4DP92f74Eiz4mDC1kvxeGGRNkZirdosmarZnOLVe68hDuJCE-4I3qqDZXOYzIghXqhYWcQtztazZ4X8p-vnvW2t-ESKoktRcYl6_nvzCjnePLpH_Vs-Qt1ukHZ23BuCJpjLbVj7HTiaIVXCkYmP-iVpYN8s2ROSp4gBcGadyvBY922M6pMOgB8TAwyCmlAs5glnz4GPHAj47lUO_svkSiLXSpwRReCPkSLOfNJOThuCO8S7IrLGDptqkMHyAIXUVTZTh3PW9UicNi44sC_WkzX9NiAbPuwW5IhT8IzzJr-VcqT8VDCxzblbRv6HQfFVTy1K67ZE119xwAvp6Dk32IQGAOHjeKH6kFABKe0DDu5gttcd_XDHBmtBZ4-IQV8vozB0ioBUqMdKqVOvmF1thxnLWLXfqxxBjc2CSkeixa8WKdvzGKkxSmDmGS91XZWAbmkze2zg8eKrhWm0pcYuxU-2SF0zw&s=d0B98__SrEIDTx4lK13Dnb1mdFH5czTHIG3q1G0-ApdYI_rLonNO98fLQp4j7ki8DdfeuqpJ-c0c1ams2g75cI_Uhw2BXrN-PHIlebVAB2kQ20Vjnoycqpktm6PB0cMpqikj2lBmV8SB09CTImowc6eh-IDV3yXeK793fkSY-z4a2riNEN1hgIISqIv2z-vXi1r5_zEJnWWuIOsAGaaY5RNaXA3f8WWSZT5XLJOCD_Je3vnnR-G2T1WmIMHO9b3rKjff4_XIMHhOrMj7kYk8Sa8-yVM8_neRyOr-jDg-cfwTwF_7afNY-Cg0Jyx2JPL-lnuuLLKFnf7-V7hbJUWjcA&h=QAqWCcXxcwmJnXwMWhiTmvomNPMrMMYObwWt0-f0ucw + response: + body: + string: '{"name":"294ca82f-9bf1-45c4-88df-f6897d92356d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/294ca82f-9bf1-45c4-88df-f6897d92356d","status":"Creating","startTime":"2025-10-08T05:45:41.2371967Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' + headers: + cache-control: + - no-cache + content-length: + - '552' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:41 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/68f29d6e-1d5c-46f2-9c9a-937c460dcc62 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: EAFF13D3063948A9BB22A25F78A57F73 Ref B: PNQ231110908036 Ref C: 2025-10-08T05:45:41Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association create + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --access-mode --private-link-resource + --profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/294ca82f-9bf1-45c4-88df-f6897d92356d?api-version=2024-10-01&t=638954991414401696&c=MIIIrzCCBpegAwIBAgITUQB_nY_WoSbNATDH2QABAH-djzANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDQwHhcNMjUwNzE4MTE0ODEyWhcNMjYwMTE0MTE0ODEyWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM4Yf2tzpQe96HmJYXWKDNIrKc9-o37fE5ZS4b0aA-QzeDYNU6SChIwqP2YcbSNanIvEZtyMLND05wziTsehor3TYDGdCUQTvHHMESwVZ_KfUoGcL_A8mkKSxKrnxatUado60utWQNKPx612AzyZrXK16o7OkYiqjeD3g74_notDIhNC7tO7x-bt73jOlCV4zusxXJgPHm3r_2uEhI7JEDW63UZZQLec3BGIMNQ6qeGsmha1hZKDOOJ0TvkFvcCep_8XOCH0cnbG3of4-EoQB7vPWTAYN1IAuf_75kUZFCq0BXRl5XdxWyWnPe9iEj5Zr_xqiVBExfmaRww6UeijHVUCAwEAAaOCBJwwggSYMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHkBggrBgEFBQcBAQSCAdYwggHSMGgGCCsGAQUFBzAChlxodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDEuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDIuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDMuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDBYBggrBgEFBQcwAoZMaHR0cDovL2NybDQuYW1lLmdibC9haWEvbWVsMDFwa2lpbnRjYTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNydDAdBgNVHQ4EFgQUvMJ4Tm18Izes1FcZ2XAEMHzPZp4wDgYDVR0PAQH_BAQDAgWgMIIBNQYDVR0fBIIBLDCCASgwggEkoIIBIKCCARyGQmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DUkwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDEuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDIuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDMuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybIY0aHR0cDovL2NybDQuYW1lLmdibC9jcmwvQU1FJTIwSW5mcmElMjBDQSUyMDA0KDEpLmNybDCBnQYDVR0gBIGVMIGSMAwGCisGAQQBgjd7AQEwZgYKKwYBBAGCN3sCAjBYMFYGCCsGAQUFBwICMEoeSAAzADMAZQAwADEAOQAyADEALQA0AGQANgA0AC0ANABmADgAYwAtAGEAMAA1ADUALQA1AGIAZABhAGYAZgBkADUAZQAzADMAZDAMBgorBgEEAYI3ewMCMAwGCisGAQQBgjd7BAIwHwYDVR0jBBgwFoAUOXFdqRUQLcTffi9ZbkBNwN_vNpowHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4ICAQDaxLpctX4jhwHu-mzX41_6auhZiKzgsqu6dCEnzG4Zj0DzCBfri-_5qdITCoCAbwxf-slBI3HfVL_NLYzx9O7iO8s4bc6uW6cYI8sk3nUHO5xHWf1cEYoa-XxQ2eSRFBU5Caf-XAjAfjgM-fyhHratIk62VOaqHYQr0M5wtXbWN1g_NNpM3eAfGJgTeuJzIvl-73RuK8VVs71jCs4DP92f74Eiz4mDC1kvxeGGRNkZirdosmarZnOLVe68hDuJCE-4I3qqDZXOYzIghXqhYWcQtztazZ4X8p-vnvW2t-ESKoktRcYl6_nvzCjnePLpH_Vs-Qt1ukHZ23BuCJpjLbVj7HTiaIVXCkYmP-iVpYN8s2ROSp4gBcGadyvBY922M6pMOgB8TAwyCmlAs5glnz4GPHAj47lUO_svkSiLXSpwRReCPkSLOfNJOThuCO8S7IrLGDptqkMHyAIXUVTZTh3PW9UicNi44sC_WkzX9NiAbPuwW5IhT8IzzJr-VcqT8VDCxzblbRv6HQfFVTy1K67ZE119xwAvp6Dk32IQGAOHjeKH6kFABKe0DDu5gttcd_XDHBmtBZ4-IQV8vozB0ioBUqMdKqVOvmF1thxnLWLXfqxxBjc2CSkeixa8WKdvzGKkxSmDmGS91XZWAbmkze2zg8eKrhWm0pcYuxU-2SF0zw&s=d0B98__SrEIDTx4lK13Dnb1mdFH5czTHIG3q1G0-ApdYI_rLonNO98fLQp4j7ki8DdfeuqpJ-c0c1ams2g75cI_Uhw2BXrN-PHIlebVAB2kQ20Vjnoycqpktm6PB0cMpqikj2lBmV8SB09CTImowc6eh-IDV3yXeK793fkSY-z4a2riNEN1hgIISqIv2z-vXi1r5_zEJnWWuIOsAGaaY5RNaXA3f8WWSZT5XLJOCD_Je3vnnR-G2T1WmIMHO9b3rKjff4_XIMHhOrMj7kYk8Sa8-yVM8_neRyOr-jDg-cfwTwF_7afNY-Cg0Jyx2JPL-lnuuLLKFnf7-V7hbJUWjcA&h=QAqWCcXxcwmJnXwMWhiTmvomNPMrMMYObwWt0-f0ucw + response: + body: + string: '{"name":"294ca82f-9bf1-45c4-88df-f6897d92356d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/294ca82f-9bf1-45c4-88df-f6897d92356d","status":"Succeeded","startTime":"2025-10-08T05:45:41.2371967Z","endTime":"2025-10-08T05:45:46.5940383Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' + headers: + cache-control: + - no-cache + content-length: + - '594' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:12 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/908e9294-aa70-44e9-9bc5-9ad3096f33e6 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 9F9C50EA6AEF48649E0ECE47BA1DBFC5 Ref B: PNQ231110906023 Ref C: 2025-10-08T05:46:12Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association create + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --access-mode --private-link-resource + --profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Learning","provisioningState":"Succeeded","hasProvisioningIssues":"no"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:39.2214384Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:39.2214384Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1063' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:12 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/3d85f360-c6f0-498e-b8b8-3dfe91e336d9 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 050822A2DFB34E6588A6122EF86EF2E1 Ref B: PNQ231110906060 Ref C: 2025-10-08T05:46:12Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association show + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Learning","provisioningState":"Succeeded","hasProvisioningIssues":"no"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:39.2214384Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:39.2214384Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1063' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centralindia/bb4b5dc1-9065-488d-9483-9f03385116fd + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: F22A5D48C1D84873B2CF237D17323F6D Ref B: PNQ231110907034 Ref C: 2025-10-08T05:46:13Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association update + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --access-mode --private-link-resource + --profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Learning","provisioningState":"Succeeded","hasProvisioningIssues":"no"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:39.2214384Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:39.2214384Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1063' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:18 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/fe389872-709d-42e7-a66e-acb1f888a5c2 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 9B87198EF40D43D19580076F88741B57 Ref B: PNQ231110908042 Ref C: 2025-10-08T05:46:17Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"accessMode": "Enforced", "privateLinkResource": {"id": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test"}, + "profile": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association update + Connection: + - keep-alive + Content-Length: + - '455' + Content-Type: + - application/json + ParameterSetName: + - --name --perimeter-name --resource-group --access-mode --private-link-resource + --profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Enforced","provisioningState":"Updating","hasProvisioningIssues":"no"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:39.2214384Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:46:18.6633991Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/b8a8fb4d-882d-4237-b05e-cb188b551a73?api-version=2024-10-01&t=638954991788039164&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=q4iXjpsfik6JFj0mY4k71Dgm3o9xZfDGml8iBmQtYfLwxZvJVYOmwjXHoPgk-ddBQ_ff-Rk_tLSHpRMpGsAv65YIYxAG-8ViKXfTLgoJNhna-2GFhIuQw_Ydl3KLXz-bbXEflLQSyDHHwX08bopTa8_6YicyH8E7ne4eLZYH7h101W2VR_c2jZqPngjNXUVSMVYrk4OTBu453pw-INEOLqZcMg8xNFOObgAqiHUMkIMSvUdy0rICfsyrPBz3I8ZazULc04S9InF3cIhjdbCFMmym0uH1ArapSSuCLKmnldj5Hku57MeE_LcdgviH0QRTDK_znW2cbgvuMUXc6jLzjw&h=6TSbVWJVVXehGrjNHyx5uq3fYDVk7Ub_P42quxVBAOY + cache-control: + - no-cache + content-length: + - '1062' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:18 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/76b9513c-45f9-491d-ab30-7dd29b543c4c + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 25F4C9AD27DC44FEB01505F2E7051978 Ref B: PNQ231110907023 Ref C: 2025-10-08T05:46:18Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association update + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --access-mode --private-link-resource + --profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/b8a8fb4d-882d-4237-b05e-cb188b551a73?api-version=2024-10-01&t=638954991788039164&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=q4iXjpsfik6JFj0mY4k71Dgm3o9xZfDGml8iBmQtYfLwxZvJVYOmwjXHoPgk-ddBQ_ff-Rk_tLSHpRMpGsAv65YIYxAG-8ViKXfTLgoJNhna-2GFhIuQw_Ydl3KLXz-bbXEflLQSyDHHwX08bopTa8_6YicyH8E7ne4eLZYH7h101W2VR_c2jZqPngjNXUVSMVYrk4OTBu453pw-INEOLqZcMg8xNFOObgAqiHUMkIMSvUdy0rICfsyrPBz3I8ZazULc04S9InF3cIhjdbCFMmym0uH1ArapSSuCLKmnldj5Hku57MeE_LcdgviH0QRTDK_znW2cbgvuMUXc6jLzjw&h=6TSbVWJVVXehGrjNHyx5uq3fYDVk7Ub_P42quxVBAOY + response: + body: + string: '{"name":"b8a8fb4d-882d-4237-b05e-cb188b551a73","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/b8a8fb4d-882d-4237-b05e-cb188b551a73","status":"Updating","startTime":"2025-10-08T05:46:18.7613505Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' + headers: + cache-control: + - no-cache + content-length: + - '552' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/012499f1-087d-4c92-9995-481e61c61fa6 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 25A124CC12F34B3B8B818347D32E92ED Ref B: PNQ231110909062 Ref C: 2025-10-08T05:46:19Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association update + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --access-mode --private-link-resource + --profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/b8a8fb4d-882d-4237-b05e-cb188b551a73?api-version=2024-10-01&t=638954991788039164&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=q4iXjpsfik6JFj0mY4k71Dgm3o9xZfDGml8iBmQtYfLwxZvJVYOmwjXHoPgk-ddBQ_ff-Rk_tLSHpRMpGsAv65YIYxAG-8ViKXfTLgoJNhna-2GFhIuQw_Ydl3KLXz-bbXEflLQSyDHHwX08bopTa8_6YicyH8E7ne4eLZYH7h101W2VR_c2jZqPngjNXUVSMVYrk4OTBu453pw-INEOLqZcMg8xNFOObgAqiHUMkIMSvUdy0rICfsyrPBz3I8ZazULc04S9InF3cIhjdbCFMmym0uH1ArapSSuCLKmnldj5Hku57MeE_LcdgviH0QRTDK_znW2cbgvuMUXc6jLzjw&h=6TSbVWJVVXehGrjNHyx5uq3fYDVk7Ub_P42quxVBAOY + response: + body: + string: '{"name":"b8a8fb4d-882d-4237-b05e-cb188b551a73","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/b8a8fb4d-882d-4237-b05e-cb188b551a73","status":"Succeeded","startTime":"2025-10-08T05:46:18.7613505Z","endTime":"2025-10-08T05:46:23.9001837Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' + headers: + cache-control: + - no-cache + content-length: + - '594' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/901ab1b5-8662-4abf-ad55-1b023178a68a + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 752114CC6B67460C8E41C25645EF8505 Ref B: PNQ231110909036 Ref C: 2025-10-08T05:46:51Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association update + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --access-mode --private-link-resource + --profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Enforced","provisioningState":"Succeeded","hasProvisioningIssues":"no"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:39.2214384Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:46:18.6633991Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1063' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/d66f7c3b-d69a-4089-b1b7-4e939f433351 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 554AFB56022443A5BFEB9E4463939FB7 Ref B: PNQ231110906031 Ref C: 2025-10-08T05:46:51Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association show + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Enforced","provisioningState":"Succeeded","hasProvisioningIssues":"no"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:39.2214384Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:46:18.6633991Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1063' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:55 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/southindia/88fc8de6-60b0-4796-a35a-73fa8cfa293f + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: C9F691A41A0B4C9F8717AFE3998D6BD5 Ref B: PNQ231110908036 Ref C: 2025-10-08T05:46:52Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association list + Connection: + - keep-alive + ParameterSetName: + - --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations?api-version=2024-10-01 + response: + body: + string: '{"nextLink":"","value":[{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Enforced","provisioningState":"Succeeded","hasProvisioningIssues":"no"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:39.2214384Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:46:18.6633991Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1089' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/f6c6514b-a9a5-4511-905a-cef9c1589e0c + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 809D8ECF29914C82913AE0B6C270FA8C Ref B: PNQ231110908060 Ref C: 2025-10-08T05:46:56Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --perimeter-name --resource-group --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspAssociation","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation","type":"Microsoft.Network/networkSecurityPerimeters/resourceAssociations","properties":{"privateLinkResource":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test"},"profile":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile"},"accessMode":"Enforced","provisioningState":"Deleting","hasProvisioningIssues":"no"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/2c5d29da-a81b-4878-8034-7cc2f316012f?api-version=2024-10-01&t=638954992172222733&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=ao4A6aMsRKMmKkvjSZOhP6oliGJf8bkUsN3H44nPn1ODOv8eXydWCAm6XhSslSJMVAGXWVJq2yJFfgv-axP2SSFqvov8CcUS2kKcGO0D-OzX2pcuaU-bjO-FVMxrVkqmEVLjzTr081BvrZbApiSFvwWMZKsZspfiJplaWi3CRv9vyxzGlM733E7mnuCbr4UpmlEpCzdSP8hltd9_wgI15eWrJHlOpGVNJAp2rfQda9LtR448_GpqHGVwtQ6OgZ_WqjBs5k6_YAxp41QTc4t4ueUNM8gDuvw2k4kbxLQ6myn28Uaw3skjGACW2yhHiiV_33ZwiVVhRg59xbDwG_i-zw&h=CgF1Zq2pMIL5Hq8vb9OVl4NMJsodrxnBE9ocdhqW6Ec + cache-control: + - no-cache + content-length: + - '838' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/e8a7ca6c-bce6-43e2-a036-12ac55209c3f + x-ms-ratelimit-remaining-subscription-deletes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: AE9F56C632754429B316EBDB9A1DBB2E Ref B: PNQ231110907060 Ref C: 2025-10-08T05:46:56Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association delete + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/2c5d29da-a81b-4878-8034-7cc2f316012f?api-version=2024-10-01&t=638954992172222733&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=ao4A6aMsRKMmKkvjSZOhP6oliGJf8bkUsN3H44nPn1ODOv8eXydWCAm6XhSslSJMVAGXWVJq2yJFfgv-axP2SSFqvov8CcUS2kKcGO0D-OzX2pcuaU-bjO-FVMxrVkqmEVLjzTr081BvrZbApiSFvwWMZKsZspfiJplaWi3CRv9vyxzGlM733E7mnuCbr4UpmlEpCzdSP8hltd9_wgI15eWrJHlOpGVNJAp2rfQda9LtR448_GpqHGVwtQ6OgZ_WqjBs5k6_YAxp41QTc4t4ueUNM8gDuvw2k4kbxLQ6myn28Uaw3skjGACW2yhHiiV_33ZwiVVhRg59xbDwG_i-zw&h=CgF1Zq2pMIL5Hq8vb9OVl4NMJsodrxnBE9ocdhqW6Ec + response: + body: + string: '{"name":"2c5d29da-a81b-4878-8034-7cc2f316012f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/2c5d29da-a81b-4878-8034-7cc2f316012f","status":"Deleting","startTime":"2025-10-08T05:46:57.1567292Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' + headers: + cache-control: + - no-cache + content-length: + - '552' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:46:57 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/9dd0d6f3-961f-46f4-adf4-229ebf198017 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 3684EDDAA0374BEA8F4730588A2D5580 Ref B: PNQ231110908036 Ref C: 2025-10-08T05:46:57Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association delete + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/2c5d29da-a81b-4878-8034-7cc2f316012f?api-version=2024-10-01&t=638954992172222733&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=ao4A6aMsRKMmKkvjSZOhP6oliGJf8bkUsN3H44nPn1ODOv8eXydWCAm6XhSslSJMVAGXWVJq2yJFfgv-axP2SSFqvov8CcUS2kKcGO0D-OzX2pcuaU-bjO-FVMxrVkqmEVLjzTr081BvrZbApiSFvwWMZKsZspfiJplaWi3CRv9vyxzGlM733E7mnuCbr4UpmlEpCzdSP8hltd9_wgI15eWrJHlOpGVNJAp2rfQda9LtR448_GpqHGVwtQ6OgZ_WqjBs5k6_YAxp41QTc4t4ueUNM8gDuvw2k4kbxLQ6myn28Uaw3skjGACW2yhHiiV_33ZwiVVhRg59xbDwG_i-zw&h=CgF1Zq2pMIL5Hq8vb9OVl4NMJsodrxnBE9ocdhqW6Ec + response: + body: + string: '{"name":"2c5d29da-a81b-4878-8034-7cc2f316012f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/2c5d29da-a81b-4878-8034-7cc2f316012f","status":"Succeeded","startTime":"2025-10-08T05:46:57.1567292Z","endTime":"2025-10-08T05:47:05.7732617Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation"}}' + headers: + cache-control: + - no-cache + content-length: + - '594' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:47:28 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/b8187f2c-12a6-4035-b0b0-35a56630ac61 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 109EC3444940461CBB64FEB75F5B6FDD Ref B: PNQ231110906023 Ref C: 2025-10-08T05:47:28Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter association show + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation?api-version=2024-10-01 + response: + body: + string: '{"error":{"message":"Resource [/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/resourceAssociations/TestNspAssociation] + does not exist or has been deleted","code":"NotFound"}}' + headers: + cache-control: + - no-cache + content-length: + - '309' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:47:29 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/06c47cfd-2964-4b72-9a49-f6e09574beb6 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: FC4B9E60EE504A23AC9657541FDF0E01 Ref B: PNQ231110906060 Ref C: 2025-10-08T05:47:29Z' + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group --no-wait + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test?api-version=2025-05-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 08 Oct 2025 05:47:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 2.2.317.0 + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/2a986c29-8300-4f2f-885f-8a4f83dc1dbd + x-ms-ratelimit-remaining-subscription-deletes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: CBAAD87C47584391BCD028A48A2FBC9D Ref B: PNQ231110909052 Ref C: 2025-10-08T05:47:29Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault purge + Connection: + - keep-alive + ParameterSetName: + - --name -l --no-wait + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/centraluseuap/deletedVaults/kvclinsp20-test?api-version=2025-05-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/centraluseuap/deletedVaults/kvclinsp20-test","name":"kvclinsp20-test","type":"Microsoft.KeyVault/deletedVaults","properties":{"vaultId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_association_crud000001/providers/Microsoft.KeyVault/vaults/kvclinsp20-test","location":"centraluseuap","tags":{},"deletionDate":"2025-10-08T05:47:29Z","scheduledPurgeDate":"2026-01-06T05:47:29Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '507' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:47:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 2.2.317.0 + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/westindia/d43f3bc2-79c2-4e78-b203-94a7866c14bf + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 66039B704D7348B2A61064BA4CC13F0E Ref B: PNQ231110907034 Ref C: 2025-10-08T05:47:32Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault purge + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name -l --no-wait + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/centraluseuap/deletedVaults/kvclinsp20-test/purge?api-version=2025-05-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 08 Oct 2025 05:47:33 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/centraluseuap/operationResults/VVR8MDYzODk1NDk5MjU0NDQ3NzUxMHwzNjJDNDBBM0Y1NTQ0RjZCOEUxRkREODREQTVDOTM4OA?api-version=2025-05-01&t=638954992536339497&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=hv79uVDiP89tlJ1sEkUhWpKq5MqVB7jFHGhfUbcwNqR-6aVfVHFkiLUE-W3JlfOLQKkiE26yq3mADKXRCD_eOZ3SdlqMQPpH-R80w-Biqbf5ujMHhlDmNvZY70QlyTLbrxbWidb0sGcxoGfjRPjQOcJCtxzaHKsQ6IurM2M_xq8pun7Bc0xYHO3KBmCkgT8Znc-z6b86vF4QqzcXbcwYqknr6fcGcxYc_OAGduoQHFEb1JyLUkUqfdrXDsZAAeE_lwbGJsAQ88ACexO6qC2Vf33_sOfVF6Q3ypHEhun3Wry4b6I9jaUwjImRFBCz5d0ho8vc5pxsUiRELFeuj_5omg&h=H38a7lw-7MRPIA4jCGMp01VSFMcMLyct2S2izojA6Dk + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 2.2.317.0 + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/32534b80-f70e-489c-ab4e-ad6dc3305069 + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 1EF7FA0562854891B8C8A36781E674E7 Ref B: PNQ231110907062 Ref C: 2025-10-08T05:47:33Z' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_crud.yaml b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_crud.yaml index 57b05c0e2dc..f25ddcba942 100644 --- a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_crud.yaml +++ b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_crud.yaml @@ -1,332 +1,444 @@ -interactions: -- request: - body: '{"location": "eastus2euap"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter create - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name -l --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"eastus2euap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"948a2601-97f0-4521-9989-69e723985e0b","provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '416' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:47 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: B202D67437E247039FADEFA1EB6FA625 Ref B: MNZ221060609021 Ref C: 2025-03-21T14:45:46Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter show - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"eastus2euap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"948a2601-97f0-4521-9989-69e723985e0b","provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '416' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:49 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: BD73F340825C4CD5B368C98934198F95 Ref B: MNZ221060619025 Ref C: 2025-03-21T14:45:48Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter list - Connection: - - keep-alive - ParameterSetName: - - --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters?api-version=2024-07-01 - response: - body: - string: '{"nextLink":"","value":[{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"eastus2euap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"948a2601-97f0-4521-9989-69e723985e0b","provisioningState":"Succeeded"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '442' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:51 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: E9F3473FC9FA47118CA4541ECE96768D Ref B: MNZ221060619031 Ref C: 2025-03-21T14:45:50Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g --name --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-07-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 21 Mar 2025 14:45:53 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '799' - x-ms-ratelimit-remaining-subscription-global-deletes: - - '11999' - x-msedge-ref: - - 'Ref A: 4BC81337DBB54D2CA4335A719D772FFB Ref B: MNZ221060608011 Ref C: 2025-03-21T14:45:51Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter associable-resource-type list - Connection: - - keep-alive - ParameterSetName: - - -l - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/perimeterAssociableResourceTypes?api-version=2024-07-01 - response: - body: - string: '{"type":"","nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/perimeterAssociableResourceTypes?api-version=2024-07-01&firstIndex=10&pageSize=10","value":[{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Sql.servers","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Sql.servers","properties":{"providerNamespace":"Microsoft.Sql","resourceType":"servers","displayName":"Microsoft.Sql/servers","apiVersion":"2021-02-01-preview","publicDnsZones":["database.windows.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Storage.storageAccounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Storage.storageAccounts","properties":{"providerNamespace":"Microsoft.Storage","resourceType":"storageAccounts","displayName":"Microsoft.Storage/storageAccounts","apiVersion":"2021-09-01","publicDnsZones":["blob.core.windows.net","table.core.windows.net","queue.core.windows.net","file.core.windows.net","web.core.windows.net","dfs.core.windows.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.EventHub.namespaces","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.EventHub.namespaces","properties":{"providerNamespace":"Microsoft.EventHub","resourceType":"namespaces","displayName":"Microsoft.EventHub/namespaces","apiVersion":"2022-01-01-preview","publicDnsZones":["servicebus.windows.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.CognitiveServices.accounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.CognitiveServices.accounts","properties":{"providerNamespace":"Microsoft.CognitiveServices","resourceType":"accounts","displayName":"Microsoft.CognitiveServices/accounts","apiVersion":"2021-10-01","publicDnsZones":["cognitiveservices.azure.com","openai.azure.com"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Search.searchServices","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Search.searchServices","properties":{"providerNamespace":"Microsoft.Search","resourceType":"searchServices","displayName":"Microsoft.Search/searchServices","apiVersion":"2021-06-06-Preview","publicDnsZones":["search.windows.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Purview.accounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Purview.accounts","properties":{"providerNamespace":"Microsoft.Purview","resourceType":"accounts","displayName":"Microsoft.Purview/accounts","apiVersion":"2022-02-01-preview","publicDnsZones":["purview.azure.com"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.ContainerService.managedClusters","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.ContainerService.managedClusters","properties":{"providerNamespace":"Microsoft.ContainerService","resourceType":"managedClusters","displayName":"Microsoft.ContainerService/managedClusters","apiVersion":"2022-03-01","publicDnsZones":["azmk8s.io"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.KeyVault.vaults","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.KeyVault.vaults","properties":{"providerNamespace":"Microsoft.KeyVault","resourceType":"vaults","displayName":"Microsoft.KeyVault/vaults","apiVersion":"2022-02-01-preview","publicDnsZones":["vault.azure.net","vaultcore.azure.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.OperationalInsights.workspaces","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.OperationalInsights.workspaces","properties":{"providerNamespace":"Microsoft.OperationalInsights","resourceType":"workspaces","displayName":"Microsoft.OperationalInsights/workspaces","apiVersion":"2021-10-01","publicDnsZones":["monitor.azure.com","oms.opinsights.azure.com","ods.opinsights.azure.com","agentsvc.azure-automation.net","blob.core.windows.net"],"features":["query","ingestion"],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Insights.dataCollectionEndpoints","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Insights.dataCollectionEndpoints","properties":{"providerNamespace":"Microsoft.Insights","resourceType":"dataCollectionEndpoints","displayName":"Microsoft.Insights/dataCollectionEndpoints","apiVersion":"2021-10-01","publicDnsZones":["monitor.azure.com"],"features":[],"availableControls":[]}}]}' - headers: - cache-control: - - no-cache - content-length: - - '5359' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:54 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: B60DE7AF620C4235BEEE74410714072C Ref B: MNZ221060610035 Ref C: 2025-03-21T14:45:54Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter associable-resource-type list - Connection: - - keep-alive - ParameterSetName: - - -l - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/perimeterAssociableResourceTypes?api-version=2024-07-01&firstIndex=10&pageSize=10 - response: - body: - string: '{"type":"","nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/perimeterAssociableResourceTypes?api-version=2024-07-01&firstIndex=20&pageSize=10","value":[{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.ServiceBus.namespaces","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.ServiceBus.namespaces","properties":{"providerNamespace":"Microsoft.ServiceBus","resourceType":"namespaces","displayName":"Microsoft.ServiceBus/namespaces","apiVersion":"2022-01-01-preview","publicDnsZones":["servicebus.windows.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Insights.ScheduledQueryRules","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Insights.ScheduledQueryRules","properties":{"providerNamespace":"Microsoft.Insights","resourceType":"ScheduledQueryRules","displayName":"Microsoft.Insights/ScheduledQueryRules","apiVersion":"2021-10-01","publicDnsZones":[],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Insights.actionGroups","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Insights.actionGroups","properties":{"providerNamespace":"Microsoft.Insights","resourceType":"actionGroups","displayName":"Microsoft.Insights/actionGroups","apiVersion":"2021-10-01","publicDnsZones":["azns.azure.com","azns.azure.net","azns.azure.cn","azns.microsofticm.com","azurenotifications.msftcloudes.cn","azurenotifications.msftcloudes.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.DocumentDB.databaseAccounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.DocumentDB.databaseAccounts","properties":{"providerNamespace":"Microsoft.DocumentDB","resourceType":"databaseAccounts","displayName":"Microsoft.DocumentDB/databaseAccounts","apiVersion":"2022-08-15-preview","publicDnsZones":["documents.azure.com","mongo.cosmos.azure.com","cassandra.cosmos.azure.com","gremlin.cosmos.azure.com","table.cosmos.azure.com"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Devices.IotHubs","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Devices.IotHubs","properties":{"providerNamespace":"Microsoft.Devices","resourceType":"IotHubs","displayName":"Microsoft.Devices/IotHubs","apiVersion":"2023-07-15-preview","publicDnsZones":["servicebus.windows.net","azure-devices.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.DigitalTwins.digitalTwinsInstances","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.DigitalTwins.digitalTwinsInstances","properties":{"providerNamespace":"Microsoft.DigitalTwins","resourceType":"digitalTwinsInstances","displayName":"Microsoft.DigitalTwins/digitalTwinsInstances","apiVersion":"2023-06-30-preview","publicDnsZones":["digitaltwins.azure.net","digitaltwins.azure.cn","azuredigitaltwins-ppe.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Attestation.attestationProviders","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Attestation.attestationProviders","properties":{"providerNamespace":"Microsoft.Attestation","resourceType":"attestationProviders","displayName":"Microsoft.Attestation/attestationProviders","apiVersion":"2023-03-01-preview","publicDnsZones":["attest.azure.net","attest.azure.us"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.BotService.botServices","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.BotService.botServices","properties":{"providerNamespace":"Microsoft.BotService","resourceType":"botServices","displayName":"Microsoft.BotService/botServices","apiVersion":"2022-06-15-preview","publicDnsZones":["botframework.com"],"features":["bot","channelClient","tokenService"],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.ContainerRegistry.registries","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.ContainerRegistry.registries","properties":{"providerNamespace":"Microsoft.ContainerRegistry","resourceType":"registries","displayName":"Microsoft.ContainerRegistry/registries","apiVersion":"2023-05-31-preview","publicDnsZones":["azurecr.io"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.DeviceUpdate.accounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.DeviceUpdate.accounts","properties":{"providerNamespace":"Microsoft.DeviceUpdate","resourceType":"accounts","displayName":"Microsoft.DeviceUpdate/accounts","apiVersion":"2023-09-01-preview","publicDnsZones":["adu.microsoft.com"],"features":[],"availableControls":[]}}]}' - headers: - cache-control: - - no-cache - content-length: - - '5524' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:55 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 037FA7529D6A453BB92AF6CD58D41777 Ref B: MNZ221060610035 Ref C: 2025-03-21T14:45:54Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter associable-resource-type list - Connection: - - keep-alive - ParameterSetName: - - -l - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/perimeterAssociableResourceTypes?api-version=2024-07-01&firstIndex=20&pageSize=10 - response: - body: - string: '{"type":"","nextLink":"","value":[{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.EventGrid.topics","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.EventGrid.topics","properties":{"providerNamespace":"Microsoft.EventGrid","resourceType":"topics","displayName":"Microsoft.EventGrid/topics","apiVersion":"2023-06-01-preview","publicDnsZones":["eventgrid.azure.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.EventGrid.domains","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.EventGrid.domains","properties":{"providerNamespace":"Microsoft.EventGrid","resourceType":"domains","displayName":"Microsoft.EventGrid/domains","apiVersion":"2023-06-01-preview","publicDnsZones":["eventgrid.azure.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.AppConfiguration.configurationStores","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.AppConfiguration.configurationStores","properties":{"providerNamespace":"Microsoft.AppConfiguration","resourceType":"configurationStores","displayName":"Microsoft.AppConfiguration/configurationStores","apiVersion":"2024-07-01-preview","publicDnsZones":["azconfig.io","azconfig.azure.us","azconfig.azure.cn"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Batch.batchAccounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Batch.batchAccounts","properties":{"providerNamespace":"Microsoft.Batch","resourceType":"batchAccounts","displayName":"Microsoft.Batch/batchAccounts","apiVersion":"2024-03-01-privatepreview","publicDnsZones":["batch.azure.com","batch.chinacloudapi.cn","batch.eaglex.ic.gov","batch.microsoft.scloud","batch-test.windows-int.net","batch.usgovcloudapi.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Web.sites","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Web.sites","properties":{"providerNamespace":"Microsoft.Web","resourceType":"sites","displayName":"Microsoft.Web/sites","apiVersion":"2022-03-01","publicDnsZones":["azurewebsites.net"],"features":["mainSite","scmSite","mainSiteForSlots","scmSiteForSlots"],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.HybridCompute.privateLinkScopes","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.HybridCompute","properties":{"providerNamespace":"Microsoft.HybridCompute","resourceType":"privateLinkScopes","displayName":"Microsoft.HybridCompute.privateLinkScopes","apiVersion":"2023-10-03-preview","publicDnsZones":["his.arc.azure.com","guestconfiguration.azure.com","dp.kubernetesconfiguration.azure.com"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Communication.CommunicationServices","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Communication.CommunicationServices","properties":{"providerNamespace":"Microsoft.Communication","resourceType":"CommunicationServices","displayName":"Microsoft.Communication/CommunicationServices","apiVersion":"2023-12-25-preview","publicDnsZones":["communication.azure.com","communication.azure.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Network.networkWatchers","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Network.networkWatchers","properties":{"providerNamespace":"Microsoft.Network","resourceType":"networkWatchers","displayName":"Microsoft.Network/networkWatchers","apiVersion":"2024-01-01","publicDnsZones":["networkwatcher.azure.com"],"features":[],"availableControls":[]}}]}' - headers: - cache-control: - - no-cache - content-length: - - '4241' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:55 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: E7FF9F1DA7414C56963275E547BFF780 Ref B: MNZ221060610035 Ref C: 2025-03-21T14:45:55Z' - status: - code: 200 - message: OK -version: 1 +interactions: +- request: + body: '{"location": "centraluseuap"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter create + Connection: + - keep-alive + Content-Length: + - '29' + Content-Type: + - application/json + ParameterSetName: + - --name -l --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"centraluseuap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"9da7306e-3e0e-4985-8353-7e5bec79253b","provisioningState":"Succeeded"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:56.5889392Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:56.5889392Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '642' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/829a5313-24bd-4b83-800d-380f0405eb24 + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 09A921736DC243D491BD662B7CB27059 Ref B: PNQ231110909062 Ref C: 2025-10-08T05:44:56Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"centraluseuap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"9da7306e-3e0e-4985-8353-7e5bec79253b","provisioningState":"Succeeded"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:56.5889392Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:56.5889392Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '642' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:57 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 8BDD9D4F568B46BFB62AD81A1D7A1F07 Ref B: PNQ231110906054 Ref C: 2025-10-08T05:44:56Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters?api-version=2024-10-01 + response: + body: + string: '{"value":[{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"centraluseuap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"9da7306e-3e0e-4985-8353-7e5bec79253b","provisioningState":"Succeeded"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:56.5889392Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:56.5889392Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - '' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: D9E88CB020524837AFF9412B37C04C32 Ref B: PNQ231110909052 Ref C: 2025-10-08T05:44:57Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-10-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/9da7306e-3e0e-4985-8353-7e5bec79253b?api-version=2024-10-01&t=638954990988582137&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=7xG0YFrv3_V0kZJ6UIVHCOBiXdtkyS_KZeo3wgDRW8X9pVz373z_wjhwBCseWZ8ea797dt7-HIpkrPmKK5dbYkExxwxw8e-zwY1PXiWw9EczGitQchanFsGNO6w1eH6FQQZAp33nGVHVYrsrXxN4aPYAF_J9t4PsA5arKb5ketcEFMHXNqRtpfYpjbKtVBi7BnChYukxCafZaVG7pJd33WQzPhQ8z0eJzQUCKRIsReLIRJFdso1u9Bk5JfRKBml_cJFhjvHWW8d_NuIWoi5w4E9y2CHctlSOlhiUTVfcxWRcia_TNu8jSw9ecsr_Hyif6DJ43UytdfRshuNPrkxRew&h=XYDMt5WCq3pvjr7J9UGt76VTw8dkqnXGunpcdJqxK3E + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 08 Oct 2025 05:44:58 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/9da7306e-3e0e-4985-8353-7e5bec79253b?api-version=2024-10-01&t=638954990988738597&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=qtE2mq_SbwbalgNoZNd_-8NTIGlS3UoEVwVJ9Nm_h9v7-S2r8Kg19J7dvcqp0Q357FzDDfqxwAn7qY0RjUHklPR68zcB8TTgzYmk8DTdXsId8dm-mqeRxOZyuU7k-RtXp5m8dfXWLKi7MQ4ZAjya-3hoIGP_EHgO8lGWtt1dbptsubM0mm4W1YZlm_n-KmyNeZxIWOROWHlYVCezxQQDyzoRJ7ZAngXvWWgC81dbKiWFiHQh_XKQoH_S7txr9IgTM44bXP5gQVZg458T1wugYSMrjtJXjG-EHaQ_oSpC_zl7wem9mnK1K91DxAdX_dwOYkokEvdWTR30Nguy102JfA&h=Rp7fLBWP9wcf3cphkm-7j_hTlriKxDsidqooSrfNU7w + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/2456ea73-9f7e-4e1c-aa4d-865fb7a77048 + x-ms-ratelimit-remaining-subscription-deletes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 520D6ADDDA744C94B1FE20B5BA691269 Ref B: PNQ231110909052 Ref C: 2025-10-08T05:44:58Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter delete + Connection: + - keep-alive + ParameterSetName: + - -g --name --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/9da7306e-3e0e-4985-8353-7e5bec79253b?api-version=2024-10-01&t=638954990988582137&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=7xG0YFrv3_V0kZJ6UIVHCOBiXdtkyS_KZeo3wgDRW8X9pVz373z_wjhwBCseWZ8ea797dt7-HIpkrPmKK5dbYkExxwxw8e-zwY1PXiWw9EczGitQchanFsGNO6w1eH6FQQZAp33nGVHVYrsrXxN4aPYAF_J9t4PsA5arKb5ketcEFMHXNqRtpfYpjbKtVBi7BnChYukxCafZaVG7pJd33WQzPhQ8z0eJzQUCKRIsReLIRJFdso1u9Bk5JfRKBml_cJFhjvHWW8d_NuIWoi5w4E9y2CHctlSOlhiUTVfcxWRcia_TNu8jSw9ecsr_Hyif6DJ43UytdfRshuNPrkxRew&h=XYDMt5WCq3pvjr7J9UGt76VTw8dkqnXGunpcdJqxK3E + response: + body: + string: '{"name":"9da7306e-3e0e-4985-8353-7e5bec79253b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/9da7306e-3e0e-4985-8353-7e5bec79253b","status":"Deleting","startTime":"2025-10-08T05:44:58.8251958Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter"}}' + headers: + cache-control: + - no-cache + content-length: + - '500' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/6acd2e98-b769-4739-85e1-4c0778b65b4c + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 20E419F4410D41ABA727924E809D13D2 Ref B: PNQ231110907060 Ref C: 2025-10-08T05:44:59Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter delete + Connection: + - keep-alive + ParameterSetName: + - -g --name --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/9da7306e-3e0e-4985-8353-7e5bec79253b?api-version=2024-10-01&t=638954990988582137&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=7xG0YFrv3_V0kZJ6UIVHCOBiXdtkyS_KZeo3wgDRW8X9pVz373z_wjhwBCseWZ8ea797dt7-HIpkrPmKK5dbYkExxwxw8e-zwY1PXiWw9EczGitQchanFsGNO6w1eH6FQQZAp33nGVHVYrsrXxN4aPYAF_J9t4PsA5arKb5ketcEFMHXNqRtpfYpjbKtVBi7BnChYukxCafZaVG7pJd33WQzPhQ8z0eJzQUCKRIsReLIRJFdso1u9Bk5JfRKBml_cJFhjvHWW8d_NuIWoi5w4E9y2CHctlSOlhiUTVfcxWRcia_TNu8jSw9ecsr_Hyif6DJ43UytdfRshuNPrkxRew&h=XYDMt5WCq3pvjr7J9UGt76VTw8dkqnXGunpcdJqxK3E + response: + body: + string: '{"name":"9da7306e-3e0e-4985-8353-7e5bec79253b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/networkSecurityPerimeterOperationStatuses/9da7306e-3e0e-4985-8353-7e5bec79253b","status":"Succeeded","startTime":"2025-10-08T05:44:58.8251958Z","endTime":"2025-10-08T05:44:59.5242926Z","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter"}}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:30 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/a4cbda88-8003-4df5-b97a-ef63af4d603d + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: EFBBFD83D59F42538FC7B93634C786B4 Ref B: PNQ231110906031 Ref C: 2025-10-08T05:45:29Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter associable-resource-type list + Connection: + - keep-alive + ParameterSetName: + - -l + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/perimeterAssociableResourceTypes?api-version=2024-10-01 + response: + body: + string: '{"type":"","nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/perimeterAssociableResourceTypes?api-version=2024-10-01&firstIndex=10&pageSize=10","value":[{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Sql.servers","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Sql.servers","properties":{"providerNamespace":"Microsoft.Sql","resourceType":"servers","displayName":"Microsoft.Sql/servers","apiVersion":"2021-02-01-preview","publicDnsZones":["database.windows.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Storage.storageAccounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Storage.storageAccounts","properties":{"providerNamespace":"Microsoft.Storage","resourceType":"storageAccounts","displayName":"Microsoft.Storage/storageAccounts","apiVersion":"2021-09-01","publicDnsZones":["blob.core.windows.net","table.core.windows.net","queue.core.windows.net","file.core.windows.net","web.core.windows.net","dfs.core.windows.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.EventHub.namespaces","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.EventHub.namespaces","properties":{"providerNamespace":"Microsoft.EventHub","resourceType":"namespaces","displayName":"Microsoft.EventHub/namespaces","apiVersion":"2022-01-01-preview","publicDnsZones":["servicebus.windows.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.CognitiveServices.accounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.CognitiveServices.accounts","properties":{"providerNamespace":"Microsoft.CognitiveServices","resourceType":"accounts","displayName":"Microsoft.CognitiveServices/accounts","apiVersion":"2021-10-01","publicDnsZones":["cognitiveservices.azure.com","openai.azure.com"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Search.searchServices","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Search.searchServices","properties":{"providerNamespace":"Microsoft.Search","resourceType":"searchServices","displayName":"Microsoft.Search/searchServices","apiVersion":"2021-06-06-Preview","publicDnsZones":["search.windows.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Purview.accounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Purview.accounts","properties":{"providerNamespace":"Microsoft.Purview","resourceType":"accounts","displayName":"Microsoft.Purview/accounts","apiVersion":"2022-02-01-preview","publicDnsZones":["purview.azure.com"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.ContainerService.managedClusters","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.ContainerService.managedClusters","properties":{"providerNamespace":"Microsoft.ContainerService","resourceType":"managedClusters","displayName":"Microsoft.ContainerService/managedClusters","apiVersion":"2022-03-01","publicDnsZones":["azmk8s.io"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.KeyVault.vaults","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.KeyVault.vaults","properties":{"providerNamespace":"Microsoft.KeyVault","resourceType":"vaults","displayName":"Microsoft.KeyVault/vaults","apiVersion":"2022-02-01-preview","publicDnsZones":["vault.azure.net","vaultcore.azure.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.OperationalInsights.workspaces","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.OperationalInsights.workspaces","properties":{"providerNamespace":"Microsoft.OperationalInsights","resourceType":"workspaces","displayName":"Microsoft.OperationalInsights/workspaces","apiVersion":"2021-10-01","publicDnsZones":["monitor.azure.com","oms.opinsights.azure.com","ods.opinsights.azure.com","agentsvc.azure-automation.net","blob.core.windows.net"],"features":["query","ingestion"],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Insights.dataCollectionEndpoints","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Insights.dataCollectionEndpoints","properties":{"providerNamespace":"Microsoft.Insights","resourceType":"dataCollectionEndpoints","displayName":"Microsoft.Insights/dataCollectionEndpoints","apiVersion":"2021-10-01","publicDnsZones":["monitor.azure.com"],"features":[],"availableControls":[]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '5361' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/6e6f902d-fb03-4a93-9dc3-a4b6879c0ddd + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 4466AC8EE1CB4C73B4B94C76683DE41D Ref B: PNQ231110908062 Ref C: 2025-10-08T05:45:31Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter associable-resource-type list + Connection: + - keep-alive + ParameterSetName: + - -l + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/perimeterAssociableResourceTypes?api-version=2024-10-01&firstIndex=10&pageSize=10 + response: + body: + string: '{"type":"","nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/perimeterAssociableResourceTypes?api-version=2024-10-01&firstIndex=20&pageSize=10","value":[{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.ServiceBus.namespaces","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.ServiceBus.namespaces","properties":{"providerNamespace":"Microsoft.ServiceBus","resourceType":"namespaces","displayName":"Microsoft.ServiceBus/namespaces","apiVersion":"2025-05-01-preview","publicDnsZones":["servicebus.windows.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Insights.ScheduledQueryRules","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Insights.ScheduledQueryRules","properties":{"providerNamespace":"Microsoft.Insights","resourceType":"ScheduledQueryRules","displayName":"Microsoft.Insights/ScheduledQueryRules","apiVersion":"2021-10-01","publicDnsZones":[],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Insights.actionGroups","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Insights.actionGroups","properties":{"providerNamespace":"Microsoft.Insights","resourceType":"actionGroups","displayName":"Microsoft.Insights/actionGroups","apiVersion":"2021-10-01","publicDnsZones":["azns.azure.com","azns.azure.net","azns.azure.cn","azns.microsofticm.com","azurenotifications.msftcloudes.cn","azurenotifications.msftcloudes.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.DocumentDB.databaseAccounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.DocumentDB.databaseAccounts","properties":{"providerNamespace":"Microsoft.DocumentDB","resourceType":"databaseAccounts","displayName":"Microsoft.DocumentDB/databaseAccounts","apiVersion":"2024-05-15-preview","publicDnsZones":["documents.azure.com","mongo.cosmos.azure.com","cassandra.cosmos.azure.com","gremlin.cosmos.azure.com","table.cosmos.azure.com"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Devices.IotHubs","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Devices.IotHubs","properties":{"providerNamespace":"Microsoft.Devices","resourceType":"IotHubs","displayName":"Microsoft.Devices/IotHubs","apiVersion":"2023-07-15-preview","publicDnsZones":["servicebus.windows.net","azure-devices.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.DigitalTwins.digitalTwinsInstances","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.DigitalTwins.digitalTwinsInstances","properties":{"providerNamespace":"Microsoft.DigitalTwins","resourceType":"digitalTwinsInstances","displayName":"Microsoft.DigitalTwins/digitalTwinsInstances","apiVersion":"2023-06-30-preview","publicDnsZones":["digitaltwins.azure.net","digitaltwins.azure.cn","azuredigitaltwins-ppe.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Attestation.attestationProviders","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Attestation.attestationProviders","properties":{"providerNamespace":"Microsoft.Attestation","resourceType":"attestationProviders","displayName":"Microsoft.Attestation/attestationProviders","apiVersion":"2023-03-01-preview","publicDnsZones":["attest.azure.net","attest.azure.us"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.BotService.botServices","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.BotService.botServices","properties":{"providerNamespace":"Microsoft.BotService","resourceType":"botServices","displayName":"Microsoft.BotService/botServices","apiVersion":"2022-06-15-preview","publicDnsZones":["botframework.com"],"features":["bot","channelClient","tokenService"],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.ContainerRegistry.registries","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.ContainerRegistry.registries","properties":{"providerNamespace":"Microsoft.ContainerRegistry","resourceType":"registries","displayName":"Microsoft.ContainerRegistry/registries","apiVersion":"2023-05-31-preview","publicDnsZones":["azurecr.io"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.DeviceUpdate.accounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.DeviceUpdate.accounts","properties":{"providerNamespace":"Microsoft.DeviceUpdate","resourceType":"accounts","displayName":"Microsoft.DeviceUpdate/accounts","apiVersion":"2023-09-01-preview","publicDnsZones":["adu.microsoft.com"],"features":[],"availableControls":[]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '5526' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/westindia/cc16fc53-f098-41f5-9ec3-337348348fd4 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 12FC91CBCCB04E87B19A38D1DA2B7F5E Ref B: PNQ231110907060 Ref C: 2025-10-08T05:45:31Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter associable-resource-type list + Connection: + - keep-alive + ParameterSetName: + - -l + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/perimeterAssociableResourceTypes?api-version=2024-10-01&firstIndex=20&pageSize=10 + response: + body: + string: '{"type":"","nextLink":"","value":[{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.EventGrid.topics","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.EventGrid.topics","properties":{"providerNamespace":"Microsoft.EventGrid","resourceType":"topics","displayName":"Microsoft.EventGrid/topics","apiVersion":"2023-06-01-preview","publicDnsZones":["eventgrid.azure.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.EventGrid.domains","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.EventGrid.domains","properties":{"providerNamespace":"Microsoft.EventGrid","resourceType":"domains","displayName":"Microsoft.EventGrid/domains","apiVersion":"2023-06-01-preview","publicDnsZones":["eventgrid.azure.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.AppConfiguration.configurationStores","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.AppConfiguration.configurationStores","properties":{"providerNamespace":"Microsoft.AppConfiguration","resourceType":"configurationStores","displayName":"Microsoft.AppConfiguration/configurationStores","apiVersion":"2025-08-01-preview","publicDnsZones":["azconfig.io","azconfig.azure.us","azconfig.azure.cn"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Batch.batchAccounts","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Batch.batchAccounts","properties":{"providerNamespace":"Microsoft.Batch","resourceType":"batchAccounts","displayName":"Microsoft.Batch/batchAccounts","apiVersion":"2024-03-01-privatepreview","publicDnsZones":["batch.azure.com","batch.chinacloudapi.cn","batch.eaglex.ic.gov","batch.microsoft.scloud","batch-test.windows-int.net","batch.usgovcloudapi.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Web.sites","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Web.sites","properties":{"providerNamespace":"Microsoft.Web","resourceType":"sites","displayName":"Microsoft.Web/sites","apiVersion":"2022-03-01","publicDnsZones":["azurewebsites.net"],"features":["mainSite","scmSite","mainSiteForSlots","scmSiteForSlots"],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.HybridCompute.privateLinkScopes","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.HybridCompute","properties":{"providerNamespace":"Microsoft.HybridCompute","resourceType":"privateLinkScopes","displayName":"Microsoft.HybridCompute.privateLinkScopes","apiVersion":"2023-10-03-preview","publicDnsZones":["his.arc.azure.com","guestconfiguration.azure.com","dp.kubernetesconfiguration.azure.com"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Communication.CommunicationServices","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Communication.CommunicationServices","properties":{"providerNamespace":"Microsoft.Communication","resourceType":"CommunicationServices","displayName":"Microsoft.Communication/CommunicationServices","apiVersion":"2023-12-25-preview","publicDnsZones":["communication.azure.com","communication.azure.net"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Network.networkWatchers","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Network.networkWatchers","properties":{"providerNamespace":"Microsoft.Network","resourceType":"networkWatchers","displayName":"Microsoft.Network/networkWatchers","apiVersion":"2024-01-01","publicDnsZones":["networkwatcher.azure.com"],"features":[],"availableControls":[]}},{"type":"Microsoft.Network/PerimeterAssociableResourceTypes","name":"Microsoft.Kusto.clusters","id":"/subscriptions/{subscriptionId}/providers/Microsoft.Network/PerimeterAssociableResourceTypes/Microsoft.Kusto.clusters","properties":{"providerNamespace":"Microsoft.Kusto","resourceType":"clusters","displayName":"Microsoft.Kusto/clusters","apiVersion":"2025-02-14","publicDnsZones":["kusto.windows.net"],"features":[],"availableControls":[]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '4684' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/de6c796a-d5c6-4d74-96ff-f65186b664c7 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 490292E7304442D6BA479B2C9E6F7CFF Ref B: PNQ231110909023 Ref C: 2025-10-08T05:45:32Z' + status: + code: 200 + message: OK +version: 1 diff --git a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_link_linkreference_crud.yaml b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_link_linkreference_crud.yaml index 6fd21e22137..3c3637e6f84 100644 --- a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_link_linkreference_crud.yaml +++ b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_link_linkreference_crud.yaml @@ -1,733 +1,763 @@ -interactions: -- request: - body: '{"location": "eastus2euap"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter create - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name -l --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNetworkSecurityPerimeter1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1","location":"eastus2euap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"cecdbbc0-bb97-4808-bd18-4a4fe5302337","provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '423' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:49 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: 708AA51B8B5743CF861593519DC753D3 Ref B: MNZ221060608007 Ref C: 2025-03-21T14:45:46Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter create - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name -l --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNetworkSecurityPerimeter2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","location":"eastus2euap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"0a835a32-ab2d-4c97-a80d-51e840988de0","provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '423' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:49 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: AB6BF968B199471EBFE2B8116E089632 Ref B: MNZ221060609039 Ref C: 2025-03-21T14:45:49Z' - status: - code: 200 - message: OK -- request: - body: '{"properties": {"autoApprovedRemotePerimeterResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2", - "localInboundProfiles": ["*"], "remoteInboundProfiles": ["*"]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link create - Connection: - - keep-alive - Content-Length: - - '299' - Content-Type: - - application/json - ParameterSetName: - - --name --perimeter-name --resource-group --auto-remote-nsp-id --local-inbound-profile - --remote-inbound-profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","type":"Microsoft.Network/networkSecurityPerimeters/links","properties":{"provisioningState":"Accepted","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterGuid":"0a835a32-ab2d-4c97-a80d-51e840988de0","remotePerimeterLocation":"eastus2euap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto - Approved."}}' - headers: - cache-control: - - no-cache - content-length: - - '820' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:56 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: C2AC8CE7D0C84EC0A3FF7C17A1AF3916 Ref B: MNZ221060609021 Ref C: 2025-03-21T14:45:50Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link show - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","type":"Microsoft.Network/networkSecurityPerimeters/links","properties":{"provisioningState":"Accepted","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterGuid":"0a835a32-ab2d-4c97-a80d-51e840988de0","remotePerimeterLocation":"eastus2euap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto - Approved."}}' - headers: - cache-control: - - no-cache - content-length: - - '820' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:56 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 97914362A16D48F2B55CCFE5551B7995 Ref B: MNZ221060609053 Ref C: 2025-03-21T14:45:56Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link list - Connection: - - keep-alive - ParameterSetName: - - --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links?api-version=2024-07-01 - response: - body: - string: '{"nextLink":"","value":[{"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","type":"Microsoft.Network/networkSecurityPerimeters/links","properties":{"provisioningState":"Accepted","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterGuid":"0a835a32-ab2d-4c97-a80d-51e840988de0","remotePerimeterLocation":"eastus2euap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto - Approved."}}]}' - headers: - cache-control: - - no-cache - content-length: - - '846' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:57 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 23D67F665A7A4C929FCF34FE18029116 Ref B: MNZ221060608025 Ref C: 2025-03-21T14:45:57Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link update - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --local-inbound-profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","type":"Microsoft.Network/networkSecurityPerimeters/links","properties":{"provisioningState":"Accepted","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterGuid":"0a835a32-ab2d-4c97-a80d-51e840988de0","remotePerimeterLocation":"eastus2euap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto - Approved."}}' - headers: - cache-control: - - no-cache - content-length: - - '820' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:58 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: A7721691A1524293B3D4E1176C2D57DA Ref B: MNZ221060619049 Ref C: 2025-03-21T14:45:58Z' - status: - code: 200 - message: OK -- request: - body: '{"properties": {"autoApprovedRemotePerimeterResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2", - "description": "Auto Approved.", "localInboundProfiles": ["*"], "remoteInboundProfiles": - ["*"]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link update - Connection: - - keep-alive - Content-Length: - - '332' - Content-Type: - - application/json - ParameterSetName: - - --name --perimeter-name --resource-group --local-inbound-profile - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","type":"Microsoft.Network/networkSecurityPerimeters/links","properties":{"provisioningState":"Accepted","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterGuid":"0a835a32-ab2d-4c97-a80d-51e840988de0","remotePerimeterLocation":"eastus2euap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto - Approved."}}' - headers: - cache-control: - - no-cache - content-length: - - '820' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:46:01 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: F6307FFC166D4DAB9BE0DF0B3B3C5188 Ref B: MNZ221060619049 Ref C: 2025-03-21T14:45:59Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name --perimeter-name --resource-group --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1?api-version=2024-07-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 21 Mar 2025 14:46:04 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1/operationResults/8a265e46-dad2-4bfd-92db-20da141e5d26?api-version=2024-07-01&t=638781651647091661&c=MIIHhzCCBm-gAwIBAgITfAaPVSYGYp0_a9-AhQAABo9VJjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIwMDgzNTM2WhcNMjUwNzE5MDgzNTM2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIvzhqGKiWeVv5oxugQQEZ8AxTC1p8Lu-WshPo0K7VS2EMvF_bHNAJa2ICbsiu5eWYlTaYcdzZL_li8T_EER2Dx5l6uj7GUfGoYbEJQ0ZdYtzLoQJYa5_x168-RsA7F1839wPdzv32z3afnCHOSeIzPiOiCJXb6FjOWJ-znbB2na5Gw4nwgaj4uxlRQGN3ElReqQ4P64xkAph5x91fRINLkaaRTDeKQ_g_suaN1BHm22myYRg2O9gZy5mhTUzDjj9HsrGu2-1-ZFNZZPMl5ltWBsQD6c_49DWpOowaX9ZSYaO9E9s45gP5YMr-ALxZrETB9ilbvFNbbXmv9Kc5LEc0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQj9GN21vymIgY86pEWjNqGR6-dlDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF0lTrFg0dSUCXo41FDWmaQFDJKZsucTat3vhDRkbIfxlo0n4QQJOqJQSCzj8n-NvH0p0CR42nsTk2C70Vpr54i80YKfcTOm0Q0Rq9FHB-Nz4KlrymTkU6hfeD0WRhUOq6PB1WhWLF_mqSzEwmTmuQAsVGXf8Gh0psllvyF--eEaF0pSbhEuo6lPzPk3hgUSico8gbSjr4hgIVn6x0JCa1XSFgaeKHIqD8eapb-mDfYa0QAQwJ8tYxzrkJ_n5OI7g5xCiIeV5DXmSzLTGx9QvaE4Y8-jFgRKG0qMhnqf8StrJOSKMrcJlHtjT7plbWt-fXPLHNvPydmtAiA2qygRnU0&s=RRoPmcA6rc5KzAgHBEGNxF2Fb3s1n2k2flOpULDi8xXmTgAywjHlvQpaP-SQqZihrIBdILTrkz4s_wNzXBx4r2Wz19ws8ywaxhmwUy1N2KjPB3H1bmdVaGoARc50l_f6HekxK5LgWeGQEilnIaQgc88ql_d-88XdsCH5nO7ekBm2mfKa1oSN0ozUzGbymiARikU6M9f4H-Nzeqc4xDfHJ3dLQTtkyHtq33ySd8aq77Dg4RR9DnOjiQmy4_2JDTDSVaM2ZtItES8JixKdFbUovoR5mmEZ6xNhZ5aX2XyXl7seJumu3tTN8IszyKRsBXYp96ie2oNKoFA9Cw4cGcUS9Q&h=jqYPiaZxuaYMLjS72i6UctEGDkprlNXViscBw8NpOM0 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '799' - x-ms-ratelimit-remaining-subscription-global-deletes: - - '11999' - x-msedge-ref: - - 'Ref A: 8C932517425241C99A1BD5E503942316 Ref B: MNZ221060618047 Ref C: 2025-03-21T14:46:02Z' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link delete - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1/operationResults/8a265e46-dad2-4bfd-92db-20da141e5d26?api-version=2024-07-01&t=638781651647091661&c=MIIHhzCCBm-gAwIBAgITfAaPVSYGYp0_a9-AhQAABo9VJjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIwMDgzNTM2WhcNMjUwNzE5MDgzNTM2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIvzhqGKiWeVv5oxugQQEZ8AxTC1p8Lu-WshPo0K7VS2EMvF_bHNAJa2ICbsiu5eWYlTaYcdzZL_li8T_EER2Dx5l6uj7GUfGoYbEJQ0ZdYtzLoQJYa5_x168-RsA7F1839wPdzv32z3afnCHOSeIzPiOiCJXb6FjOWJ-znbB2na5Gw4nwgaj4uxlRQGN3ElReqQ4P64xkAph5x91fRINLkaaRTDeKQ_g_suaN1BHm22myYRg2O9gZy5mhTUzDjj9HsrGu2-1-ZFNZZPMl5ltWBsQD6c_49DWpOowaX9ZSYaO9E9s45gP5YMr-ALxZrETB9ilbvFNbbXmv9Kc5LEc0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQj9GN21vymIgY86pEWjNqGR6-dlDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF0lTrFg0dSUCXo41FDWmaQFDJKZsucTat3vhDRkbIfxlo0n4QQJOqJQSCzj8n-NvH0p0CR42nsTk2C70Vpr54i80YKfcTOm0Q0Rq9FHB-Nz4KlrymTkU6hfeD0WRhUOq6PB1WhWLF_mqSzEwmTmuQAsVGXf8Gh0psllvyF--eEaF0pSbhEuo6lPzPk3hgUSico8gbSjr4hgIVn6x0JCa1XSFgaeKHIqD8eapb-mDfYa0QAQwJ8tYxzrkJ_n5OI7g5xCiIeV5DXmSzLTGx9QvaE4Y8-jFgRKG0qMhnqf8StrJOSKMrcJlHtjT7plbWt-fXPLHNvPydmtAiA2qygRnU0&s=RRoPmcA6rc5KzAgHBEGNxF2Fb3s1n2k2flOpULDi8xXmTgAywjHlvQpaP-SQqZihrIBdILTrkz4s_wNzXBx4r2Wz19ws8ywaxhmwUy1N2KjPB3H1bmdVaGoARc50l_f6HekxK5LgWeGQEilnIaQgc88ql_d-88XdsCH5nO7ekBm2mfKa1oSN0ozUzGbymiARikU6M9f4H-Nzeqc4xDfHJ3dLQTtkyHtq33ySd8aq77Dg4RR9DnOjiQmy4_2JDTDSVaM2ZtItES8JixKdFbUovoR5mmEZ6xNhZ5aX2XyXl7seJumu3tTN8IszyKRsBXYp96ie2oNKoFA9Cw4cGcUS9Q&h=jqYPiaZxuaYMLjS72i6UctEGDkprlNXViscBw8NpOM0 - response: - body: - string: '{"properties":{"provisioningState":"Deleting","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterLocation":"eastus2euap","remotePerimeterGuid":"0a835a32-ab2d-4c97-a80d-51e840988de0","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto - Approved.","version":"3"},"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","version":0,"apiVersion":"","publishingStates":{}}' - headers: - cache-control: - - no-cache - content-length: - - '825' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:46:04 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1/operationResults/8a265e46-dad2-4bfd-92db-20da141e5d26?api-version=2024-07-01&t=638781651649123090&c=MIIHhzCCBm-gAwIBAgITfAaPVSYGYp0_a9-AhQAABo9VJjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIwMDgzNTM2WhcNMjUwNzE5MDgzNTM2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIvzhqGKiWeVv5oxugQQEZ8AxTC1p8Lu-WshPo0K7VS2EMvF_bHNAJa2ICbsiu5eWYlTaYcdzZL_li8T_EER2Dx5l6uj7GUfGoYbEJQ0ZdYtzLoQJYa5_x168-RsA7F1839wPdzv32z3afnCHOSeIzPiOiCJXb6FjOWJ-znbB2na5Gw4nwgaj4uxlRQGN3ElReqQ4P64xkAph5x91fRINLkaaRTDeKQ_g_suaN1BHm22myYRg2O9gZy5mhTUzDjj9HsrGu2-1-ZFNZZPMl5ltWBsQD6c_49DWpOowaX9ZSYaO9E9s45gP5YMr-ALxZrETB9ilbvFNbbXmv9Kc5LEc0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQj9GN21vymIgY86pEWjNqGR6-dlDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF0lTrFg0dSUCXo41FDWmaQFDJKZsucTat3vhDRkbIfxlo0n4QQJOqJQSCzj8n-NvH0p0CR42nsTk2C70Vpr54i80YKfcTOm0Q0Rq9FHB-Nz4KlrymTkU6hfeD0WRhUOq6PB1WhWLF_mqSzEwmTmuQAsVGXf8Gh0psllvyF--eEaF0pSbhEuo6lPzPk3hgUSico8gbSjr4hgIVn6x0JCa1XSFgaeKHIqD8eapb-mDfYa0QAQwJ8tYxzrkJ_n5OI7g5xCiIeV5DXmSzLTGx9QvaE4Y8-jFgRKG0qMhnqf8StrJOSKMrcJlHtjT7plbWt-fXPLHNvPydmtAiA2qygRnU0&s=OAxjsT6m8pWCF6Gi5nnn5JSi1XpUNdrWNZowZ0eZdfZg1iqL6OA7K2wdKE6s0lNl2cWLsB9Fv3RG1NEKB9EK_BHTk9kHEm4i3xU0dyjd-H2UTuga9G__CWic2gKzuMwc4D15NR2eN7ZLZZmwOOno7wYHq2J2aQE9LklfHIYg3sOx2yLrC16hOXvzPhE_dGwDrtfWFqCF5nPnyobC9I7X0kaNfd6QY9zEU0oaNVNtA5CDjSvXyyc6pWie3LgNnOGfDQzzvy4BHBxr7lCvLPcLF9aK3bmw0snT86QMu_BRQZD7aW9l37gMpW-_owvZEqDsCL3vQtjyoIrvQR29Z7ydZw&h=tG7X88-ExS0_wwgdyMuxThMDqZTGW0pS5qGc44jb8IA - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 19566084B8F14C1AB52079B3457EA1DB Ref B: MNZ221060618047 Ref C: 2025-03-21T14:46:04Z' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link delete - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1/operationResults/8a265e46-dad2-4bfd-92db-20da141e5d26?api-version=2024-07-01&t=638781651649123090&c=MIIHhzCCBm-gAwIBAgITfAaPVSYGYp0_a9-AhQAABo9VJjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIwMDgzNTM2WhcNMjUwNzE5MDgzNTM2WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMIvzhqGKiWeVv5oxugQQEZ8AxTC1p8Lu-WshPo0K7VS2EMvF_bHNAJa2ICbsiu5eWYlTaYcdzZL_li8T_EER2Dx5l6uj7GUfGoYbEJQ0ZdYtzLoQJYa5_x168-RsA7F1839wPdzv32z3afnCHOSeIzPiOiCJXb6FjOWJ-znbB2na5Gw4nwgaj4uxlRQGN3ElReqQ4P64xkAph5x91fRINLkaaRTDeKQ_g_suaN1BHm22myYRg2O9gZy5mhTUzDjj9HsrGu2-1-ZFNZZPMl5ltWBsQD6c_49DWpOowaX9ZSYaO9E9s45gP5YMr-ALxZrETB9ilbvFNbbXmv9Kc5LEc0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBQj9GN21vymIgY86pEWjNqGR6-dlDAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAF0lTrFg0dSUCXo41FDWmaQFDJKZsucTat3vhDRkbIfxlo0n4QQJOqJQSCzj8n-NvH0p0CR42nsTk2C70Vpr54i80YKfcTOm0Q0Rq9FHB-Nz4KlrymTkU6hfeD0WRhUOq6PB1WhWLF_mqSzEwmTmuQAsVGXf8Gh0psllvyF--eEaF0pSbhEuo6lPzPk3hgUSico8gbSjr4hgIVn6x0JCa1XSFgaeKHIqD8eapb-mDfYa0QAQwJ8tYxzrkJ_n5OI7g5xCiIeV5DXmSzLTGx9QvaE4Y8-jFgRKG0qMhnqf8StrJOSKMrcJlHtjT7plbWt-fXPLHNvPydmtAiA2qygRnU0&s=OAxjsT6m8pWCF6Gi5nnn5JSi1XpUNdrWNZowZ0eZdfZg1iqL6OA7K2wdKE6s0lNl2cWLsB9Fv3RG1NEKB9EK_BHTk9kHEm4i3xU0dyjd-H2UTuga9G__CWic2gKzuMwc4D15NR2eN7ZLZZmwOOno7wYHq2J2aQE9LklfHIYg3sOx2yLrC16hOXvzPhE_dGwDrtfWFqCF5nPnyobC9I7X0kaNfd6QY9zEU0oaNVNtA5CDjSvXyyc6pWie3LgNnOGfDQzzvy4BHBxr7lCvLPcLF9aK3bmw0snT86QMu_BRQZD7aW9l37gMpW-_owvZEqDsCL3vQtjyoIrvQR29Z7ydZw&h=tG7X88-ExS0_wwgdyMuxThMDqZTGW0pS5qGc44jb8IA - response: - body: - string: '' - headers: - cache-control: - - no-cache - date: - - Fri, 21 Mar 2025 14:46:35 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: C93D2D265F494AB8801FBBFF7CBF31F5 Ref B: MNZ221060618047 Ref C: 2025-03-21T14:46:34Z' - status: - code: 204 - message: No Content -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link-reference list - Connection: - - keep-alive - ParameterSetName: - - --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences?api-version=2024-07-01 - response: - body: - string: '{"nextLink":"","value":[{"name":"Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337","type":"Microsoft.Network/networkSecurityPerimeters/linkReferences","properties":{"provisioningState":"Accepted","remotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1","remotePerimeterGuid":"cecdbbc0-bb97-4808-bd18-4a4fe5302337","remotePerimeterLocation":"eastus2euap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Disconnected","description":"Auto - Approved."}}]}' - headers: - cache-control: - - no-cache - content-length: - - '948' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:46:36 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: A8C1C1988185436E8F5667221032DAD0 Ref B: MNZ221060608031 Ref C: 2025-03-21T14:46:36Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link-reference show - Connection: - - keep-alive - ParameterSetName: - - --perimeter-name --resource-group --name - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337?api-version=2024-07-01 - response: - body: - string: '{"name":"Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337","type":"Microsoft.Network/networkSecurityPerimeters/linkReferences","properties":{"provisioningState":"Accepted","remotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1","remotePerimeterGuid":"cecdbbc0-bb97-4808-bd18-4a4fe5302337","remotePerimeterLocation":"eastus2euap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Disconnected","description":"Auto - Approved."}}' - headers: - cache-control: - - no-cache - content-length: - - '922' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:46:38 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 7C57B2640B08466FA092CFB8F1E3702C Ref B: MNZ221060619027 Ref C: 2025-03-21T14:46:37Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link-reference delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --perimeter-name --resource-group --name --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337?api-version=2024-07-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 21 Mar 2025 14:46:38 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337/operationResults/6e700d73-6f47-406d-97ec-6af91c6049e9?api-version=2024-07-01&t=638781651988361098&c=MIIHhzCCBm-gAwIBAgITfAaTYo0ffVKAVQo0FAAABpNijTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIxMjE0MDQ4WhcNMjUwNzIwMjE0MDQ4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKl-TWTOH_oCbu9zNBntAM-9rowzTWYg_nRy16M4ghALCnU3YR0fsip-EwpHzk9rnA5iIgnJlMI24hzCv8PHGFCetnQdEMPxXIAtPo2i11HHKdcdycYnJhIqn0dddd92khimTrvPl1xVX65oC1uuMOEtYmaMGk26gGAo9mB9Zr4WVufN-UvLKvZwiDY-1ddNpdcUGB0S56H1dFUw8k7GHlWSYZS5eSVQZ9aXl7wJmQC-v3c2X-p3hLdo59aIWab5bWDKRbtaYjcAD6nr-GrtOOf2M96Ce_K9djoryf-X1tdOJSgIU4-Ortzj0xbyC9xNtrEVFfPwLRrR2KEGrEZkA4kCAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBSJEel4OnU1M8eUZtmgkwWb3vk1VTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABuKpMrZMDe3nmRYZgM_6QgVm5HpwSTDM72-Lvvtvbqu2HnIfPvmK-Qf9nxbZ3uCylFll3Zrq0s0c2GBdBoZmx7_eEa_ttQ9pvMj9uVUnuHbvLYOBYpmBIE8Q_b-DaOjC_1Rkkan6Jnpi_Cnu6QTe729Gf5FZnI0sIGY_eaetW7FjqOfGIlVKLX_50hcOXYCV_goHf2VHFIhVo4g9QShK_UEpzuG0yZCEKqHQRs-3UIEDZSuhchSmic2WNuSunTZ_HI9feNwqUIMBnn5EyIdrpjSszdDRR00CiJs7kBU2NvO5dQQ5qHwUJCWr69a42_uqATc6_1ViE8yGCSO6nZ0i1M&s=ClCCRzQtpEiPCRXk4VoRN9SBdU_Hm0c4Weu28czZU7yxfbUBFJa-zN9yQ70tWYGkAVkaFq5-oYdBzoh_0LV8rvG44KwP298l4E84h9Hwaxx46ixnn2oV3VuypO4j51UVa2ahaNr8XMBeWTAsu-1N3ZLyhTYYjvwS57wJdnrAJgDnJ47__4H4MzcvfbTLn6r4hLbVqqKcrX-7nnDy23dzm2s56fEde35XSrhu07Ky7GcwIxQu2S25RiCrj6ptd0jQA7hXl43ken6r-oH1CjCzcDUjSssDw4pYNAaeRBBpGyTkhUKxcxWpdbCzyXD_tLqCRCFV8gm0nSCxyJV_maYofw&h=ZhiJkG6nsd_TUwhZd_XdLoqBr70Jjs-1Eto3ovolx2c - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '799' - x-ms-ratelimit-remaining-subscription-global-deletes: - - '11999' - x-msedge-ref: - - 'Ref A: 490B4F8B8194450A833E2E4F6008BAA5 Ref B: MNZ221060609053 Ref C: 2025-03-21T14:46:38Z' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link-reference delete - Connection: - - keep-alive - ParameterSetName: - - --perimeter-name --resource-group --name --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337/operationResults/6e700d73-6f47-406d-97ec-6af91c6049e9?api-version=2024-07-01&t=638781651988361098&c=MIIHhzCCBm-gAwIBAgITfAaTYo0ffVKAVQo0FAAABpNijTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIxMjE0MDQ4WhcNMjUwNzIwMjE0MDQ4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKl-TWTOH_oCbu9zNBntAM-9rowzTWYg_nRy16M4ghALCnU3YR0fsip-EwpHzk9rnA5iIgnJlMI24hzCv8PHGFCetnQdEMPxXIAtPo2i11HHKdcdycYnJhIqn0dddd92khimTrvPl1xVX65oC1uuMOEtYmaMGk26gGAo9mB9Zr4WVufN-UvLKvZwiDY-1ddNpdcUGB0S56H1dFUw8k7GHlWSYZS5eSVQZ9aXl7wJmQC-v3c2X-p3hLdo59aIWab5bWDKRbtaYjcAD6nr-GrtOOf2M96Ce_K9djoryf-X1tdOJSgIU4-Ortzj0xbyC9xNtrEVFfPwLRrR2KEGrEZkA4kCAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBSJEel4OnU1M8eUZtmgkwWb3vk1VTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABuKpMrZMDe3nmRYZgM_6QgVm5HpwSTDM72-Lvvtvbqu2HnIfPvmK-Qf9nxbZ3uCylFll3Zrq0s0c2GBdBoZmx7_eEa_ttQ9pvMj9uVUnuHbvLYOBYpmBIE8Q_b-DaOjC_1Rkkan6Jnpi_Cnu6QTe729Gf5FZnI0sIGY_eaetW7FjqOfGIlVKLX_50hcOXYCV_goHf2VHFIhVo4g9QShK_UEpzuG0yZCEKqHQRs-3UIEDZSuhchSmic2WNuSunTZ_HI9feNwqUIMBnn5EyIdrpjSszdDRR00CiJs7kBU2NvO5dQQ5qHwUJCWr69a42_uqATc6_1ViE8yGCSO6nZ0i1M&s=ClCCRzQtpEiPCRXk4VoRN9SBdU_Hm0c4Weu28czZU7yxfbUBFJa-zN9yQ70tWYGkAVkaFq5-oYdBzoh_0LV8rvG44KwP298l4E84h9Hwaxx46ixnn2oV3VuypO4j51UVa2ahaNr8XMBeWTAsu-1N3ZLyhTYYjvwS57wJdnrAJgDnJ47__4H4MzcvfbTLn6r4hLbVqqKcrX-7nnDy23dzm2s56fEde35XSrhu07Ky7GcwIxQu2S25RiCrj6ptd0jQA7hXl43ken6r-oH1CjCzcDUjSssDw4pYNAaeRBBpGyTkhUKxcxWpdbCzyXD_tLqCRCFV8gm0nSCxyJV_maYofw&h=ZhiJkG6nsd_TUwhZd_XdLoqBr70Jjs-1Eto3ovolx2c - response: - body: - string: '{"name":"Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337","properties":{"provisioningState":"Deleting","remotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1","remotePerimeterLocation":"eastus2euap","remotePerimeterGuid":"cecdbbc0-bb97-4808-bd18-4a4fe5302337","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Disconnected","description":"Auto - Approved.","version":"4","approvalType":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337","version":0,"apiVersion":"","publishingStates":{}}' - headers: - cache-control: - - no-cache - content-length: - - '935' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:46:39 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337/operationResults/6e700d73-6f47-406d-97ec-6af91c6049e9?api-version=2024-07-01&t=638781651999900125&c=MIIHhzCCBm-gAwIBAgITfAaTYo0ffVKAVQo0FAAABpNijTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIxMjE0MDQ4WhcNMjUwNzIwMjE0MDQ4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKl-TWTOH_oCbu9zNBntAM-9rowzTWYg_nRy16M4ghALCnU3YR0fsip-EwpHzk9rnA5iIgnJlMI24hzCv8PHGFCetnQdEMPxXIAtPo2i11HHKdcdycYnJhIqn0dddd92khimTrvPl1xVX65oC1uuMOEtYmaMGk26gGAo9mB9Zr4WVufN-UvLKvZwiDY-1ddNpdcUGB0S56H1dFUw8k7GHlWSYZS5eSVQZ9aXl7wJmQC-v3c2X-p3hLdo59aIWab5bWDKRbtaYjcAD6nr-GrtOOf2M96Ce_K9djoryf-X1tdOJSgIU4-Ortzj0xbyC9xNtrEVFfPwLRrR2KEGrEZkA4kCAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBSJEel4OnU1M8eUZtmgkwWb3vk1VTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABuKpMrZMDe3nmRYZgM_6QgVm5HpwSTDM72-Lvvtvbqu2HnIfPvmK-Qf9nxbZ3uCylFll3Zrq0s0c2GBdBoZmx7_eEa_ttQ9pvMj9uVUnuHbvLYOBYpmBIE8Q_b-DaOjC_1Rkkan6Jnpi_Cnu6QTe729Gf5FZnI0sIGY_eaetW7FjqOfGIlVKLX_50hcOXYCV_goHf2VHFIhVo4g9QShK_UEpzuG0yZCEKqHQRs-3UIEDZSuhchSmic2WNuSunTZ_HI9feNwqUIMBnn5EyIdrpjSszdDRR00CiJs7kBU2NvO5dQQ5qHwUJCWr69a42_uqATc6_1ViE8yGCSO6nZ0i1M&s=cGIWijL_2AXlionuOvmFS8Ph4VFLVwDcfKJjSles0gnF3GCOJ-Pbkoq4dW3NLHLEvKitH007imV_lbnwKnHrk5wPN-luzOjfBIPMTu0e_CEYhPCBH75TBt_gkssQAnaa2aPJ0IiBRUMv2coDWwxsoNhsplAD-WHC7_eyTCHj6TK0-ydQwIw9o4IJ0yv25gHW5MuhbDbJR8gvfEDsGjb3wnOruEc2f268RldCRuaCrafm9ArQQ45HyEZSXAZN-3CG1_egD4BuUIGK7r9FParW05WubD7Bxi0JNhNxIm7TqEt6RT2JyFdsif-OnOYnTpH-DXFEUEPhDLoqUF_t1E8D5Q&h=SLkRcqk7oaAEwVYe8-PSTgBWhiT4rYq1bfqyCEAxm3Q - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 81C4F1AD70804BE69123838F29DE0FFC Ref B: MNZ221060609053 Ref C: 2025-03-21T14:46:39Z' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter link-reference delete - Connection: - - keep-alive - ParameterSetName: - - --perimeter-name --resource-group --name --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-cecdbbc0-bb97-4808-bd18-4a4fe5302337/operationResults/6e700d73-6f47-406d-97ec-6af91c6049e9?api-version=2024-07-01&t=638781651999900125&c=MIIHhzCCBm-gAwIBAgITfAaTYo0ffVKAVQo0FAAABpNijTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjUwMTIxMjE0MDQ4WhcNMjUwNzIwMjE0MDQ4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKl-TWTOH_oCbu9zNBntAM-9rowzTWYg_nRy16M4ghALCnU3YR0fsip-EwpHzk9rnA5iIgnJlMI24hzCv8PHGFCetnQdEMPxXIAtPo2i11HHKdcdycYnJhIqn0dddd92khimTrvPl1xVX65oC1uuMOEtYmaMGk26gGAo9mB9Zr4WVufN-UvLKvZwiDY-1ddNpdcUGB0S56H1dFUw8k7GHlWSYZS5eSVQZ9aXl7wJmQC-v3c2X-p3hLdo59aIWab5bWDKRbtaYjcAD6nr-GrtOOf2M96Ce_K9djoryf-X1tdOJSgIU4-Ortzj0xbyC9xNtrEVFfPwLRrR2KEGrEZkA4kCAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBSJEel4OnU1M8eUZtmgkwWb3vk1VTAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABuKpMrZMDe3nmRYZgM_6QgVm5HpwSTDM72-Lvvtvbqu2HnIfPvmK-Qf9nxbZ3uCylFll3Zrq0s0c2GBdBoZmx7_eEa_ttQ9pvMj9uVUnuHbvLYOBYpmBIE8Q_b-DaOjC_1Rkkan6Jnpi_Cnu6QTe729Gf5FZnI0sIGY_eaetW7FjqOfGIlVKLX_50hcOXYCV_goHf2VHFIhVo4g9QShK_UEpzuG0yZCEKqHQRs-3UIEDZSuhchSmic2WNuSunTZ_HI9feNwqUIMBnn5EyIdrpjSszdDRR00CiJs7kBU2NvO5dQQ5qHwUJCWr69a42_uqATc6_1ViE8yGCSO6nZ0i1M&s=cGIWijL_2AXlionuOvmFS8Ph4VFLVwDcfKJjSles0gnF3GCOJ-Pbkoq4dW3NLHLEvKitH007imV_lbnwKnHrk5wPN-luzOjfBIPMTu0e_CEYhPCBH75TBt_gkssQAnaa2aPJ0IiBRUMv2coDWwxsoNhsplAD-WHC7_eyTCHj6TK0-ydQwIw9o4IJ0yv25gHW5MuhbDbJR8gvfEDsGjb3wnOruEc2f268RldCRuaCrafm9ArQQ45HyEZSXAZN-3CG1_egD4BuUIGK7r9FParW05WubD7Bxi0JNhNxIm7TqEt6RT2JyFdsif-OnOYnTpH-DXFEUEPhDLoqUF_t1E8D5Q&h=SLkRcqk7oaAEwVYe8-PSTgBWhiT4rYq1bfqyCEAxm3Q - response: - body: - string: '' - headers: - cache-control: - - no-cache - date: - - Fri, 21 Mar 2025 14:47:09 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 585D6B0EBFB64E4C959AEDAF5CFA24F7 Ref B: MNZ221060609053 Ref C: 2025-03-21T14:47:10Z' - status: - code: 204 - message: No Content -version: 1 +interactions: +- request: + body: '{"location": "centraluseuap"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter create + Connection: + - keep-alive + Content-Length: + - '29' + Content-Type: + - application/json + ParameterSetName: + - --name -l --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNetworkSecurityPerimeter1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1","location":"centraluseuap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"e1879b3f-d0c5-4768-9db4-e5bea2731061","provisioningState":"Succeeded"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:58.4965956Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:58.4965956Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '649' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/westindia/760ab0df-0ede-4ed5-95c6-690e29a1e1f9 + x-ms-ratelimit-remaining-subscription-global-writes: + - '11999' + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-msedge-ref: + - 'Ref A: 5C6C651284F745868DCB73AB001A6643 Ref B: PNQ231110908042 Ref C: 2025-10-08T05:44:52Z' + status: + code: 200 + message: OK +- request: + body: '{"location": "centraluseuap"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter create + Connection: + - keep-alive + Content-Length: + - '29' + Content-Type: + - application/json + ParameterSetName: + - --name -l --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNetworkSecurityPerimeter2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","location":"centraluseuap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"d11e2de3-eb8c-43c2-9487-91de20979761","provisioningState":"Succeeded"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:01.5829991Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:01.5829991Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '649' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/ab345a54-4887-4664-b8ef-b4c347427c30 + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: FB57C5538056420D8874EC5E3B4B9105 Ref B: PNQ231110909036 Ref C: 2025-10-08T05:45:01Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"autoApprovedRemotePerimeterResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2", + "localInboundProfiles": ["*"], "remoteInboundProfiles": ["*"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link create + Connection: + - keep-alive + Content-Length: + - '299' + Content-Type: + - application/json + ParameterSetName: + - --name --perimeter-name --resource-group --auto-remote-nsp-id --local-inbound-profile + --remote-inbound-profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","type":"Microsoft.Network/networkSecurityPerimeters/links","properties":{"provisioningState":"Accepted","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterGuid":"d11e2de3-eb8c-43c2-9487-91de20979761","remotePerimeterLocation":"centraluseuap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto + Approved."},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:05.5233831Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:05.5233831Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1046' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/westindia/0eeea5e7-0c6a-4e2e-b79a-e0e07ed648fa + x-ms-ratelimit-remaining-subscription-global-writes: + - '12000' + x-ms-ratelimit-remaining-subscription-writes: + - '800' + x-msedge-ref: + - 'Ref A: C0227FEBAB0746D48E4F3520F5D7868B Ref B: PNQ231110908040 Ref C: 2025-10-08T05:45:01Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link show + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","type":"Microsoft.Network/networkSecurityPerimeters/links","properties":{"provisioningState":"Accepted","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterGuid":"d11e2de3-eb8c-43c2-9487-91de20979761","remotePerimeterLocation":"centraluseuap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto + Approved."},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:05.5233831Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:05.5233831Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1046' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/06c772aa-79a1-4eef-ac83-405f3676cf2c + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: B34B0782D5AC41F88A6254949767BD41 Ref B: PNQ231110909034 Ref C: 2025-10-08T05:45:10Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link list + Connection: + - keep-alive + ParameterSetName: + - --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links?api-version=2024-10-01 + response: + body: + string: '{"nextLink":"","value":[{"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","type":"Microsoft.Network/networkSecurityPerimeters/links","properties":{"provisioningState":"Accepted","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterGuid":"d11e2de3-eb8c-43c2-9487-91de20979761","remotePerimeterLocation":"centraluseuap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto + Approved."},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:05.5233831Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:05.5233831Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1072' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/fec87a2e-2cf9-41dd-959e-fc0061959488 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 3D49F0243AAB49B390B77C9469B49777 Ref B: PNQ231110909036 Ref C: 2025-10-08T05:45:10Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link update + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --local-inbound-profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","type":"Microsoft.Network/networkSecurityPerimeters/links","properties":{"provisioningState":"Accepted","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterGuid":"d11e2de3-eb8c-43c2-9487-91de20979761","remotePerimeterLocation":"centraluseuap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto + Approved."},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:05.5233831Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:05.5233831Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1046' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/cbddc87d-7f8b-4d49-b4a6-8baa586ed1cb + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: F19B176E37BC4037827C8E45A5621E17 Ref B: PNQ231110909036 Ref C: 2025-10-08T05:45:10Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"autoApprovedRemotePerimeterResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2", + "description": "Auto Approved.", "localInboundProfiles": ["*"], "remoteInboundProfiles": + ["*"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link update + Connection: + - keep-alive + Content-Length: + - '332' + Content-Type: + - application/json + ParameterSetName: + - --name --perimeter-name --resource-group --local-inbound-profile + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","type":"Microsoft.Network/networkSecurityPerimeters/links","properties":{"provisioningState":"Accepted","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterGuid":"d11e2de3-eb8c-43c2-9487-91de20979761","remotePerimeterLocation":"centraluseuap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto + Approved."},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:05.5233831Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:05.5233831Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1046' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:13 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/1c4adb75-db78-4410-bf15-a2e7e78dec7c + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: C4878335D58F495C88A8D57B77B11975 Ref B: PNQ231110908025 Ref C: 2025-10-08T05:45:11Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --perimeter-name --resource-group --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1?api-version=2024-10-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 08 Oct 2025 05:45:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1/operationResults/60cb453b-3a09-4673-a479-7c22efa16e50?api-version=2024-10-01&t=638954991156601484&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=rjFR15YCz3tRF2KRaVMvBQvtdU79J5GRVYpOq0dd-8C8G1qBLOEEhlgT_iV6ESpJdDRO7dHcyo4q37rPGSpLmkZe9Ehtk1qpf0CMohmeu2-SNvXlXIsfGpoLL5037W-rho5ln4wwcFWoF35DxLtXuuCGESijfJWylSQeUjppyRVz23V5E1shdQBFB6Kq3Yeru79IFFok6xNEr9Zgvm9_mI0GIxkIKqPoccc20n1xtbmvt5PyQTODFi-4R8u9wP0BEf3WZSMLXitSot9sm0j-GyFzXN34GNmDIFRyU6BIQbUVCKJYVAj4mqy78yjbubB2ngSKLbOnIeEPqjSNQCuNvQ&h=4t7NVE6wJL3LD7wP7ZtcKccNMP0vFTs_DS5o-8ofE80 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/45335f33-ec5e-4ba9-b10f-d4b7e84792f4 + x-ms-ratelimit-remaining-subscription-deletes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 5199FB5A47224386B2C3DDBA918D46E5 Ref B: PNQ231110908060 Ref C: 2025-10-08T05:45:13Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link delete + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1/operationResults/60cb453b-3a09-4673-a479-7c22efa16e50?api-version=2024-10-01&t=638954991156601484&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=rjFR15YCz3tRF2KRaVMvBQvtdU79J5GRVYpOq0dd-8C8G1qBLOEEhlgT_iV6ESpJdDRO7dHcyo4q37rPGSpLmkZe9Ehtk1qpf0CMohmeu2-SNvXlXIsfGpoLL5037W-rho5ln4wwcFWoF35DxLtXuuCGESijfJWylSQeUjppyRVz23V5E1shdQBFB6Kq3Yeru79IFFok6xNEr9Zgvm9_mI0GIxkIKqPoccc20n1xtbmvt5PyQTODFi-4R8u9wP0BEf3WZSMLXitSot9sm0j-GyFzXN34GNmDIFRyU6BIQbUVCKJYVAj4mqy78yjbubB2ngSKLbOnIeEPqjSNQCuNvQ&h=4t7NVE6wJL3LD7wP7ZtcKccNMP0vFTs_DS5o-8ofE80 + response: + body: + string: '{"properties":{"provisioningState":"Deleting","autoApprovedRemotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2","remotePerimeterLocation":"centraluseuap","remotePerimeterGuid":"d11e2de3-eb8c-43c2-9487-91de20979761","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Approved","description":"Auto + Approved.","version":"3"},"name":"TestNspLink1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1","version":0,"apiVersion":"","publishingStates":{},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:45:05.5233831Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:05.5233831Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1051' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1/operationResults/60cb453b-3a09-4673-a479-7c22efa16e50?api-version=2024-10-01&t=638954991162212616&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=wlQxL814O2hnFClcAZG7kzBWi8yBdkTDViHNKd8BB8_YTgtfjqh8cQE7nzUw0ZpIetfcE2WIjTBSgiz77eRWIJ5O3j23phfIy_1mhhye4YHB9om0shEjsDU0Le0-7gpXBdKowIdo4yKrt4lQCFKrNicepY8-2eUBqFHt81LT-JwWRVUR-pTbWNMI6hrgCqsDLAD_comDUo207nZUwXT52dcAnKyvQj_s6QoEBhcLxak1vmx4E8Pmzic81KwJyvIZ-TFWD4e9XK06LKXY7LbbxwrSVWYr3kEk6j1ZnfKDfC4E96cK8Da75D532zwbYkln3kjC2WG7Er2KcwT2QpRybA&h=SQwCccDNfhOG3FMVKG7698udPut2npNyt6PJDOguv0Q + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/57af1247-c4b8-4224-b649-810ed171a002 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: CF30DD521B004762A2CEF4266242E5A5 Ref B: PNQ231110908036 Ref C: 2025-10-08T05:45:15Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link delete + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1/links/TestNspLink1/operationResults/60cb453b-3a09-4673-a479-7c22efa16e50?api-version=2024-10-01&t=638954991162212616&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=wlQxL814O2hnFClcAZG7kzBWi8yBdkTDViHNKd8BB8_YTgtfjqh8cQE7nzUw0ZpIetfcE2WIjTBSgiz77eRWIJ5O3j23phfIy_1mhhye4YHB9om0shEjsDU0Le0-7gpXBdKowIdo4yKrt4lQCFKrNicepY8-2eUBqFHt81LT-JwWRVUR-pTbWNMI6hrgCqsDLAD_comDUo207nZUwXT52dcAnKyvQj_s6QoEBhcLxak1vmx4E8Pmzic81KwJyvIZ-TFWD4e9XK06LKXY7LbbxwrSVWYr3kEk6j1ZnfKDfC4E96cK8Da75D532zwbYkln3kjC2WG7Er2KcwT2QpRybA&h=SQwCccDNfhOG3FMVKG7698udPut2npNyt6PJDOguv0Q + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Wed, 08 Oct 2025 05:45:49 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/westindia/1b3545ed-bd3a-4c11-bf5c-69155c04f2bc + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: E42F145432CF4C119FC4DAD85C169DF8 Ref B: PNQ231110906031 Ref C: 2025-10-08T05:45:46Z' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link-reference list + Connection: + - keep-alive + ParameterSetName: + - --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences?api-version=2024-10-01 + response: + body: + string: '{"nextLink":"","value":[{"name":"Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061","type":"Microsoft.Network/networkSecurityPerimeters/linkReferences","properties":{"provisioningState":"Accepted","remotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1","remotePerimeterGuid":"e1879b3f-d0c5-4768-9db4-e5bea2731061","remotePerimeterLocation":"centraluseuap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Disconnected","description":"Auto + Approved."},"systemData":{"createdBy":"6d057c82-a784-47ae-8d12-ca7b38cf06b4","createdByType":"Application","createdAt":"2025-10-08T05:45:09.6487544Z","lastModifiedBy":"6d057c82-a784-47ae-8d12-ca7b38cf06b4","lastModifiedByType":"Application","lastModifiedAt":"2025-10-08T05:45:09.6487544Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1228' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/westindia/16f54e0c-27c7-400e-8d7a-2b9e006d59ad + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 8AB349E570B64AECB41E6BD4DEAC0A6B Ref B: PNQ231110908062 Ref C: 2025-10-08T05:45:50Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link-reference show + Connection: + - keep-alive + ParameterSetName: + - --perimeter-name --resource-group --name + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061?api-version=2024-10-01 + response: + body: + string: '{"name":"Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061","type":"Microsoft.Network/networkSecurityPerimeters/linkReferences","properties":{"provisioningState":"Accepted","remotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1","remotePerimeterGuid":"e1879b3f-d0c5-4768-9db4-e5bea2731061","remotePerimeterLocation":"centraluseuap","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Disconnected","description":"Auto + Approved."},"systemData":{"createdBy":"6d057c82-a784-47ae-8d12-ca7b38cf06b4","createdByType":"Application","createdAt":"2025-10-08T05:45:09.6487544Z","lastModifiedBy":"6d057c82-a784-47ae-8d12-ca7b38cf06b4","lastModifiedByType":"Application","lastModifiedAt":"2025-10-08T05:45:09.6487544Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1202' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/12ab4d31-a339-4485-bb7a-d9a436eb040a + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: D0CE37C0503741088ED0514BA14686D7 Ref B: PNQ231110907060 Ref C: 2025-10-08T05:45:51Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link-reference delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --perimeter-name --resource-group --name --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061?api-version=2024-10-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 08 Oct 2025 05:45:53 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061/operationResults/bf4ebf04-5ce3-40ee-885b-88b58dd2fd42?api-version=2024-10-01&t=638954991539885188&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=hhRpbeBYiYORdpKljvSiEkSlNDfVRw0ug-aAQCCETB60SmE7BvIutD9wI59ACw2LvEhVeVDki0npppMhmt75dW2wNmDLFrYFAFGgvOlhU4KSFrWormBFIUdeB4eUuIxbJ57gVuMfqQqfksKY2K4vIS-xWykj07E4k65gRY1FwG3Z4u_Z0Q_OHjVDwffsv6mhMjjsg9XJPa6Q9TS0EXlt8flhGZRIIEwpf4YdRqVfPRSSDeZFJsBX7Mn9JE0fKPDtaE6SuS1CYjiHaRc2_iXchDKoMQ96flJGvEGvZtDb0nX8nSKqSzzGlRxHH4-On4fFAaflwGKpDE4KPlmvsAqyVg&h=Xqosygpd8vjfhnz5cAkdqzPL3gV5_cvZkaprnMDX910 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/95c1ffa2-3c8d-4c9e-bddd-22015af8a039 + x-ms-ratelimit-remaining-subscription-deletes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 3F75233E14B444089195AD2D7BA33D36 Ref B: PNQ231110909023 Ref C: 2025-10-08T05:45:52Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link-reference delete + Connection: + - keep-alive + ParameterSetName: + - --perimeter-name --resource-group --name --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061/operationResults/bf4ebf04-5ce3-40ee-885b-88b58dd2fd42?api-version=2024-10-01&t=638954991539885188&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=hhRpbeBYiYORdpKljvSiEkSlNDfVRw0ug-aAQCCETB60SmE7BvIutD9wI59ACw2LvEhVeVDki0npppMhmt75dW2wNmDLFrYFAFGgvOlhU4KSFrWormBFIUdeB4eUuIxbJ57gVuMfqQqfksKY2K4vIS-xWykj07E4k65gRY1FwG3Z4u_Z0Q_OHjVDwffsv6mhMjjsg9XJPa6Q9TS0EXlt8flhGZRIIEwpf4YdRqVfPRSSDeZFJsBX7Mn9JE0fKPDtaE6SuS1CYjiHaRc2_iXchDKoMQ96flJGvEGvZtDb0nX8nSKqSzzGlRxHH4-On4fFAaflwGKpDE4KPlmvsAqyVg&h=Xqosygpd8vjfhnz5cAkdqzPL3gV5_cvZkaprnMDX910 + response: + body: + string: '{"name":"Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061","properties":{"provisioningState":"Deleting","remotePerimeterResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter1","remotePerimeterLocation":"centraluseuap","remotePerimeterGuid":"e1879b3f-d0c5-4768-9db4-e5bea2731061","localInboundProfiles":["*"],"localOutboundProfiles":["*"],"remoteInboundProfiles":["*"],"remoteOutboundProfiles":["*"],"status":"Disconnected","description":"Auto + Approved.","version":"4","approvalType":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061","version":0,"apiVersion":"","publishingStates":{}}' + headers: + cache-control: + - no-cache + content-length: + - '937' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:45:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061/operationResults/bf4ebf04-5ce3-40ee-885b-88b58dd2fd42?api-version=2024-10-01&t=638954991547562125&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=JdRPFYo7eQooNN93jWU_02mc7t9SIXSWt0qAp_0159MwjZM3pB0WovadKqCi9B2IqKRcwCSUmhqPmFCR-vynW-39fcc9ftWA1BLAljpEHG811qG3DZ6XPPO9jahNJYF5NbhD_GF8uDX3rf78j9xkFW35Ac8U51Ke0E95mD5jffZZ3umOAdZ2gnGfuibyvxW2vwmco4SF7JUpdEjKNjkDW9w_VbpiAPX7WUBZcXBlp0s7vsjUidyppr0gp0qg0Y4ynECusq29zHlRwGRQETF8D2zX_FZY9pN6NhEaT9iVIyCD_A99gCEK5dClw7Z4wHEwKQhkg5VEKiTCu60W2gCxZA&h=36LiNJt_ouyClkkk9jHHDWLm4CGgb5SVr9kqd_DYbug + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/bbf76e43-46c1-4a17-a289-97efaff44e6d + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: F34B124AD388402FB3FAA773297A186D Ref B: PNQ231110907062 Ref C: 2025-10-08T05:45:54Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter link-reference delete + Connection: + - keep-alive + ParameterSetName: + - --perimeter-name --resource-group --name --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_link_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter2/linkReferences/Ref-from-TestNspLink1-e1879b3f-d0c5-4768-9db4-e5bea2731061/operationResults/bf4ebf04-5ce3-40ee-885b-88b58dd2fd42?api-version=2024-10-01&t=638954991547562125&c=MIIIpDCCBoygAwIBAgITFgHT86SvkPBZ0Kze1QABAdPzpDANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDMwHhcNMjUwODIxMTMxNDA5WhcNMjUxMTE5MTMxNDA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPIw97femZhQQikMmtIUbBz4ilfWKL1pBRGhqyE_yiaKdWFMkx-Lrs5PKpKf359LGLXEng68fNpRZlZdxKF59oRgHkQ1l6435cU2QDp5b3NZ6SPNKLsxAiNvxTVOQ_jbCxTUnBGcp1_gxsAyTjCGrl2fKSCdaRSw-Lhrxs0-ImtcYa5z9m8kXvRa0U_b3baiO5UZnNbvfqmE6RvjjrcMvv8i-nQevzcw3aZLnc9eEEKxBI5pNIVXIr7dKhsZfi-K61CRBxmlZxzpwzMWF6WZrHeA5_kxAo0RWq6aWHALI3qRh-WxWls5HXbZqbggvPYrb3F8C5FxjcSxz1dGBQa_p9UCAwEAAaOCBJEwggSNMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwIwCgYIKwYBBQUHAwEwPAYJKwYBBAGCNxUHBC8wLQYlKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFgh8fIENbYcQIBZAIBBjCCAdoGCCsGAQUFBwEBBIIBzDCCAcgwZgYIKwYBBQUHMAKGWmh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9DZXJ0cy9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDEuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNM1BLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDMoMSkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTTNQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDAzKDEpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDQuYW1lLmdibC9haWEvQU0zUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcnQwHQYDVR0OBBYEFKgjTTCrzlnMX6LudHhi_0w04LAAMA4GA1UdDwEB_wQEAwIFoDCCATUGA1UdHwSCASwwggEoMIIBJKCCASCgggEchkJodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ1JML0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwxLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwyLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmyGNGh0dHA6Ly9jcmw0LmFtZS5nYmwvY3JsL0FNRSUyMEluZnJhJTIwQ0ElMjAwMygxKS5jcmwwgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMB8GA1UdIwQYMBaAFEijrWB1am_sYPNpVdEAsTJX_GzkMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAfJTGVgnSjJYm9EVngrQ1HxxR608CwGhKUZwRJk2Yii2yCTrjUv4LqQHUR3Z_BH5h5IYMq_M2R8bOdxYAn3IdjZ3cX8lO6-R6_QKyQg4y2U-zrez_Y-T3uHiarKc5V-OdvL9MCJk9PnnYbOPiTY7dlIkvJLzj7BhBm9HZf9UYe9NHWVFQA9aOXsWu3MPWKpDbSO7f5odoxflcZRV_PRNiHy_h3uTfTaKE_7GJtxb6rEvGVH--wrf27TMteF0WJFbKM9NNaQO-26CBj5Oy2lSLl-z1cTN06_wOeDzZAYjesI2WxJPvHw81dJ8Y2xQ2uudFoZw4RkzVJ35mskIpb9bitTAc63ja9FWFwtM2USCnimBK-Y0JTmbdF3eN6-ptKAcm_NT9t9fDyKE32Ouzjrb3dlHRfNytVadvJIipr-3_pJ6rX1svQ8F-iLWUbPTZb6x-4v9Rb6DbhteupZ86jCL2D-DePB7Pu67d-jIRUO6LwIa5g02PRdVcKsreUDFnJaYynHZ0SPlQlVoGKIzjPsBkbXanceUdsq2ul4oeDPPgvIOpbU_c9ecWdjCiuIcf9yRvRqe49F2vzGTwDVeNHKsKeIrsqijbNgBdpmlJ5OEiL5KVCb1amvVlKVCHYNPTSxgYlcialh86hxmXacgDDvJQzNPfe-OH6-YkOImtv8AeHso&s=JdRPFYo7eQooNN93jWU_02mc7t9SIXSWt0qAp_0159MwjZM3pB0WovadKqCi9B2IqKRcwCSUmhqPmFCR-vynW-39fcc9ftWA1BLAljpEHG811qG3DZ6XPPO9jahNJYF5NbhD_GF8uDX3rf78j9xkFW35Ac8U51Ke0E95mD5jffZZ3umOAdZ2gnGfuibyvxW2vwmco4SF7JUpdEjKNjkDW9w_VbpiAPX7WUBZcXBlp0s7vsjUidyppr0gp0qg0Y4ynECusq29zHlRwGRQETF8D2zX_FZY9pN6NhEaT9iVIyCD_A99gCEK5dClw7Z4wHEwKQhkg5VEKiTCu60W2gCxZA&h=36LiNJt_ouyClkkk9jHHDWLm4CGgb5SVr9kqd_DYbug + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Wed, 08 Oct 2025 05:46:25 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/1916d249-75c3-4e31-9975-4f5cf1068ca1 + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: E0DBCFD00AC440DC8F85385A8F552B31 Ref B: PNQ231110907040 Ref C: 2025-10-08T05:46:25Z' + status: + code: 204 + message: No Content +version: 1 diff --git a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_logging_configuration_crud.yaml b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_logging_configuration_crud.yaml index dfea2306e80..d70e5cfeedf 100644 --- a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_logging_configuration_crud.yaml +++ b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_logging_configuration_crud.yaml @@ -1,6 +1,6 @@ interactions: - request: - body: '{"location": "eastus2euap"}' + body: '{"location": "centraluseuap"}' headers: Accept: - application/json @@ -11,27 +11,27 @@ interactions: Connection: - keep-alive Content-Length: - - '27' + - '29' Content-Type: - application/json ParameterSetName: - --name -l --resource-group User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-10-01 response: body: - string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"eastus2euap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"63462e88-ae3b-4ce1-9b67-6c3c11e55e5e","provisioningState":"Succeeded"}}' + string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"centraluseuap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"b5623d8f-d4db-41fa-9f8e-332812ada096","provisioningState":"Succeeded"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:56.6828269Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:56.6828269Z"}}' headers: cache-control: - no-cache content-length: - - '438' + - '664' content-type: - application/json; charset=utf-8 date: - - Fri, 21 Mar 2025 14:45:46 GMT + - Wed, 08 Oct 2025 05:44:56 GMT expires: - '-1' pragma: @@ -42,12 +42,14 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/5d9f0b33-8919-4f71-b64d-9e6c6bfccb8f x-ms-ratelimit-remaining-subscription-writes: - '799' + x-ms-throttling-version: + - v2 x-msedge-ref: - - 'Ref A: 064A6D67B71A470FAA59E89B96F97ABF Ref B: MNZ221060608027 Ref C: 2025-03-21T14:45:46Z' + - 'Ref A: 77834B26AC3F48948F7327ED6585B37F Ref B: PNQ231110907040 Ref C: 2025-10-08T05:44:56Z' status: code: 200 message: OK @@ -69,21 +71,21 @@ interactions: ParameterSetName: - --perimeter-name --resource-group --enabled-log-categories User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-10-01 response: body: - string: '{"name":"instance","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance","type":"Microsoft.Network/networkSecurityPerimeters/loggingConfigurations","properties":{"version":"1","enabledLogCategories":["NspPublicInboundPerimeterRulesDenied"],"destinationType":[]}}' + string: '{"name":"instance","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance","type":"Microsoft.Network/networkSecurityPerimeters/loggingConfigurations","properties":{"version":"1","enabledLogCategories":["NspPublicInboundPerimeterRulesDenied"],"destinationType":[]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:58.8457950Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:58.8457950Z"}}' headers: cache-control: - no-cache content-length: - - '438' + - '662' content-type: - application/json; charset=utf-8 date: - - Fri, 21 Mar 2025 14:45:47 GMT + - Wed, 08 Oct 2025 05:44:58 GMT expires: - '-1' pragma: @@ -94,12 +96,14 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/3078c80f-1393-4bed-ba5f-7f17e18bb3e9 x-ms-ratelimit-remaining-subscription-writes: - '799' + x-ms-throttling-version: + - v2 x-msedge-ref: - - 'Ref A: E584A86C998545D09E11707E8541B740 Ref B: MNZ221060619053 Ref C: 2025-03-21T14:45:46Z' + - 'Ref A: E1609D6081BE46F58269A66073C705C0 Ref B: PNQ231110909060 Ref C: 2025-10-08T05:44:56Z' status: code: 200 message: OK @@ -117,21 +121,21 @@ interactions: ParameterSetName: - --perimeter-name --resource-group User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-10-01 response: body: - string: '{"name":"instance","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance","type":"Microsoft.Network/networkSecurityPerimeters/loggingConfigurations","properties":{"version":"1","enabledLogCategories":["NspPublicInboundPerimeterRulesDenied"],"destinationType":[]}}' + string: '{"name":"instance","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance","type":"Microsoft.Network/networkSecurityPerimeters/loggingConfigurations","properties":{"version":"1","enabledLogCategories":["NspPublicInboundPerimeterRulesDenied"],"destinationType":[]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:58.8457950Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:58.8457950Z"}}' headers: cache-control: - no-cache content-length: - - '438' + - '662' content-type: - application/json; charset=utf-8 date: - - Fri, 21 Mar 2025 14:45:49 GMT + - Wed, 08 Oct 2025 05:44:59 GMT expires: - '-1' pragma: @@ -142,10 +146,12 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/1e84aa59-36df-4b05-a197-5836531db880 + x-ms-throttling-version: + - v2 x-msedge-ref: - - 'Ref A: 082240992DD34B1A884242F1469B7DF6 Ref B: MNZ221060610021 Ref C: 2025-03-21T14:45:48Z' + - 'Ref A: 706699A3E49E4AB6AF2A1ABDDD135DC7 Ref B: PNQ231110907062 Ref C: 2025-10-08T05:44:59Z' status: code: 200 message: OK @@ -163,21 +169,21 @@ interactions: ParameterSetName: - --name --perimeter-name --resource-group --enabled-log-categories User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-10-01 response: body: - string: '{"name":"instance","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance","type":"Microsoft.Network/networkSecurityPerimeters/loggingConfigurations","properties":{"version":"1","enabledLogCategories":["NspPublicInboundPerimeterRulesDenied"],"destinationType":[]}}' + string: '{"name":"instance","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance","type":"Microsoft.Network/networkSecurityPerimeters/loggingConfigurations","properties":{"version":"1","enabledLogCategories":["NspPublicInboundPerimeterRulesDenied"],"destinationType":[]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:58.8457950Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:58.8457950Z"}}' headers: cache-control: - no-cache content-length: - - '438' + - '662' content-type: - application/json; charset=utf-8 date: - - Fri, 21 Mar 2025 14:45:50 GMT + - Wed, 08 Oct 2025 05:44:59 GMT expires: - '-1' pragma: @@ -188,10 +194,12 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/e04fe61f-324e-460f-a11e-016f9c69fa47 + x-ms-throttling-version: + - v2 x-msedge-ref: - - 'Ref A: 7B4E28C4BFBD478885FB1FA033379C56 Ref B: MNZ221060608025 Ref C: 2025-03-21T14:45:50Z' + - 'Ref A: 7689FFD0A3AB40A493ED9BD5936B4B0E Ref B: PNQ231110906023 Ref C: 2025-10-08T05:44:59Z' status: code: 200 message: OK @@ -214,21 +222,21 @@ interactions: ParameterSetName: - --name --perimeter-name --resource-group --enabled-log-categories User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-10-01 response: body: - string: '{"name":"instance","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance","type":"Microsoft.Network/networkSecurityPerimeters/loggingConfigurations","properties":{"version":"2","enabledLogCategories":["NspPublicInboundPerimeterRulesDenied","NspPublicOutboundPerimeterRulesDenied"],"destinationType":[]}}' + string: '{"name":"instance","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance","type":"Microsoft.Network/networkSecurityPerimeters/loggingConfigurations","properties":{"version":"2","enabledLogCategories":["NspPublicInboundPerimeterRulesDenied","NspPublicOutboundPerimeterRulesDenied"],"destinationType":[]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:58.8457950Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:01.0184525Z"}}' headers: cache-control: - no-cache content-length: - - '478' + - '702' content-type: - application/json; charset=utf-8 date: - - Fri, 21 Mar 2025 14:45:51 GMT + - Wed, 08 Oct 2025 05:45:00 GMT expires: - '-1' pragma: @@ -239,12 +247,14 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/a5a539c9-0971-45af-af41-7352feb46b76 x-ms-ratelimit-remaining-subscription-writes: - - '799' + - '798' + x-ms-throttling-version: + - v2 x-msedge-ref: - - 'Ref A: 9FE1567271764329AEF4F0BEDF854754 Ref B: MNZ221060608025 Ref C: 2025-03-21T14:45:50Z' + - 'Ref A: BCB06CD0BECB49E2BD1E8867A31F2A84 Ref B: PNQ231110909060 Ref C: 2025-10-08T05:45:00Z' status: code: 200 message: OK @@ -262,21 +272,21 @@ interactions: ParameterSetName: - --perimeter-name --resource-group User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-10-01 response: body: - string: '{"name":"instance","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance","type":"Microsoft.Network/networkSecurityPerimeters/loggingConfigurations","properties":{"version":"2","enabledLogCategories":["NspPublicInboundPerimeterRulesDenied","NspPublicOutboundPerimeterRulesDenied"],"destinationType":[]}}' + string: '{"name":"instance","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance","type":"Microsoft.Network/networkSecurityPerimeters/loggingConfigurations","properties":{"version":"2","enabledLogCategories":["NspPublicInboundPerimeterRulesDenied","NspPublicOutboundPerimeterRulesDenied"],"destinationType":[]},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:58.8457950Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:45:01.0184525Z"}}' headers: cache-control: - no-cache content-length: - - '478' + - '702' content-type: - application/json; charset=utf-8 date: - - Fri, 21 Mar 2025 14:45:53 GMT + - Wed, 08 Oct 2025 05:45:01 GMT expires: - '-1' pragma: @@ -287,10 +297,12 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/114969c8-7985-4e94-b83e-e3d366c689b0 + x-ms-throttling-version: + - v2 x-msedge-ref: - - 'Ref A: 52D295FD537E48D4A4AEDDD3B3E04FA6 Ref B: MNZ221060618009 Ref C: 2025-03-21T14:45:52Z' + - 'Ref A: 4B42E8A81BF84AC19F1BA6C5B803A3EB Ref B: PNQ231110906023 Ref C: 2025-10-08T05:45:01Z' status: code: 200 message: OK @@ -310,9 +322,9 @@ interactions: ParameterSetName: - --perimeter-name --resource-group --yes User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-10-01 response: body: string: '' @@ -322,7 +334,7 @@ interactions: content-length: - '0' date: - - Fri, 21 Mar 2025 14:45:55 GMT + - Wed, 08 Oct 2025 05:45:04 GMT expires: - '-1' pragma: @@ -333,12 +345,14 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centralindia/755878cf-c08f-4365-8cb1-74c0b96b92ad x-ms-ratelimit-remaining-subscription-deletes: - '799' x-ms-ratelimit-remaining-subscription-global-deletes: - '11999' x-msedge-ref: - - 'Ref A: D690FE0CBD6642EB8C78282BF41147C2 Ref B: MNZ221060618027 Ref C: 2025-03-21T14:45:54Z' + - 'Ref A: 88E8733B7CF74667AC70C78353B13A75 Ref B: PNQ231110907034 Ref C: 2025-10-08T05:45:01Z' status: code: 200 message: OK @@ -356,9 +370,9 @@ interactions: ParameterSetName: - --perimeter-name --resource-group User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance?api-version=2024-10-01 response: body: string: '{"error":{"message":"Resource [/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_logging_configuration_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/loggingConfigurations/instance] @@ -371,7 +385,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 21 Mar 2025 14:45:55 GMT + - Wed, 08 Oct 2025 05:45:05 GMT expires: - '-1' pragma: @@ -382,10 +396,12 @@ interactions: - CONFIG_NOCACHE x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/0de257b3-1423-41fe-8256-876106b2743e + x-ms-throttling-version: + - v2 x-msedge-ref: - - 'Ref A: 5894D58534874FAF89AF1D3A0427AE9E Ref B: MNZ221060608017 Ref C: 2025-03-21T14:45:55Z' + - 'Ref A: AEA8213267514DFCA0E619837521E685 Ref B: PNQ231110908031 Ref C: 2025-10-08T05:45:05Z' status: code: 404 message: Not Found diff --git a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_profile_crud.yaml b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_profile_crud.yaml index 57652bbf963..ef69f206dbf 100644 --- a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_profile_crud.yaml +++ b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_profile_crud.yaml @@ -1,292 +1,256 @@ -interactions: -- request: - body: '{"location": "eastus2euap"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter create - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name -l --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"eastus2euap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"32b0a24d-bdc4-4216-968a-acb8ad3b849b","provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '424' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:53 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: 13F17C6184E844128F38AC63CE8A0B94 Ref B: MNZ221060618033 Ref C: 2025-03-21T14:45:50Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile create - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_nsp_profile_crud000001?api-version=2022-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001","name":"test_nsp_profile_crud000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_nsp_profile_crud","date":"2025-03-21T14:45:42Z","module":"nsp","Created":"2025-03-21T14:45:47.4240887Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '424' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:52 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16498' - x-msedge-ref: - - 'Ref A: 81DCFE26F54D41C0A495BC3C8624572A Ref B: MNZ221060609037 Ref C: 2025-03-21T14:45:53Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile create - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"eastus2euap"}' - headers: - cache-control: - - no-cache - content-length: - - '393' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:54 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-writes: - - '11999' - x-ms-ratelimit-remaining-subscription-writes: - - '799' - x-msedge-ref: - - 'Ref A: 919869EA47884E27A2E831026BCCC9B3 Ref B: MNZ221060610007 Ref C: 2025-03-21T14:45:53Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile show - Connection: - - keep-alive - ParameterSetName: - - --name --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-07-01 - response: - body: - string: '{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"eastus2euap"}' - headers: - cache-control: - - no-cache - content-length: - - '393' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:45:54 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: D8C95DDD0B534BB386F38D182B878674 Ref B: MNZ221060619051 Ref C: 2025-03-21T14:45:54Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile list - Connection: - - keep-alive - ParameterSetName: - - --perimeter-name --resource-group - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles?api-version=2024-07-01 - response: - body: - string: '{"nextLink":"","value":[{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"eastus2euap"}]}' - headers: - cache-control: - - no-cache - content-length: - - '419' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 21 Mar 2025 14:46:20 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16500' - x-msedge-ref: - - 'Ref A: C05A181B03C84C179F20170789DB5FE2 Ref B: MNZ221060618033 Ref C: 2025-03-21T14:45:56Z' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network perimeter profile delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name --perimeter-name --resource-group --yes - User-Agent: - - AZURECLI/2.70.0 azsdk-python-core/1.31.0 Python/3.12.9 (Windows-11-10.0.22631-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-07-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 21 Mar 2025 14:46:24 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '799' - x-ms-ratelimit-remaining-subscription-global-deletes: - - '11999' - x-msedge-ref: - - 'Ref A: E91F1A145015409B87924B411293A0BE Ref B: MNZ221060608007 Ref C: 2025-03-21T14:46:20Z' - status: - code: 200 - message: OK -version: 1 +interactions: +- request: + body: '{"location": "centraluseuap"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter create + Connection: + - keep-alive + Content-Length: + - '29' + Content-Type: + - application/json + ParameterSetName: + - --name -l --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNetworkSecurityPerimeter","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter","location":"centraluseuap","type":"Microsoft.Network/networkSecurityPerimeters","tags":{},"etag":"","properties":{"perimeterGuid":"c04eedb6-828c-4108-8285-f0dd80f244e9","provisioningState":"Succeeded"},"systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:57.5977282Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:57.5977282Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '650' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:57 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/dd964bd1-a4c0-4575-bd43-17a85be80d12 + x-ms-ratelimit-remaining-subscription-writes: + - '798' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: BA44480962FF45889B8DF77A16BB9915 Ref B: PNQ231110909034 Ref C: 2025-10-08T05:44:56Z' + status: + code: 200 + message: OK +- request: + body: '{}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile create + Connection: + - keep-alive + Content-Length: + - '2' + Content-Type: + - application/json + ParameterSetName: + - --name --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"centraluseuap","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:58.2093676Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:58.2093676Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/c3561b09-673d-4e54-a953-00b0980a9327 + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: F0D599EAF05A476F812D8F2311162E82 Ref B: PNQ231110909036 Ref C: 2025-10-08T05:44:57Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile show + Connection: + - keep-alive + ParameterSetName: + - --name --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-10-01 + response: + body: + string: '{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"centraluseuap","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:58.2093676Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:58.2093676Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/0a003a9e-8e13-408c-a752-c980edc9da6f + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 48805EBA5E1A4FDFAECE3E07C1E2DD02 Ref B: PNQ231110909036 Ref C: 2025-10-08T05:44:58Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile list + Connection: + - keep-alive + ParameterSetName: + - --perimeter-name --resource-group + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles?api-version=2024-10-01 + response: + body: + string: '{"nextLink":"","value":[{"name":"TestNspProfile","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile","type":"Microsoft.Network/networkSecurityPerimeters/profiles","properties":{"accessRulesVersion":"0","diagnosticSettingsVersion":"0"},"location":"centraluseuap","systemData":{"createdBy":"test@example.com","createdByType":"User","createdAt":"2025-10-08T05:44:58.2093676Z","lastModifiedBy":"test@example.com","lastModifiedByType":"User","lastModifiedAt":"2025-10-08T05:44:58.2093676Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '645' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/1a7750be-6334-4f60-856e-5470dd1aa86e + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: D392B109A0254531A35E7B4461986185 Ref B: PNQ231110908025 Ref C: 2025-10-08T05:44:58Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter profile delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --perimeter-name --resource-group --yes + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_nsp_profile_crud000001/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter/profiles/TestNspProfile?api-version=2024-10-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 08 Oct 2025 05:45:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/d88b33b7-f24b-4128-a7ed-e24cf335fe2b + x-ms-ratelimit-remaining-subscription-deletes: + - '799' + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: C4AC7BE6470A48C09A707C1B3876099E Ref B: PNQ231110909036 Ref C: 2025-10-08T05:45:00Z' + status: + code: 200 + message: OK +version: 1 diff --git a/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_service_tags_crud.yaml b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_service_tags_crud.yaml new file mode 100644 index 00000000000..d0aff4b7984 --- /dev/null +++ b/src/nsp/azext_nsp/tests/latest/recordings/test_nsp_service_tags_crud.yaml @@ -0,0 +1,50 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network perimeter service-tag list + Connection: + - keep-alive + ParameterSetName: + - -l + User-Agent: + - AZURECLI/2.77.0 azsdk-python-core/1.35.0 Python/3.12.11 (Linux-6.8.0-1030-azure-x86_64-with-glibc2.36) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centraluseuap/nspServiceTags?api-version=2024-10-01 + response: + body: + string: '{"value":[{"serviceTags":["1ESDevboxDNSResolution","1ESHCIServiceTag","1esPaes","1ESPTServicePPE","1ESPTServiceProd","1ESResourceManager","1ESSecMonControlPlane","1ESSecMonTest","1PNetIsoNonProd","1PNetIsoProd","1PWarehouse","3PPoxy4onecloudProd","3PProxy4onecloudDev","3PSecure","3S","3sDash","AboveArmSovbase","AbuseNotificationService","AccBluedog","ACCDevAndTestInternal","AccessMonitoring","AccessReviewsNonProd","ACCIAAME","ACCIACorp","ACCIAPME","AccountCheckupWizardServiceNonProd","AccountCheckupWizardServiceProd","AccountCheckupWizardServiceTest","accountcheckupwizppein","accountcheckupwizppeout","accountcheckupwizprodin","accountcheckupwizprodout","accountcheckupwiztestin","accountcheckupwiztestout","AccountMicrosoftComNonProd","AccountMicrosoftComProd","ACESNonProd","ACES-PME","ACGIdentity","ACIInfraProd","ACIInfraTest","ACM","AcousticsExpressRte2-PvtApp-EUS-PIP-13718","ACPIACorp","ACPIAProd","ACPMeteredSubscriptionsNonProd","ACPMeteredSubscriptionsProd","ACPPartitioningNonProd","ACPPartitioningProd","ACPRatingCalcNonProd","ACPRatingCalcProd","ACPRatingInputNonProd","ACPRatingInputProd","ACPUsageV2NonProd","ACPUsageV2Prod","ACPUsageV3NonProd","ACPUsageV3Prod","acquireapimdev","acquiredev","AcropolisNonProd","AcropolisProd","AcsSpoolbot","AcsSpoolbotTest","ActionGroup","ActionsDataNonProd","ActionsDataProd","AdaptiveCloudDemos","ADB-Corp","ADB-Pme","ADB-PmeProd","ADCorpManagedForests","ADENonProdAutomationTest","ADENonProdManualTest","AdhocResearchNonProd","AdInsightBE-EAP-Prod","ADIS","ADLABackend","admearessf4","AdminCoherenceNonProd","AdobeBulkSign","AdrStateNonProd","AdrStateProd","AdsData","AdsDataNonProd","AdsMzProd","AdvisorAssessment","AdvisorRecommender","AdvisorScore","ADxSPublicIP","AegisService","AelKiosks","AEMGDCMenu","AEP-DeveloperProductivity-Prod","AEther","AetherTrinoLoadBalancer","AetherTrinoLoadBalancerNonProd","AFO3PERPExternalIntegrationsNonProd","AFO3PERPInternalSystemsNonProd","AFO3PERPSalesCommissionNonProd","AFO3PERPSalesRevenueNonProd","AFO3PMetaswitchEngineering","AFO3PMetaswitchERP","AFO3PMetaswitchITServices","AFO3PMetaswitchSupport","AFO3PSupportDIMANonProd","AFO3PSupportDIMAProd","AFO3PSupportMetatrackerBINonProd","AFO3PSupportMetatrackerBIProd","AFO3PSupportPortalsNonProd","AFO3PSupportPortalsProd","AFO3PSupportToolsTeamNonProd","AFO3PSupportToolsTeamProd","AFOISPROD","AfoOCTO","AFOPathBlazer","AFOSASNonProd","AFOVoiceCoreInfra","AFSNonProd","AFSProd","AGCOneDeploy","AgreementVLCM","AgriFoodPlatformDogfood","agsonareuprod","agsonarprod","AHBProd","AhnHermes","AhnHermesPPE","AhnHermesProd","AIAssistedVerbatimLabeler","AIAVLSubs","AIFS-SuperComputer","AIFS-SuperComputer-Canary","aihserver","aimasterclassip","AIOpsDS","AIOpsForQualityDev","AIOpsForQualityProd","AIOpsMLPlatform","AIOpsMLPlatform.EastUS","AiOpsMlPlatformKustoScout","AIPMarketplaceInsightsNonProd","AIPMarketplaceInsightsProd","AIRSIPTagInt","AIRSIPTagProd","AISCMaiaProdIPAddresses","AiscMaiaServices","AISCMaiaTestIPAddresses","AISSIRP","AkriIoT","AksArcCCP","AksArcCCPDev","AKSDevSystemServices","AKSE2E","AKSE2E.Cx","AKSE2E.Svc","AKSInfra","AKSInfra.Api","AKSInfra.Cx","AKSInfra.Jit","AKSInfra.Mx","AKSInfra.Svc","AKSInfraNonProd","AKSInfraNonProd.Api","AKSInfraNonProd.Cx","AKSInfraNonProd.Jit","AKSInfraNonProd.Mx","AKSInfraNonProd.Svc","AKSOverlayDeploymentClient","AKSServiceHub","AKSVMSS","ALBControllerInternal","ALBFrontends","ALBGateways","alchemyppe","alchemyprod","AlertsManagementPlatform","AlliantNonProd","AlliantProd","AlvariaWFM","AMA","AMADF","amlclassic","AmplifyAssistDev","AmplifyAssistDSProd","AmplifyAssistPPE","AmplifyAssistProd","AmplifyBusinessAssistProd","AmplifyFusionDEV","AmplifyFusionDEVlocaldev","AmplifyFusionPPE","AmplifyFusionPROD","AmplifyGetHelpPPE","AmplifyGetHelpProd","AmplifyRaveProd","AmplifySaRADev","AmplifySaRAPPE","AmplifySaRAProd","AmplifyTITANNONEUInternal","AmplifyVerstaDev","AmplifyVerstaProd","AmpliyRaveNonProd","AmsAkvFwFlow","AMTPPE","AMTPROD","Amulet","AnalogData","AnalogFreSCEP","AnalysisPlatform","AnalysisPlatformDev","AnalyticsInsightsSolutions","analyticsruntimevm","Annuity","AnomalyDetectionMailer","ANPTA","AnswersPortalNonProd","AnswersPortalProd","AnswersWorkerRoleNonProd","AnswersWorkerRoleProd","AntispamCore","AntispamPlatform","ao5gcLabBastionJumpTag","ao5gcLabManagedClusterTag","AOSMNonProdInfra","AOSMNonProdTest","AOSMProdInfra","APEXCISQLServer","ApiManagement","ApiManagement.AustraliaCentral","ApiManagement.AustraliaCentral2","ApiManagement.AustraliaEast","ApiManagement.AustraliaSoutheast","ApiManagement.AustriaEast","ApiManagement.BelgiumCentral","ApiManagement.BrazilSouth","ApiManagement.BrazilSoutheast","ApiManagement.CanadaCentral","ApiManagement.CanadaEast","ApiManagement.CentralIndia","ApiManagement.CentralUS","ApiManagement.CentralUSEUAP","ApiManagement.ChileCentral","ApiManagement.DenmarkEast","ApiManagement.EastAsia","ApiManagement.EastUS","ApiManagement.EastUS2","ApiManagement.EastUS2EUAP","ApiManagement.EastUS3","ApiManagement.EastUSSLV","ApiManagement.EastUSSTG","ApiManagement.FranceCentral","ApiManagement.FranceSouth","ApiManagement.GermanyNorth","ApiManagement.GermanyWestCentral","ApiManagement.IndiaSouthCentral","ApiManagement.IndonesiaCentral","ApiManagement.IsraelCentral","ApiManagement.IsraelNorthwest","ApiManagement.ItalyNorth","ApiManagement.JapanEast","ApiManagement.JapanWest","ApiManagement.JioIndiaCentral","ApiManagement.JioIndiaWest","ApiManagement.KoreaCentral","ApiManagement.KoreaSouth","ApiManagement.MalaysiaSouth","ApiManagement.MalaysiaWest","ApiManagement.MexicoCentral","ApiManagement.NewZealandNorth","ApiManagement.NorthCentralUS","ApiManagement.NortheastUS5","ApiManagement.NorthEurope","ApiManagement.NorwayEast","ApiManagement.NorwayWest","ApiManagement.PolandCentral","ApiManagement.QatarCentral","ApiManagement.SouthAfricaNorth","ApiManagement.SouthAfricaWest","ApiManagement.SouthCentralUS","ApiManagement.SouthCentralUS2","ApiManagement.SouthCentralUSSTG","ApiManagement.SoutheastAsia","ApiManagement.SoutheastUS","ApiManagement.SoutheastUS3","ApiManagement.SoutheastUS5","ApiManagement.SouthIndia","ApiManagement.SouthwestUS","ApiManagement.SpainCentral","ApiManagement.SwedenCentral","ApiManagement.SwedenSouth","ApiManagement.SwitzerlandNorth","ApiManagement.SwitzerlandWest","ApiManagement.TaiwanNorth","ApiManagement.TaiwanNorthwest","ApiManagement.UAECentral","ApiManagement.UAENorth","ApiManagement.UKSouth","ApiManagement.UKWest","ApiManagement.WestCentralUS","ApiManagement.WestEurope","ApiManagement.WestIndia","ApiManagement.WestUS","ApiManagement.WestUS2","ApiManagement.WestUS3","ApiManagementPPE","ApiManagement-PPE","APIManagementPurviewMultiCloud","APInvoiceServices","APInvoiceServicesTest","Apollo","ApolloNonProd","APP-ADOCON-001","AppCenterINT","AppCenterPROD","AppCertNonProd","AppCertProd","AppConfiguration","AppConfigurationInternal","AppConfigurationInternalDev","AppConfigurationInternalDF","APPFDeploy","AppGateway","AppLens","ApplicationGateway","ApplicationInsightsAvailability","ApplicationInsightsAvailabilityAIMON","ApplicationInsightsAvailabilityAIMONFrontEnd","ApplicationInsightsAvailabilityFrontEnd","ApplicationInsightsAvailabilityInternal","ApplicationInsightsAvailabilityNonProd","ApplicationInsightsAvailabilityNonProdFrontEnd","AppPropertyService","AppProtectTest","ApprovalService","AppSense","AppSenseNonProd","AppService","AppService.AustraliaCentral","AppService.AustraliaCentral2","AppService.AustraliaEast","AppService.AustraliaSoutheast","AppService.AustriaEast","AppService.BelgiumCentral","AppService.BrazilSouth","AppService.BrazilSoutheast","AppService.CanadaCentral","AppService.CanadaEast","AppService.CentralIndia","AppService.CentralUS","AppService.CentralUSEUAP","AppService.ChileCentral","AppService.DenmarkEast","AppService.EastAsia","AppService.EastUS","AppService.EastUS2","AppService.EastUS2EUAP","AppService.EastUS3","AppService.EastUSSLV","AppService.EastUSSTG","AppService.FranceCentral","AppService.FranceSouth","AppService.GermanyNorth","AppService.GermanyWestCentral","AppService.IndiaSouthCentral","AppService.IndonesiaCentral","AppService.IsraelCentral","AppService.IsraelNorthwest","AppService.ItalyNorth","AppService.JapanEast","AppService.JapanWest","AppService.JioIndiaCentral","AppService.JioIndiaWest","AppService.KoreaCentral","AppService.KoreaSouth","AppService.MalaysiaSouth","AppService.MalaysiaWest","AppService.MexicoCentral","AppService.NewZealandNorth","AppService.NorthCentralUS","AppService.NortheastUS5","AppService.NorthEurope","AppService.NorwayEast","AppService.NorwayWest","AppService.PolandCentral","AppService.QatarCentral","AppService.SouthAfricaNorth","AppService.SouthAfricaWest","AppService.SouthCentralUS","AppService.SouthCentralUS2","AppService.SouthCentralUSSTG","AppService.SoutheastAsia","AppService.SoutheastUS","AppService.SoutheastUS3","AppService.SoutheastUS5","AppService.SouthIndia","AppService.SouthwestUS","AppService.SpainCentral","AppService.SwedenCentral","AppService.SwedenSouth","AppService.SwitzerlandNorth","AppService.SwitzerlandWest","AppService.TaiwanNorth","AppService.TaiwanNorthwest","AppService.UAECentral","AppService.UAENorth","AppService.UKSouth","AppService.UKWest","AppService.WestCentralUS","AppService.WestEurope","AppService.WestIndia","AppService.WestUS","AppService.WestUS2","AppService.WestUS3","AppServiceInternalTest","AppServiceManagement","AppServiceManagement.AustraliaCentral","AppServiceManagement.AustraliaCentral2","AppServiceManagement.AustraliaEast","AppServiceManagement.AustraliaSoutheast","AppServiceManagement.AustriaEast","AppServiceManagement.BelgiumCentral","AppServiceManagement.BrazilSouth","AppServiceManagement.BrazilSoutheast","AppServiceManagement.CanadaCentral","AppServiceManagement.CanadaEast","AppServiceManagement.CentralIndia","AppServiceManagement.CentralUS","AppServiceManagement.ChileCentral","AppServiceManagement.DenmarkEast","AppServiceManagement.EastAsia","AppServiceManagement.EastUS","AppServiceManagement.EastUS2","AppServiceManagement.EastUS2EUAP","AppServiceManagement.EastUS3","AppServiceManagement.EastUSSLV","AppServiceManagement.EastUSSTG","AppServiceManagement.FranceCentral","AppServiceManagement.FranceSouth","AppServiceManagement.GermanyNorth","AppServiceManagement.GermanyWestCentral","AppServiceManagement.IndiaSouthCentral","AppServiceManagement.IndonesiaCentral","AppServiceManagement.IsraelCentral","AppServiceManagement.IsraelNorthwest","AppServiceManagement.ItalyNorth","AppServiceManagement.JapanEast","AppServiceManagement.JapanWest","AppServiceManagement.JioIndiaCentral","AppServiceManagement.JioIndiaWest","AppServiceManagement.KoreaCentral","AppServiceManagement.KoreaSouth","AppServiceManagement.MalaysiaSouth","AppServiceManagement.MalaysiaWest","AppServiceManagement.MexicoCentral","AppServiceManagement.NewZealandNorth","AppServiceManagement.NorthCentralUS","AppServiceManagement.NortheastUS5","AppServiceManagement.NorthEurope","AppServiceManagement.NorwayEast","AppServiceManagement.NorwayWest","AppServiceManagement.PolandCentral","AppServiceManagement.QatarCentral","AppServiceManagement.SouthAfricaNorth","AppServiceManagement.SouthAfricaWest","AppServiceManagement.SouthCentralUS","AppServiceManagement.SouthCentralUS2","AppServiceManagement.SouthCentralUSSTG","AppServiceManagement.SoutheastAsia","AppServiceManagement.SoutheastUS","AppServiceManagement.SoutheastUS3","AppServiceManagement.SoutheastUS5","AppServiceManagement.SouthIndia","AppServiceManagement.SouthwestUS","AppServiceManagement.SpainCentral","AppServiceManagement.SwedenCentral","AppServiceManagement.SwedenSouth","AppServiceManagement.SwitzerlandNorth","AppServiceManagement.SwitzerlandWest","AppServiceManagement.TaiwanNorth","AppServiceManagement.TaiwanNorthwest","AppServiceManagement.UAECentral","AppServiceManagement.UAENorth","AppServiceManagement.UKSouth","AppServiceManagement.UKWest","AppServiceManagement.WestCentralUS","AppServiceManagement.WestEurope","AppServiceManagement.WestIndia","AppServiceManagement.WestUS","AppServiceManagement.WestUS2","AppServiceManagement.WestUS3","AppsPortal","ApsAiServicePPE","ApsAiServiceProd","ApsNonProd","ApsProd","AqpIpCloud","ArcEnabledServersOutbound","ArcKubernetesRuntime","ArcPlatform","ArcPlatformNonProd","ARCPPE","ARCPROD","ARDFinanceService","ArdIncubation","ArgosData","Aria","AribaVertexForProjectHogan","ARISNonProd","ARISProd","aroclassicnonprodinboundsvc","aroclassicnonprodoutboundsvc","aroclassicnonprodportal","aroclassicprodinboundsvc","aroclassicprodoutboundsvc","aroclassicprodportal","arohcpnonprodinboundapi","arohcpnonprodinboundcustomerapi","aro-hcp-nonprod-inbound-customerapi","arohcpnonprodinboundcx","arohcpnonprodinboundjit","arohcpnonprodinboundsvc","aro-hcp-nonprod-inbound-svc","arohcpnonprodoutboundcx","aro-hcp-nonprod-outbound-cx","arohcpnonprodoutboundsvc","aro-hcp-nonprod-outbound-svc","arohcpprodinboundcustomerapi","aro-hcp-prod-inbound-customerapi","arohcpprodinboundcx","aro-hcp-prod-inbound-cx","arohcpprodinboundsvc","aro-hcp-prod-inbound-svc","arohcpprodoutboundcx","aro-hcp-prod-outbound-cx","arohcpprodoutboundsvc","aro-hcp-prod-outbound-svc","ArrivalExperience","ArtifactService","ArtifactService.SouthCentralUS","ArtifactService.WestCentralUS","ArtifactService.WestUS2","ArtifactServiceNonProd","ArtifactServiceNonProd.SouthCentralUS","ArtifactServiceNonProd.WestUS2","ARTIS","ASDAppDeployDevPrivate","ASDDevPrivate","ASDPortalDevPrivate","ASDPortalPrivate","ASDSyntheticsDevPrivate","AsgardDarmTest","ASHRPDevPrivate","AsimovEventForwarderInt","AsimovEventForwarderProd","AsimovNonProd","AsimovProd","AsmDetectionPlatform","AsmDetectionPlatformNonProd","AssemblylineNonProd","AssemblylineProd","AssetManagement","AssistCuS","AszLabHardware","AszLabHardwarePpe","AtlasAutomation","AtlasCM","AtlasIAM","AtlasPlatform","ATMDEV","ATMPPE","ATMPROD","Atom","AtomDev","AttackSimulationTraining","AudioDigitalSignalProcessingLibraries","Aurora365","AuroraPlatform","AuroraPlatformNonProd","AuroraRam","AuroraRamNonProd","AuroraService","AutoBranchCreateExpressRoute","AutoKIRDatabricks","AutomatedIRStaging","AutomationHybridWorker","AutonomousComputeFabric","AutonomousComputeFabricClassicFalcon","AutonomousDevelopmentPlatform","AutopatchPlatform","AutopatchPlatformInternal","AutopatchPlatformInternalTest","AutopatchWufbdsNonProd","AutopatchWufbdsProd","AutoRecoveryFrameworkFingerprints","AutospotInt","AutospotProd","AutoSuggestAzureIdentityPME","Ava","AvaLLE","AVEprod","AvereAOS","AvereInfraST","AvereInfrastructureAtsVpn","AVNMIPAM","AVNMIPAMNonProd","AVNMVNV","AVNMVNVNonProd","AVSDevSubscriptionContainer","AVSDR","AVSDynEnv","AVSNonProd","AVSPreProd","AVSProd","AWE","azacsnonprod","azacsprod","AzCertify","AzCertifyInternalProd","AzCertifyInternalTest","AzcisReporting","AzConductorEval","AzConductorPreProd","AzConductorProd","AzConductorTest","AzCoreAEDepToolingTest","AzCoreAEDevOther","AzCoreOFPEAPrototyping","AzCoreTPM","azcp","AzDevRMAgentsCUS","AzDevRMAgentsProd","AzDevRmAgentsTest","AzDevRMAgentsYAMLProd","AzDGpuCapacity","AzDNWNonProd","AzFraudServiceFabricProd","AzFraudServiceFabricProd.WestUS2","AzfraudServiceFabricTest","AzfraudServiceFabricTest.WestUS2","AZHDLCService","AZHDLCService-NonProd","azhseacsnonprod","azhseacsprod","azhseavsnonprod","azhseavsprod","azhsefabricnonprod","azhsefabricprod","azhsehvaopsnonprod","azhsehvaopsprod","azhseMkmsKeyholdernonprod","azhseMkmsKeyholderprod","azhseMkmsLicensingnonprod","azhsemskeysnpnonprod","azhsepkimgwnonprod","azhsepkimgwprod","azhsesecureoriginnonprod","azhsesecureoriginprod","azhsevaultnonprod","azhsevaultprod","azhsexboxmtenonprod","azhsexboxmteprod","azhsexmacnonprod","azhsexmacprod","AzKaizenSubscriptionContainer","AzLinuxProvisioningLpaProduction","AzLinuxProvisioningLpaStaging","AzNativeISVLogForwarder","AzNativeISVLogForwarderTest","AzNativeISVServices","AzNativeISVServicesDev","AzNativeISVServicesTest","AzNetSovDNSHybrid","AzPolicyEngineNonProd","AzPolicyEngineProd","AzQualify","AzSCPerf","AzSecThimPf","AzSecTLServiceContainerService","AzSExoticNetperf","AzSLicensePlatformService","AzSLicensePlatformServiceTest","AzSPlatformService","AzSPlatformServiceNexus","AzSPlatformServiceNexusTest","AzsPortalControllers","AzSPrivateCloudSubContainerNonProd","AzSSDNAppliance","AzStackBuild","AzureAccessPointInfra","AzureAccessPointInfraNonProd","AzureActiveDirectory","AzureActiveDirectoryDomainServices","AzureActiveDirectorySyncFabric","AzureAdvancedThreatProtection","AzureAdvancedThreatProtectionInternal","AzureAdvancedThreatProtectionNonProd","AzureAdvisor","AzureAdvisorScoreNonProdST","AzureAdvisorScoreProdST","AzureAdvisorStaging","AzureAIAgents","AzureAIContentSafety","AzureAINetworkingInternal","AzureAMPX","AzureAMPXPME","AzureAnalysisServices","AzureAnalysisServicesPPE","AzureAPIHub","AzureAPIHubProd","AzureAPIHubTest","AzureApplicationGatewayOps","AzureApplicationGatewayTest","azureapplink-meshmanager-dev-inbound-svc","azureapplink-meshmanager-prod-inbound-svc","azureapplink-meshmanager-test-inbound-svc","azureapplink-rp-dev-inbound-svc","azureapplink-rp-prod-inbound-svc","azureapplink-rp-test-inbound-svc","AzureArcConnectivityInfrastructure","AzureArcConnectivityNonProdInfrastructure","AzureArchiveStorage","AzureArchiveStorageTest","AzureArcInfraEgress","AzureArcInfrastructure","AzureArcInfrastructureInternal","AzureArcInfrastructureNonProd","AzureArcRAG","AzureArcVMware","AzureAttestation","AzureAttestationTest","AzureAuthorizations","AzureAutomanageProd","AzureAutoscale","AzureBackup","AzureBackupTestInfra","AzureBasedResourceCentral","AzureBasedResourceCentralNonProd","AzureBastionDeveloper","AzureBatch","AzureBatchDevTest","AzureBatchPPE","AzureBBC","AzureBema","AzureBotService","AzureBslServiceProd","AzureBuildOutAutomation","AzureCacheForRedisBilling","AzureCacheForRedisBillingStage","AzureCacheForRedisControlPlane","AzureCacheForRedisControlPlaneStage","AzureCacheForRedisControlPlaneTip","AzureCacheForRedisDeployer","AzureCapacityInfrastructureService-CisPortal-PreProd","AzureCapacityInfrastructureService-CisPortal-Prod","AzureCapacityInfrastructureService-CisPortal-Test","AzureCapacityInfrastructureServiceNonProd","AzureCapacityInfrastructureServiceProd","AzureCleanRoom","AzureCleanRoomTest","AzureClientToolsProd","AzureClientToolsTest","AzureCloud","AzureCloud.australiacentral","AzureCloud.australiacentral2","AzureCloud.australiaeast","AzureCloud.australiasoutheast","AzureCloud.austriaeast","AzureCloud.belgiumcentral","AzureCloud.brazilne","AzureCloud.brazilse","AzureCloud.brazilsouth","AzureCloud.canadacentral","AzureCloud.canadaeast","AzureCloud.centralfrance","AzureCloud.centralindia","AzureCloud.centralus","AzureCloud.centraluseuap","AzureCloud.chilec","AzureCloud.denmarkeast","AzureCloud.eastasia","AzureCloud.easteurope","AzureCloud.eastus","AzureCloud.eastus2","AzureCloud.eastus2euap","AzureCloud.eastus3","AzureCloud.eastusslv","AzureCloud.finlandcentral","AzureCloud.germanyn","AzureCloud.germanywc","AzureCloud.indiasouthcentral","AzureCloud.indonesiacentral","AzureCloud.israelcentral","AzureCloud.israelnorthwest","AzureCloud.italynorth","AzureCloud.japaneast","AzureCloud.japanwest","AzureCloud.jioindiacentral","AzureCloud.jioindiawest","AzureCloud.koreacentral","AzureCloud.koreasouth","AzureCloud.malaysiasouth","AzureCloud.malaysiawest","AzureCloud.mexicocentral","AzureCloud.newzealandnorth","AzureCloud.northcentralus","AzureCloud.northeastus5","AzureCloud.northeurope","AzureCloud.northeurope2","AzureCloud.norwaye","AzureCloud.norwayw","AzureCloud.polandcentral","AzureCloud.qatarcentral","AzureCloud.saudiarabiaeast","AzureCloud.southafricanorth","AzureCloud.southafricawest","AzureCloud.southcentralus","AzureCloud.southcentralus2","AzureCloud.southeastasia","AzureCloud.southeastasia3","AzureCloud.southeastus","AzureCloud.southeastus3","AzureCloud.southeastus5","AzureCloud.southfrance","AzureCloud.southindia","AzureCloud.southwestus","AzureCloud.spaincentral","AzureCloud.swedencentral","AzureCloud.swedensouth","AzureCloud.switzerlandn","AzureCloud.switzerlandw","AzureCloud.taiwannorth","AzureCloud.taiwannorthwest","AzureCloud.uaecentral","AzureCloud.uaenorth","AzureCloud.uknorth","AzureCloud.uksouth","AzureCloud.uksouth2","AzureCloud.ukwest","AzureCloud.usstagec","AzureCloud.usstagee","AzureCloud.westcentralus","AzureCloud.westcentralusfre","AzureCloud.westeurope","AzureCloud.westindia","AzureCloud.westus","AzureCloud.westus2","AzureCloud.westus3","AzureCloudKit","AzureCloudService","AzureCloudShell","AzureCloudShellNonProd","AzureCloudShellProd","AzureCloudSupplyChainExternal","AzureCloudSupplyChainInternal","AzureCMAT","AzureCMATInt","Azurecmsnonprodamp","Azurecmsnonprodinternal","Azurecmsnonprodrt","Azurecmsprodrt","AzureCognitiveSearch","AzureCommunicationGatewayNonProd","AzureCommunicationGatewayProd","AzureCommunicationServices","AzureCompleteCommunicationGraph","AzureComputeRecommendationsNonProd","AzureComputeRecommendationsProd","AzureComputerVision","AzureConfidentialLedger","AzureConnectors","AzureConnectors.AustraliaCentral","AzureConnectors.AustraliaCentral2","AzureConnectors.AustraliaEast","AzureConnectors.AustraliaSoutheast","AzureConnectors.AustriaEast","AzureConnectors.BelgiumCentral","AzureConnectors.BrazilSouth","AzureConnectors.BrazilSoutheast","AzureConnectors.CanadaCentral","AzureConnectors.CanadaEast","AzureConnectors.CentralIndia","AzureConnectors.CentralUS","AzureConnectors.CentralUSEUAP","AzureConnectors.ChileCentral","AzureConnectors.DenmarkEast","AzureConnectors.EastAsia","AzureConnectors.EastUS","AzureConnectors.EastUS2","AzureConnectors.EastUS2EUAP","AzureConnectors.EastUS3","AzureConnectors.EastUSSLV","AzureConnectors.EastUSSTG","AzureConnectors.FranceCentral","AzureConnectors.FranceSouth","AzureConnectors.GermanyNorth","AzureConnectors.GermanyWestCentral","AzureConnectors.IndiaSouthCentral","AzureConnectors.IndonesiaCentral","AzureConnectors.IsraelCentral","AzureConnectors.IsraelNorthwest","AzureConnectors.ItalyNorth","AzureConnectors.JapanEast","AzureConnectors.JapanWest","AzureConnectors.JioIndiaCentral","AzureConnectors.JioIndiaWest","AzureConnectors.KoreaCentral","AzureConnectors.KoreaSouth","AzureConnectors.MalaysiaSouth","AzureConnectors.MalaysiaWest","AzureConnectors.MexicoCentral","AzureConnectors.NewZealandNorth","AzureConnectors.NorthCentralUS","AzureConnectors.NortheastUS5","AzureConnectors.NorthEurope","AzureConnectors.NorwayEast","AzureConnectors.NorwayWest","AzureConnectors.PolandCentral","AzureConnectors.QatarCentral","AzureConnectors.SouthAfricaNorth","AzureConnectors.SouthAfricaWest","AzureConnectors.SouthCentralUS","AzureConnectors.SouthCentralUS2","AzureConnectors.SouthCentralUSSTG","AzureConnectors.SoutheastAsia","AzureConnectors.SoutheastUS","AzureConnectors.SoutheastUS3","AzureConnectors.SoutheastUS5","AzureConnectors.SouthIndia","AzureConnectors.SouthwestUS","AzureConnectors.SpainCentral","AzureConnectors.SwedenCentral","AzureConnectors.SwedenSouth","AzureConnectors.SwitzerlandNorth","AzureConnectors.SwitzerlandWest","AzureConnectors.TaiwanNorth","AzureConnectors.TaiwanNorthwest","AzureConnectors.UAECentral","AzureConnectors.UAENorth","AzureConnectors.UKSouth","AzureConnectors.UKWest","AzureConnectors.WestCentralUS","AzureConnectors.WestEurope","AzureConnectors.WestIndia","AzureConnectors.WestUS","AzureConnectors.WestUS2","AzureConnectors.WestUS3","AzureConnectorsNonProd","AzureConsumedRevenue","AzureConsumedRevenueSecondary","AzureContainerApps","AzureContainerInstance","AzureContainerInstance.AustraliaCentral","AzureContainerInstance.AustraliaCentral2","AzureContainerInstance.AustraliaEast","AzureContainerInstance.AustraliaSoutheast","AzureContainerInstance.AustriaEast","AzureContainerInstance.BelgiumCentral","AzureContainerInstance.BrazilSouth","AzureContainerInstance.BrazilSoutheast","AzureContainerInstance.CanadaCentral","AzureContainerInstance.CanadaEast","AzureContainerInstance.CentralIndia","AzureContainerInstance.CentralUS","AzureContainerInstance.CentralUSEUAP","AzureContainerInstance.ChileCentral","AzureContainerInstance.DenmarkEast","AzureContainerInstance.EastAsia","AzureContainerInstance.EastUS","AzureContainerInstance.EastUS2","AzureContainerInstance.EastUS2EUAP","AzureContainerInstance.EastUS3","AzureContainerInstance.EastUSSTG","AzureContainerInstance.FranceCentral","AzureContainerInstance.FranceSouth","AzureContainerInstance.GermanyNorth","AzureContainerInstance.GermanyWestCentral","AzureContainerInstance.IndiaSouthCentral","AzureContainerInstance.IndonesiaCentral","AzureContainerInstance.IsraelCentral","AzureContainerInstance.IsraelNorthwest","AzureContainerInstance.ItalyNorth","AzureContainerInstance.JapanEast","AzureContainerInstance.JapanWest","AzureContainerInstance.JioIndiaWest","AzureContainerInstance.KoreaCentral","AzureContainerInstance.KoreaSouth","AzureContainerInstance.MalaysiaSouth","AzureContainerInstance.MalaysiaWest","AzureContainerInstance.MexicoCentral","AzureContainerInstance.NewZealandNorth","AzureContainerInstance.NorthCentralUS","AzureContainerInstance.NortheastUS5","AzureContainerInstance.NorthEurope","AzureContainerInstance.NorwayEast","AzureContainerInstance.NorwayWest","AzureContainerInstance.PolandCentral","AzureContainerInstance.SouthAfricaNorth","AzureContainerInstance.SouthAfricaWest","AzureContainerInstance.SouthCentralUS","AzureContainerInstance.SouthCentralUS2","AzureContainerInstance.SoutheastAsia","AzureContainerInstance.SoutheastUS","AzureContainerInstance.SoutheastUS3","AzureContainerInstance.SoutheastUS5","AzureContainerInstance.SouthIndia","AzureContainerInstance.SouthwestUS","AzureContainerInstance.SpainCentral","AzureContainerInstance.SwedenCentral","AzureContainerInstance.SwitzerlandNorth","AzureContainerInstance.SwitzerlandWest","AzureContainerInstance.TaiwanNorth","AzureContainerInstance.TaiwanNorthwest","AzureContainerInstance.UAECentral","AzureContainerInstance.UAENorth","AzureContainerInstance.UKSouth","AzureContainerInstance.UKWest","AzureContainerInstance.WestCentralUS","AzureContainerInstance.WestEurope","AzureContainerInstance.WestIndia","AzureContainerInstance.WestUS","AzureContainerInstance.WestUS2","AzureContainerInstance.WestUS3","AzureContainerRegistry","AzureContainerRegistry.AustraliaCentral","AzureContainerRegistry.AustraliaCentral2","AzureContainerRegistry.AustraliaEast","AzureContainerRegistry.AustraliaSoutheast","AzureContainerRegistry.AustriaEast","AzureContainerRegistry.BelgiumCentral","AzureContainerRegistry.BrazilSouth","AzureContainerRegistry.BrazilSoutheast","AzureContainerRegistry.CanadaCentral","AzureContainerRegistry.CanadaEast","AzureContainerRegistry.CentralIndia","AzureContainerRegistry.CentralUS","AzureContainerRegistry.CentralUSEUAP","AzureContainerRegistry.ChileCentral","AzureContainerRegistry.DenmarkEast","AzureContainerRegistry.EastAsia","AzureContainerRegistry.EastUS","AzureContainerRegistry.EastUS2","AzureContainerRegistry.EastUS2EUAP","AzureContainerRegistry.EastUS3","AzureContainerRegistry.EastUSSLV","AzureContainerRegistry.EastUSSTG","AzureContainerRegistry.FranceCentral","AzureContainerRegistry.FranceSouth","AzureContainerRegistry.GermanyNorth","AzureContainerRegistry.GermanyWestCentral","AzureContainerRegistry.IndiaSouthCentral","AzureContainerRegistry.IndonesiaCentral","AzureContainerRegistry.IsraelCentral","AzureContainerRegistry.IsraelNorthwest","AzureContainerRegistry.ItalyNorth","AzureContainerRegistry.JapanEast","AzureContainerRegistry.JapanWest","AzureContainerRegistry.JioIndiaCentral","AzureContainerRegistry.JioIndiaWest","AzureContainerRegistry.KoreaCentral","AzureContainerRegistry.KoreaSouth","AzureContainerRegistry.MalaysiaSouth","AzureContainerRegistry.MalaysiaWest","AzureContainerRegistry.MexicoCentral","AzureContainerRegistry.NewZealandNorth","AzureContainerRegistry.NorthCentralUS","AzureContainerRegistry.NortheastUS5","AzureContainerRegistry.NorthEurope","AzureContainerRegistry.NorwayEast","AzureContainerRegistry.NorwayWest","AzureContainerRegistry.PolandCentral","AzureContainerRegistry.QatarCentral","AzureContainerRegistry.SouthAfricaNorth","AzureContainerRegistry.SouthAfricaWest","AzureContainerRegistry.SouthCentralUS","AzureContainerRegistry.SouthCentralUS2","AzureContainerRegistry.SouthCentralUSSTG","AzureContainerRegistry.SoutheastAsia","AzureContainerRegistry.SoutheastUS","AzureContainerRegistry.SoutheastUS3","AzureContainerRegistry.SoutheastUS5","AzureContainerRegistry.SouthIndia","AzureContainerRegistry.SouthwestUS","AzureContainerRegistry.SpainCentral","AzureContainerRegistry.SwedenCentral","AzureContainerRegistry.SwedenSouth","AzureContainerRegistry.SwitzerlandNorth","AzureContainerRegistry.SwitzerlandWest","AzureContainerRegistry.TaiwanNorth","AzureContainerRegistry.TaiwanNorthwest","AzureContainerRegistry.UAECentral","AzureContainerRegistry.UAENorth","AzureContainerRegistry.UKSouth","AzureContainerRegistry.UKSouth2","AzureContainerRegistry.UKWest","AzureContainerRegistry.WestCentralUS","AzureContainerRegistry.WestEurope","AzureContainerRegistry.WestIndia","AzureContainerRegistry.WestUS","AzureContainerRegistry.WestUS2","AzureContainerRegistry.WestUS3","AzureContainerRegistryTest","AzureContentPlatform","AzureContentPlatformNonProd","AzureControlPlaneRBAC-DF","AzureControlPlaneRBACNonProd","AzureControlPlaneRBAC-Prod","Azure-Convergence-All-Model-A-on-VMSS","AzureCoreRobotics","AzureCosmic","AzureCosmicNonProd","AzureCosmosDB","AzureCosmosDB.AustraliaCentral","AzureCosmosDB.AustraliaCentral2","AzureCosmosDB.AustraliaEast","AzureCosmosDB.AustraliaSoutheast","AzureCosmosDB.AustriaEast","AzureCosmosDB.BelgiumCentral","AzureCosmosDB.BrazilSouth","AzureCosmosDB.BrazilSoutheast","AzureCosmosDB.CanadaCentral","AzureCosmosDB.CanadaEast","AzureCosmosDB.CentralIndia","AzureCosmosDB.CentralUS","AzureCosmosDB.CentralUSEUAP","AzureCosmosDB.ChileCentral","AzureCosmosDB.DenmarkEast","AzureCosmosDB.EastAsia","AzureCosmosDB.EastUS","AzureCosmosDB.EastUS2","AzureCosmosDB.EastUS2EUAP","AzureCosmosDB.EastUS3","AzureCosmosDB.EastUSSLV","AzureCosmosDB.EastUSSTG","AzureCosmosDB.FranceCentral","AzureCosmosDB.FranceSouth","AzureCosmosDB.GermanyNorth","AzureCosmosDB.GermanyWestCentral","AzureCosmosDB.IndiaSouthCentral","AzureCosmosDB.IndonesiaCentral","AzureCosmosDB.IsraelCentral","AzureCosmosDB.IsraelNorthwest","AzureCosmosDB.ItalyNorth","AzureCosmosDB.JapanEast","AzureCosmosDB.JapanWest","AzureCosmosDB.JioIndiaCentral","AzureCosmosDB.JioIndiaWest","AzureCosmosDB.KoreaCentral","AzureCosmosDB.KoreaSouth","AzureCosmosDB.MalaysiaSouth","AzureCosmosDB.MalaysiaWest","AzureCosmosDB.MexicoCentral","AzureCosmosDB.NewZealandNorth","AzureCosmosDB.NorthCentralUS","AzureCosmosDB.NortheastUS5","AzureCosmosDB.NorthEurope","AzureCosmosDB.NorwayEast","AzureCosmosDB.NorwayWest","AzureCosmosDB.PolandCentral","AzureCosmosDB.QatarCentral","AzureCosmosDB.SouthAfricaNorth","AzureCosmosDB.SouthAfricaWest","AzureCosmosDB.SouthCentralUS","AzureCosmosDB.SouthCentralUS2","AzureCosmosDB.SouthCentralUSSTG","AzureCosmosDB.SoutheastAsia","AzureCosmosDB.SoutheastUS","AzureCosmosDB.SoutheastUS3","AzureCosmosDB.SoutheastUS5","AzureCosmosDB.SouthIndia","AzureCosmosDB.SouthwestUS","AzureCosmosDB.SpainCentral","AzureCosmosDB.SwedenCentral","AzureCosmosDB.SwedenSouth","AzureCosmosDB.SwitzerlandNorth","AzureCosmosDB.SwitzerlandWest","AzureCosmosDB.TaiwanNorth","AzureCosmosDB.TaiwanNorthwest","AzureCosmosDB.UAECentral","AzureCosmosDB.UAENorth","AzureCosmosDB.UKSouth","AzureCosmosDB.UKWest","AzureCosmosDB.WestCentralUS","AzureCosmosDB.WestEurope","AzureCosmosDB.WestIndia","AzureCosmosDB.WestUS","AzureCosmosDB.WestUS2","AzureCosmosDB.WestUS3","AzureCosmosDBControlPlane","AzureCosmosDBControlPlaneNonProd","AzureCosmosDBCTLNonProd","AzureCosmosDBNonProd","AzureCosmosDBPerfNonProd","AzureCosmosDBPortal","AzureCscpAiEnablementPpe","AzureCscpAiEnablementProd","AzureCscpAiEnablementTest","AzureCsfiMisc","AzureCsfiNonProd","AzureCsfiProd","AzureCST","AzureCSTAudit","AzureCSTFeatureControlManager","AzureCSTLockboxGlobal","AzureCSTRefundsWebApi","AzureCSTUserManagement","AzureCXPAceHub","AzureCXPAceHubTest","Azurecxp-ArgExecutor-Ppe","Azurecxp-ArgExecutor-Prod","Azurecxp-ArgExecutor-Prvw","Azurecxp-ArgExecutor-Test","AzureCXPAurisDev","AzureCxpCCM","AzureCxpCcmProd","AzureCxpCcmPrvw","AzureCxpCcmTest","AzureCXPCeresDev","azurecxpconsumptionppe","azurecxpconsumptionprod","azurecxpconsumptionprvw","azurecxpconsumptiontest","AzureCXPCSAINFRAPPE","AzureCXPCSAINFRAProd","AzureCXPCSAINFRATest","AzurecxpCustFacingdomPpe","AzurecxpCustFacingdomProd","AzurecxpCustFacingdomPrvw","AzurecxpCustFacingdomTest","AzurecxpCustomerdomPpe","AzurecxpCustomerdomProd","AzurecxpCustomerdomPrvw","AzurecxpCustomerdomTest","azurecxpcustomkpippe","azurecxpcustomkpiprod","azurecxpcustomkpiprvw","azurecxpcustomkpitest","AzurecxpCxoAuthServicePpe","AzurecxpCxoAuthServiceProd","AzurecxpCxoAuthServicePrvw","AzurecxpCxoAuthServiceTest","AzurecxpCxoMetadataPpe","AzurecxpCxoMetadataProd","AzurecxpCxoMetadataPrvw","AzurecxpCxoMetadataTest","AzureCXPEngineeringPlatform","AzureCXPEngineeringPlatformDev","AzureCXPEscalationFrontDoorPPE","AzureCXPEscalationFrontDoorProd","AzureCXPEscalationFrontDoorTest","AzureCXPGetHelpPPE","AzureCXPGetHelpProd","AzureCXPGetHelpTest","AzurecxpInsightsPpe","AzurecxpInsightsProd","AzurecxpInsightsPrvw","AzurecxpInsightsTest","azurecxpkpiservicedev","azurecxpkpiserviceppe","AZURECXPLLMFUNCPPE","AZURECXPLLMPPE","AzureCXPNominationPortal","AzureCXPNominationPortalDev","azurecxpp360mmsdev","azurecxpp360mmstest","azurecxpp360ppe","azurecxpp360prod","azurecxpqualityppe","azurecxpqualityprod","azurecxpqualityprvw","azurecxpqualitytest","AzurecxpRecomManagePpe","AzurecxpRecomManageProd","AzurecxpRecomManagePrvw","AzurecxpRecomManageTest","AzurecxpResiliencydomPpe","AzurecxpResiliencydomProd","AzurecxpResiliencydomPrvw","AzurecxpResiliencydomTest","AzureCXPSDPCXDPPPE","AzureCXPSDPCXDPPREVIEW","AzureCXPSDPCXDPPROD","AzureCXPSDPCXDPTEST","AZURECXPSDPFUNCPPE","AzureCXPSDPFUNCPROD","AZURECXPSDPFUNCTEST","AZURECXPSDPLLMFUNCPPE","AzureCXPSDPLLMFUNCPROD","AzureCXPSDPLLMFUNCPRVW","AZURECXPSDPLLMPPE","AzureCXPSDPLLMPROD","AzureCXPSDPLLMPRVW","AzureCXPSDPPPE","AzureCXPSDPPROD","AzureCXP-SDP-Test","AzureCXPSDPUSResPPE","AzureCXPSDPUSResPROD","AzureCXPSDPUSResTEST","AZURECXPSDPVDMNonProd","AzureCXPServicesHub10","AzureCXPServicesHub10Dev","AzureCXPServicesHub20","AzureCXPServicesHub20Dev","AzureCXPServicesHub20PPE","AzurecxpWorkloadManagePpe","AzurecxpWorkloadManageProd","AzurecxpWorkloadManagePrvw","AzurecxpWorkloadManageTest","AzureDataBoxServiceProd","AzureDataBoxServiceTest","AzureDatabricks","AzureDatabricksDev","AzureDatabricksServerless","AzureDatabricksServerless.AustraliaCentral","AzureDatabricksServerless.AustraliaCentral2","AzureDatabricksServerless.AustraliaEast","AzureDatabricksServerless.AustraliaSoutheast","AzureDatabricksServerless.AustriaEast","AzureDatabricksServerless.BelgiumCentral","AzureDatabricksServerless.BrazilSouth","AzureDatabricksServerless.BrazilSoutheast","AzureDatabricksServerless.CanadaCentral","AzureDatabricksServerless.CanadaEast","AzureDatabricksServerless.CentralIndia","AzureDatabricksServerless.CentralUS","AzureDatabricksServerless.CentralUSEUAP","AzureDatabricksServerless.ChileCentral","AzureDatabricksServerless.DenmarkEast","AzureDatabricksServerless.EastAsia","AzureDatabricksServerless.EastUS","AzureDatabricksServerless.EastUS2","AzureDatabricksServerless.EastUS2EUAP","AzureDatabricksServerless.EastUS3","AzureDatabricksServerless.FranceCentral","AzureDatabricksServerless.FranceSouth","AzureDatabricksServerless.GermanyNorth","AzureDatabricksServerless.GermanyWestCentral","AzureDatabricksServerless.IndiaSouthCentral","AzureDatabricksServerless.IndonesiaCentral","AzureDatabricksServerless.IsraelCentral","AzureDatabricksServerless.IsraelNorthwest","AzureDatabricksServerless.ItalyNorth","AzureDatabricksServerless.JapanEast","AzureDatabricksServerless.JapanWest","AzureDatabricksServerless.JioIndiaCentral","AzureDatabricksServerless.JioIndiaWest","AzureDatabricksServerless.KoreaCentral","AzureDatabricksServerless.KoreaSouth","AzureDatabricksServerless.MalaysiaSouth","AzureDatabricksServerless.MalaysiaWest","AzureDatabricksServerless.MexicoCentral","AzureDatabricksServerless.NewZealandNorth","AzureDatabricksServerless.NorthCentralUS","AzureDatabricksServerless.NortheastUS5","AzureDatabricksServerless.NorthEurope","AzureDatabricksServerless.NorwayEast","AzureDatabricksServerless.NorwayWest","AzureDatabricksServerless.PolandCentral","AzureDatabricksServerless.QatarCentral","AzureDatabricksServerless.SouthAfricaNorth","AzureDatabricksServerless.SouthAfricaWest","AzureDatabricksServerless.SouthCentralUS","AzureDatabricksServerless.SouthCentralUS2","AzureDatabricksServerless.SoutheastAsia","AzureDatabricksServerless.SoutheastUS","AzureDatabricksServerless.SoutheastUS3","AzureDatabricksServerless.SoutheastUS5","AzureDatabricksServerless.SouthIndia","AzureDatabricksServerless.SouthwestUS","AzureDatabricksServerless.SpainCentral","AzureDatabricksServerless.SwedenCentral","AzureDatabricksServerless.SwedenSouth","AzureDatabricksServerless.SwitzerlandNorth","AzureDatabricksServerless.SwitzerlandWest","AzureDatabricksServerless.TaiwanNorth","AzureDatabricksServerless.TaiwanNorthwest","AzureDatabricksServerless.UAECentral","AzureDatabricksServerless.UAENorth","AzureDatabricksServerless.UKSouth","AzureDatabricksServerless.UKWest","AzureDatabricksServerless.WestCentralUS","AzureDatabricksServerless.WestEurope","AzureDatabricksServerless.WestIndia","AzureDatabricksServerless.WestUS","AzureDatabricksServerless.WestUS2","AzureDatabricksServerless.WestUS3","AzureDatabricksStaging","AzureDatabricksTCP","AzureDataCenterMonitoring","AzureDataExplorerEv2Extension","AzureDataExplorerManagement","AzureDataLake","AzureDataManagerforEnergy","AzureDataShare","AzureDataShareNonProd","AzureDataTransferRP","AzureDedicatedDRP","AzureDeviceRegistry","AzureDeviceUpdate","AzureDeviceUpdateNonProd","AzureDevOps","AzureDevOpsInternal","AzureDevOpsNonProd","AzureDevOpsServerServiceTag","AzureDevSpaces","AzureDiagnostics","AzureDigitalCustomerSuccess","AzureDigitalTwins","AzureDiskEncryptionNonProd","AzureDiskEncryptionProd","AzureDmsTestResource","AzureDns","AzureDnsAux","AzureDNSDigWeb","AzureDnsNameReservationNonProd","AzureDnsNameReservationProd","AzureDnsPpe","AzureDnsPrivateResolverBackend","AzureDnsPrivateResolverFrontend","AzureDnsRm","AzureDnsTest","AzureDNSUXST","AzureDocumentIntelligenceNonProd","AzureDocumentIntelligenceProd","AzureDRL","AzureEdgeActions","AzureEdgeCI","AzureEdgeHardwareCenter","AzureEdgeHardwareCenterTest","AzureEdgeProv","AzureEdgeProv.DP","AzureEdgeProv.DPTest","AzureEdgeProv.RP","AzureEdgeProv.RPTest","AzureEncryptedTransportInfra","AzureEOSLegacy","AzureEventGrid","AzureEventGridDeployment","AzureEventGridTest","AzureExP","AzureExpansion","AzureExpTreatmentAssignmentServiceNonProd","AzureFHIROSS","AzureFirewall","AzureFirstParty","AzureFPGAAttestationProd","AzureFrontDoor.Backend","AzureFrontDoor.FirstParty","AzureFrontDoor.Frontend","AzureFrontDoor.Infra","AzureFrontDoor.MicrosoftSecurity","AzureFrontDoor.WindowsUpdate","AzureFrontDoorControlPlane","AzureFrontDoorControlPlaneNonProd","AzureFrontDoorControlPlaneTest","AzureGraphDb","AzureHDInsightOnAKS","AzureHDInsightOnAksNonProd","AzureHealthBot","AzureHealthBotHbsCluster","AzureHealthcareAPIs","AzureHealthcareAPIsNonProd","AzureHPC","AzureHybridData","AzureHybridDataNonProd","AzureHybridOnboardingDevTest","AzureHybridOnboardingPublic","AzureIdentity.DDSRedisManagement","AzureIdentity.GatewayBackend","AzureIdentity.LiveSiteManager","AzureIdentity.LiveSiteManagerTCB","AzureIdentityCommon","AzureIdentityCommon.AADRVS","AzureIdentityCommon.ADIbizaUX","AzureIdentityCommon.ADRS","AzureIdentityCommon.AppConsent","AzureIdentityCommon.ARMRP","AzureIdentityCommon.AuthRegional","AzureIdentityCommon.AWS","AzureIdentityCommon.BWS","AzureIdentityCommon.CPIM","AzureIdentityCommon.CPIMSTS","AzureIdentityCommon.CPM","AzureIdentityCommon.CSA","AzureIdentityCommon.DDQ","AzureIdentityCommon.DPV","AzureIdentityCommon.DPX","AzureIdentityCommon.DSExplorer","AzureIdentityCommon.DXP","AzureIdentityCommon.EnterpriseApps","AzureIdentityCommon.ESTS","AzureIdentityCommon.IGANotify","AzureIdentityCommon.InvitationManager","AzureIdentityCommon.IPCGraph","AzureIdentityCommon.ISAC","AzureIdentityCommon.LsmAgent","AzureIdentityCommon.MCIEM","AzureIdentityCommon.MFACAPP","AzureIdentityCommon.MFACCE","AzureIdentityCommon.MFASAS","AzureIdentityCommon.MSI","AzureIdentityCommon.MyApps","AzureIdentityCommon.Others","AzureIdentityCommon.PIM","AzureIdentityCommon.SSGM","AzureIdentityCommon.TCB","AzureIdentityControlPlane","AzureIdentityControlPlane.CelestialMP","AzureIdentityControlPlane.Gateway","AzureIdentityControlPlane.k8s","AzureIdentityControlPlane.Others","AzureIdentityNonProd","AzureIdentityNonProd.AADRVS","AzureIdentityNonProd.ADIbizaUX","AzureIdentityNonProd.ADRS","AzureIdentityNonProd.AppConsent","AzureIdentityNonProd.ARMRP","AzureIdentityNonProd.DXP","AzureIdentityNonProd.EnterpriseApps","AzureIdentityNonProd.EntitlementManagement","AzureIdentityNonProd.ESTS","AzureIdentityNonProd.InvitationManager","AzureIdentityNonProd.IPCGraph","AzureImageTestingForLinux","AzureImpactReporting","AzureImpactReportingNonProd","AzureImpactReportingProd","AzureIncubationsDrasi","AzureInformationProtection","AzureInformationProtectionInternal","AzureInformationProtectionPPE","AzureInfra","AzureInfraNp","AzureInspectIaaSDiskNonProd","AzureInspectIaaSDiskProd","AzureIoTCentral","AzureIoTCentralInternal","AzureIoTHub","AzureIoTHubInternal","AzureIoTHubInternal.RP","AzureIoTHubInternal.RPTest","AzureIoTHubInternal.SUTest","AzureIotHubInternalBackend","AzureIotHubInternalRouting","AzureIotHubInternalRPInfra","AzureIotHubInternalRPTestInfra","AzureIotHubInternalSIPool1","AzureIotHubInternalSIPool2","AzureIotHubInternalSIPool3","AzureIotHubInternalSIPool4","AzureIotHubInternalSIPooltest","AzureIotHubInternalSISys","AzureIotHubInternalSISysTest","AzureIotHubInternalSUInfra","AzureIoTOperationsExperience","AzureIoTSdk","AzureIoTSecSubContainerNonProd","AzureJIT","AzureKB","AzureKBNonProd","AzureKeyVault","AzureKeyVault.AustraliaCentral","AzureKeyVault.AustraliaCentral2","AzureKeyVault.AustraliaEast","AzureKeyVault.AustraliaSoutheast","AzureKeyVault.AustriaEast","AzureKeyVault.BelgiumCentral","AzureKeyVault.BrazilSouth","AzureKeyVault.BrazilSoutheast","AzureKeyVault.CanadaCentral","AzureKeyVault.CanadaEast","AzureKeyVault.CentralIndia","AzureKeyVault.CentralUS","AzureKeyVault.CentralUSEUAP","AzureKeyVault.ChileCentral","AzureKeyVault.DenmarkEast","AzureKeyVault.EastAsia","AzureKeyVault.EastUS","AzureKeyVault.EastUS2","AzureKeyVault.EastUS2EUAP","AzureKeyVault.EastUS3","AzureKeyVault.EastUSSLV","AzureKeyVault.EastUSSTG","AzureKeyVault.FranceCentral","AzureKeyVault.FranceSouth","AzureKeyVault.GermanyNorth","AzureKeyVault.GermanyWestCentral","AzureKeyVault.IndiaSouthCentral","AzureKeyVault.IndonesiaCentral","AzureKeyVault.IsraelCentral","AzureKeyVault.IsraelNorthwest","AzureKeyVault.ItalyNorth","AzureKeyVault.JapanEast","AzureKeyVault.JapanWest","AzureKeyVault.JioIndiaCentral","AzureKeyVault.JioIndiaWest","AzureKeyVault.KoreaCentral","AzureKeyVault.KoreaSouth","AzureKeyVault.MalaysiaSouth","AzureKeyVault.MalaysiaWest","AzureKeyVault.MexicoCentral","AzureKeyVault.NewZealandNorth","AzureKeyVault.NorthCentralUS","AzureKeyVault.NortheastUS5","AzureKeyVault.NorthEurope","AzureKeyVault.NorwayEast","AzureKeyVault.NorwayWest","AzureKeyVault.PolandCentral","AzureKeyVault.QatarCentral","AzureKeyVault.SouthAfricaNorth","AzureKeyVault.SouthAfricaWest","AzureKeyVault.SouthCentralUS","AzureKeyVault.SouthCentralUS2","AzureKeyVault.SouthCentralUSSTG","AzureKeyVault.SoutheastAsia","AzureKeyVault.SoutheastUS","AzureKeyVault.SoutheastUS3","AzureKeyVault.SoutheastUS5","AzureKeyVault.SouthIndia","AzureKeyVault.SouthwestUS","AzureKeyVault.SpainCentral","AzureKeyVault.SwedenCentral","AzureKeyVault.SwedenSouth","AzureKeyVault.SwitzerlandNorth","AzureKeyVault.SwitzerlandWest","AzureKeyVault.TaiwanNorth","AzureKeyVault.TaiwanNorthwest","AzureKeyVault.UAECentral","AzureKeyVault.UAENorth","AzureKeyVault.UKSouth","AzureKeyVault.UKWest","AzureKeyVault.WestCentralUS","AzureKeyVault.WestEurope","AzureKeyVault.WestIndia","AzureKeyVault.WestUS","AzureKeyVault.WestUS2","AzureKeyVault.WestUS3","AzureKeyVaultNonProd","AzureKms","AzureLabServices","AzureLabServicesDev","AzureLargeInstances","Azurelargeinstancesnonprod","AzureLinuxBMPTest","AzureLinuxProvisioning","AzureLinuxTest","AzureLivesiteArmory","AzureLoadBalancer","AzureLoadBalancer.CentralUS","AzureLoadBalancer.WestUS","AzureLoadBalancer.WestUS2","AzureLoadBalancer.WestUS3","AzureLoadTesting","AzureLoadTestingDev","AzureLoadTestingInstanceManagement","AzureLoadTestingStaging","AzureMachineLearning","AzureMachineLearningInference","AzureMachineLearningInternal","AzureMachineLearningNonProd","AzureManagedApplications","AzureManagedApplicationsDF","AzureManagedGrafana","AzureManagedGrafanaInternal","AzureManagedGrafanaInternal.NonProd","AzureManagedGrafanaInternal.Prod","AzureManagedHSM","AzureManagedHSMNodeNonProd","AzureManagedHSMNodeProd","AzureManagedHSMNonProd","AzureManagedHsmPool","AzureManagedHSMPoolNonProd","AzureManagedRedis","AzureManagedRedisControlPlane","AzureManagedRedisControlPlaneStage","AzureManagementGroups","AzureMaps","AzureMapsCreator","AzureMapsCreatorNonProd","AzureMapsNonProd","AzureMBTInt","AzureMBTProd","AzureMediaServices","AzureMessagingConnectors","AzureMigrate","AzureMigratePPE","AzureMLInferenceAtScale","AzuremlPipelinesNonProd","AzureMLTINonProd","AzureMonitor","AzureMonitor.AustraliaCentral","AzureMonitor.AustraliaCentral2","AzureMonitor.AustraliaEast","AzureMonitor.AustraliaSoutheast","AzureMonitor.AustriaEast","AzureMonitor.BelgiumCentral","AzureMonitor.BrazilSouth","AzureMonitor.BrazilSoutheast","AzureMonitor.CanadaCentral","AzureMonitor.CanadaEast","AzureMonitor.CentralIndia","AzureMonitor.CentralUS","AzureMonitor.CentralUSEUAP","AzureMonitor.ChileCentral","AzureMonitor.Core","AzureMonitor.DenmarkEast","AzureMonitor.EastAsia","AzureMonitor.EastUS","AzureMonitor.EastUS2","AzureMonitor.EastUS2EUAP","AzureMonitor.EastUS3","AzureMonitor.EastUSSLV","AzureMonitor.EastUSSTG","AzureMonitor.FranceCentral","AzureMonitor.FranceSouth","AzureMonitor.GermanyNorth","AzureMonitor.GermanyWestCentral","AzureMonitor.IndiaSouthCentral","AzureMonitor.IndonesiaCentral","AzureMonitor.IsraelCentral","AzureMonitor.IsraelNorthwest","AzureMonitor.ItalyNorth","AzureMonitor.JapanEast","AzureMonitor.JapanWest","AzureMonitor.JioIndiaCentral","AzureMonitor.JioIndiaWest","AzureMonitor.KoreaCentral","AzureMonitor.KoreaSouth","AzureMonitor.MalaysiaSouth","AzureMonitor.MalaysiaWest","AzureMonitor.MexicoCentral","AzureMonitor.NewZealandNorth","AzureMonitor.NorthCentralUS","AzureMonitor.NortheastUS5","AzureMonitor.NorthEurope","AzureMonitor.NorwayEast","AzureMonitor.NorwayWest","AzureMonitor.PolandCentral","AzureMonitor.QatarCentral","AzureMonitor.SouthAfricaNorth","AzureMonitor.SouthAfricaWest","AzureMonitor.SouthCentralUS","AzureMonitor.SouthCentralUS2","AzureMonitor.SouthCentralUSSTG","AzureMonitor.SoutheastAsia","AzureMonitor.SoutheastUS","AzureMonitor.SoutheastUS3","AzureMonitor.SoutheastUS5","AzureMonitor.SouthIndia","AzureMonitor.SouthwestUS","AzureMonitor.SpainCentral","AzureMonitor.SwedenCentral","AzureMonitor.SwedenSouth","AzureMonitor.SwitzerlandNorth","AzureMonitor.SwitzerlandWest","AzureMonitor.TaiwanNorth","AzureMonitor.TaiwanNorthwest","AzureMonitor.UAECentral","AzureMonitor.UAENorth","AzureMonitor.UKSouth","AzureMonitor.UKWest","AzureMonitor.WestCentralUS","AzureMonitor.WestEurope","AzureMonitor.WestIndia","AzureMonitor.WestUS","AzureMonitor.WestUS2","AzureMonitor.WestUS3","AzureMonitorDashboard","AzureMonitorDashboardNonProd","AzureMonitorEdgeTest","AzureMonitorForSAP","AzureMonitorInternalProd","AzureMonitorNonProd","AzureMonitorScomManagedInstance","AzureMPF","AzureMPFNonProd","AzureMySQL","AzureMySQLDataOnebox","AzureMySQLManagement","AzureMySQLManagementTest","AzureMySQLOnebox","AzureNativeISVGateway","AzureNativeISVGatewayCanary","AzureNativeISVGatewayDev","AzureNativeISVNGINXaaSResourceProvider","AzureNativeISVNGINXaaSResourceProviderCanary","AzureNativeISVNGINXaaSResourceProviderDev","AzureNativeISVNGINXaaSResourceProviderTest","AzureNetAppFiles-prod-iptag","AzureNetwork","AzureNetworkingMoby","AzureNetworkingNetAi","AzureNetworkingOptical","AzureNetworkingOpticalProd","AzureNonProdDIService","AzureNonProdLOBService","AzureNuanceITOps","AzureNVAICS","AzureObiPPE","AzureObiProd","AzureObjectAnchors","AzureObservabilityNonProd","AzureOpenDatasets","AzureOrbital","AzureOrbitalCloudAccess","AzurePerfCollectorProd","AzurePerformanceDiagnosticsNonProd","AzurePlatformMigrationInfrastructureDev","AzurePolicy","AzurePolicyNonProd","AzurePortal","AzurePortalIntelligentExperiences","AzurePostgreSQL","AzurePostgreSQLStorage","AzurePostgreSQLStorageTest","AzurePostgreSQLTest","AzurePrefetch","AzurePrivateDNS","AzureProdCM","AzureProdDIService","AzureProductShapeSandbox","AzureProfilerNonProd","AzureProfilerProd","AzureProfilerTest","AzureProgrammableConnectivity","AzureProgrammableConnectivityNonProd","AzurePublicNetworkServiceTags","AzureQuantum","AzureQuantumInternal","AzureQuantumInternalTest","AzureQuantumWebsitesInternal","AzureQuantumWebsitesInternalTest","AzureRam","AzureRemoteRendering","AzureRemoteRenderingPPE","AzureResilienceMgmtGoals","AzureResilienceMgmtRecovery","AzureResiliencyValidation","AzureResouceBuilder","AzureResourceBuilderChangeInternalProd","AzureResourceBuilderInternal","AzureResourceBuilderInternalTest","AzureResourceChangeAnalysisCanary","AzureResourceChangeAnalysisInternal","AzureResourceChangeAnalysisTest","AzureResourceGraphInternal","AzureResourceGraphInternalTest","AzureResourceManager","AzureResourceManagerInternal","AzureResourceMover","AzureResourceNotificationsInternal","AzureResourceNotificationsInternalNonProd","AzureRHELAHB","AzureRHELAHBNonProd","AzureRHUI","AzureRHUINonProd","AzureRRDNS","AzureSAFInt","AzureSAFProd","AzureSearch","AzureSearchInternal","AzureSearchLab","AzureSearchLabInternal","AzureSecurityCenter","AzureSecurityMonitoringProd","AzureSentinel","AzureSentinelInternal","AzureSentinelInternalNonProd","AzureSentinelNonProd","AzureServiceDeploy","AzureServiceDeployAppDeploy","AzureServiceDeployFrontDoor","AzureServiceDeploySynthetics","AzureServiceDeployTestAppDeploy","AzureServiceHealth","AzureServiceHealthProd","AzureServiceHealthRP","AzureServiceHealthStaging","AzureSight","AzureSignalR","AzureSignalRDev","AzureSignalRManagement","AzureSignalRManagementDev","AzureSignupAPIPROD","AzureSignupPortalPROD","AzureSiteRecovery","AzureSolutionsPlatformMsft","AzureSpatialAnchors","AzureSpecializedGPUWorkload","AzureSpecializedSAP","AzureSpecializedSAPNPROD","AzureSpecializedWorkloadsSecurityNonProd","AzureSphere","AzureSphereSecureService_NonProd","AzureSpringCloud","AzureSpringCloudManagement","AzureSQLGeoDr","AzureSSLVPN","AzureSSLVPNWatchdog","AzureStack","AzureStackCompute","AzureStackCompute.WestUS2","AzureStackDiagnostics","AzureStackDiagnosticsNonProd","AzureStackEdge","AzureStackHCICatalog","AzureStackHCIProd","AzureStackHCIPublic","AzureStackHCITest","AzureStackMarketplace","AzureStackNonProd","AzureStackObservability","AzureStackResourceProvider","AzureStackStorageTest","AzureStackTelemetryOnline","AzureStackUsage","AzureStatus","AzureStatusProd","AzureStatusRC","AzureStatusStaging","AzureStorageActionsDev","AzureStorageGeneral","AzureStorageKiona","AzureStorageMigrationScheduler","AzureStorageSynthetics","AzureStorageTestInfra","AzureStreamAnalytics","AzureStreamAnalyticsTest","AzureSupportCaseMgmt","AzureSupportCaseMgmt-Dev","AzureSupportCenter","AzureSupportCenterNonProd","AzureSupportPlatform","AzureSupportPlatformNP","AzureTerraform","AzureThrottling","AzureThrottlingNonProd","AzureTrafficCollectorTenant","AzureTrafficCollectorTenantTest","AzureTrafficManager","AzureTrafficManagerFrontend","AzureTrafficManagerFrontendTest","AzureTrafficManagerNonProd","AzureTrafficManagerTest","AzureTrafficManagerWorkers","AzureTrafficManagerWorkersTest","AzureUpdateDelivery","AzureUpdateManager","AzureUsageBilling","AzureUsageBillingTest","AzureVirtualMachine","AzureVM","AzureVMImageBuilder","AzureVMImageBuilderNonProd","AzureVMPIP","AzureVMPME","AzureVMProd","AzureVMwareSolutionTest","AzureVTML","AzureWebPubSub","AzureWebPubSubDev","AzureWorkflow","AzureWorkflowTest","AzureWorkloadModeling","AzureWorkloadModelingNP","AzureWorkloadsConnector","AzureWorkloadsForSAP","AzureWorkloadsMigrate","AzureWorkloadsPlatform","BackboneManagementTool","BACQITriage","BAGIEToolsInternal","BagToolsSitemuseNonProd","BagToolsSitemuseProd","BalanceManagementFrontDoorAircapi","BalanceManagementFrontDoorInt","BalanceManagementFrontDoorProd","BangAnalyzeTest","BAPDBMSNonProd","BAPDBMSProd","BAPGIASurveyBackEndDEV","BAPGIASurveyBackEndPME","BAPMicroservicesPlatform","BAPMicroservicesPlatformDev","BareMetalFuzzer","BAS","BastionHost","BastionIP","BastionTest","BatchNodeManagement","BatchNodeManagement.AustraliaCentral","BatchNodeManagement.AustraliaEast","BatchNodeManagement.AustraliaSoutheast","BatchNodeManagement.AustriaEast","BatchNodeManagement.BelgiumCentral","BatchNodeManagement.BrazilSouth","BatchNodeManagement.BrazilSoutheast","BatchNodeManagement.CanadaCentral","BatchNodeManagement.CanadaEast","BatchNodeManagement.CentralIndia","BatchNodeManagement.CentralUS","BatchNodeManagement.CentralUSEUAP","BatchNodeManagement.ChileCentral","BatchNodeManagement.DenmarkEast","BatchNodeManagement.EastAsia","BatchNodeManagement.EastUS","BatchNodeManagement.EastUS2","BatchNodeManagement.EastUS2EUAP","BatchNodeManagement.EastUS3","BatchNodeManagement.EastUSSLV","BatchNodeManagement.EastUSSTG","BatchNodeManagement.FranceCentral","BatchNodeManagement.FranceSouth","BatchNodeManagement.GermanyNorth","BatchNodeManagement.GermanyWestCentral","BatchNodeManagement.IndiaSouthCentral","BatchNodeManagement.IndonesiaCentral","BatchNodeManagement.IsraelCentral","BatchNodeManagement.IsraelNorthwest","BatchNodeManagement.ItalyNorth","BatchNodeManagement.JapanEast","BatchNodeManagement.JapanWest","BatchNodeManagement.JioIndiaCentral","BatchNodeManagement.JioIndiaWest","BatchNodeManagement.KoreaCentral","BatchNodeManagement.KoreaSouth","BatchNodeManagement.MalaysiaSouth","BatchNodeManagement.MalaysiaWest","BatchNodeManagement.MexicoCentral","BatchNodeManagement.NewZealandNorth","BatchNodeManagement.NorthCentralUS","BatchNodeManagement.NortheastUS5","BatchNodeManagement.NorthEurope","BatchNodeManagement.NorwayEast","BatchNodeManagement.NorwayWest","BatchNodeManagement.PolandCentral","BatchNodeManagement.QatarCentral","BatchNodeManagement.SouthAfricaNorth","BatchNodeManagement.SouthAfricaWest","BatchNodeManagement.SouthCentralUS","BatchNodeManagement.SouthCentralUS2","BatchNodeManagement.SouthCentralUSSTG","BatchNodeManagement.SoutheastAsia","BatchNodeManagement.SoutheastUS","BatchNodeManagement.SoutheastUS3","BatchNodeManagement.SoutheastUS5","BatchNodeManagement.SouthIndia","BatchNodeManagement.SouthwestUS","BatchNodeManagement.SpainCentral","BatchNodeManagement.SwedenCentral","BatchNodeManagement.SwedenSouth","BatchNodeManagement.SwitzerlandNorth","BatchNodeManagement.SwitzerlandWest","BatchNodeManagement.TaiwanNorth","BatchNodeManagement.TaiwanNorthwest","BatchNodeManagement.UAECentral","BatchNodeManagement.UAENorth","BatchNodeManagement.UKSouth","BatchNodeManagement.UKWest","BatchNodeManagement.WestCentralUS","BatchNodeManagement.WestEurope","BatchNodeManagement.WestIndia","BatchNodeManagement.WestUS","BatchNodeManagement.WestUS2","BatchNodeManagement.WestUS3","BatmanLogicAppDev","BatmanLogicAppProd","BCSDataPlatformCorp","BCSDataPlatformProd","BDPDataDBRG","BDSGElasticServiceServiceTag","BDSGNonprodServiceTag","BDSGProductionServiceTag","BeaconNonProd","BeaconProd","BedrockDogfood","BedrockProd","BenefitsFD","BenefitsFDINT","BenefitsServicesNonProd","BenefitsServicesProd","BFGEventCollectorNonProd","BFGEventCollectorProd","BifrostNonProd","BifrostNonProd.EastUS","BifrostNonProd.NorthEurope","BifrostNonProd.WestUS","BifrostProd","BifrostProd.EastUS","BifrostProd.NorthEurope","BifrostProd.WestUS","BigCatDetailsAirCapiNonProd","BigCatDetailsCommercialProd","BigCatDetailsConsumerProd","BigCatDetailsIntNonProd","BigCatDetailsPPENonProd","BigCatDiscoveryAirCapiNonProd","BigCatDiscoveryCommercialProd","BigCatDiscoveryConsumerProd","BigCatDiscoveryIntNonProd","BigCatDiscoveryPPENonProd","BigCatFrontdoorAirCapiNonProd","BigCatFrontdoorCERT","BigCatFrontdoorCommercialProd","BigCatFrontdoorConsumerProd","BigCatFrontdoorGreenFieldNonProd","BigCatFrontdoorIntNonProd","BigCatFrontdoorPPENonProd","BigCatIngestionAircapi","BigCatIngestionNonProd","BigCatIngestionPPE","BigCatIngestionProd","BigRedAzurePPE","BigRedAzurePPEEHR","BigRedAzureProd","BigRedAzureProdEHR","BigRedWindowsPPE","BigRedWindowsProd","BillingAndAttribution","BillingRP","BillingRPAircapi","BillingRPTest","BillingServiceNonProd","BillingServiceProd","BingAds","BingChinaNonProd","BingChinaProd","BingComFrontendPlatformNonProd","BingComFrontendPlatformProd","BingCustomSearchProd","BingDefensive","BingDMCommon","BingDNSAndTrafficManagement","BingExpCoreUXProd","BingExpSnRAPIPPE","BingGeocoding","BingGrowthIP","binghomepagetool","BingPages","BingPlaces","BingPlacesPPE","BingSearchPPE","BingSearchProd","BingUFLocalization","BizAppsCSASupport","BlueshiftBENonProdControl","BlueshiftBENonProdData","BlueshiftBEProdControl","BlueshiftBEProdData","BlueshiftFENonProd","BlueshiftFEProd","BOEAnalyticsNonProd","BOEAnalyticsProd","Booked","BOPUHCSNonProd","BOPUHCSProd","BornSecureAegis","BornSecureAegis.EastUS","Brain","BrainNonProd","BRAINProd","Brainwave","BranchConnect","BranchConnectPPE","BSRIPTag","BuddyProgramUAT","BuddyUAT","BuildersHubOutboundIP","BuildManagement","BuildManagement.WestUS2","BuildNotificationServiceProd","buildprsrdev","buildprsrEU","buildprsrprod","buildstorage","BuildXLDevOpsAgents","BumblebeeGPT","BusinessAdvisor-ST-Non-Product","BusinessAdvisor-ST-Product","BusinessAssistSku-ST-Non-Product","BusinessAssistSku-ST-Product","BusinessImpactStatementAI","C3Services","C6908430337","CAAIPygoraIPD","CAAIPygoraLabeling","CAAIPygoraProd","CAAIPygoraTest","CAAIPygoraVMSS","CaaS","CaaSDev","CaasProd","CAETestBed","caiSocinv","CallbackNonProd","CallbackProd","CallCenterManagement","CALMPreProd","CameraCognition","CameraCognitionNonProd","CapacityManagementToolService","CapacityOrchestrator-Prod","CapacityOrchestrator-Test","CapacityPlanningSystemService","CAPCRS","CAPDev","capeautomationtes68z1","CapEnforcerServiceNonProd","CapEnforcerServiceProd","CAPProd","CapsenseExperiments","CapService","CAPUat","CarmobCopilotService","CascadeCodeFlow","CascadeDataServicePlatform","CascadeInfraNonProd","CascadeInfraProd","CascadeSharedConnectors","CascadeTelemetryAMAPOC","CascadeTelemetryAMAPOC.EastUS2","CaseManagementNonProd","CaseManagementProd","CashDrain","CashDrainInt","CashDrainProd","CashMPPE","CashMPRD","CASPlusDev","CASPlusProd","CASSNonProd","CASSPpe","CASSProdInbound","CASSProdOutbound","CastleNonProd","CastleProd","CasualGamesDataNonProd","CasualGamesDataProd","CasualGamesServicesNonProd","CasualGamesServicesProd","Catalogms","Catapult","CATBI","CbasNonProd","CbasProd","CBR-ST-Non-Product","CBR-ST-Product","CCACopilot","CCAPIPPE","CCAPIPROD","cce-adb-new-nonprod","cceappstest","cceCesServiceFusionDev","cce-copilot-adb-new-prod","CCEESegmentation","CCEESegmentationNonProd","CchDataIngestionPpe","CchDataIngestionProd","CchDataStoragePpe","CchDataStorageProd","CchNotificationPpe","CchNotificationProd","CchPublishingApprovalPpe","CchPublishingApprovalProd","CchPublishingPpe","CchPublishingProd","CCILabPIP","CCINonProdIPTag","CCIProdIPTag","CCMBenefitsFunctions","CCMReservations","CCMReservationsAircapi","CCMShowback","CCPPoc","CCQServiceHealthPPE","CCQServiceHealthProd","CCV","CCVInt","CDEDataScienceML","CDEFeedback","CDENRTPPE","CDENRTPROD","CDLINTQueryService","CDLProdQueryService","CDML","CDOCCaseManagementTooling","CdocDataCollectionEPSFProd","CdocDataCollectionSyslogPPE","CdocDataCollectionSyslogProd","cecneteng","CEDEAgtMgtPROD","CELSSharedTools","CEODataSolution","CEODataSolutionNonProd","CEORiskDataPlatformEngineering","CEORiskDataPlatformEngineeringNonProd","CEORiskDataSolutions","CEORiskDataSolutionsNonProd","CEPartnerIntegration","CerebroResearch","CEREngineering","CertificatesInsights","CESOperationToolsIPTag","CETMon","CFARPPE","CFARPROD","cfinsightsPPE","cfinsightsProd","cfinsightsPrvw","cfinsightsTest","cfssecContainer1","cfssecContainer2","CFSSecFunProd","CFSTaxDeterminationService","CFSTaxDeterminationServiceNP","CGIAXPNonProd","CGIAXPProd","CGIBXPNonProd","CGIBXPProd","CGICMBAI","CGICMBAI-NonProd","CGIDASNonProd","CGIDASProd","CGIDSPProd","CGIEDWNonProd","CGIEDWProd","CGIMiddleware","cgipxp","CGIQuery","CGIQueryv3","CGIUDEPublicNonProd","ChainofCustody","ChangepointPROD","ChaosStudio","ChaosStudioNonProd","ChaosStudioNonProd.CentralUS","ChaosStudioNonProd.EastUS","ChaosStudioNonProd.EastUS2","ChaosStudioNonProd.WestUS","ChaosStudioNonProd.WestUS2","ChaosStudioNonProd.WestUS3","ChargebackManagement","ChargebackManagementNonProd","ChargebackManagementProd","CHATDataEco","ChefInfra","chinacsutiger","ChinaCube","CHPIData","Chrysalis","CIAlertingNonProd","CIAO","CIAONonProd","CIAPpe","CIAProd","CidbProd","CIHAtlas","CIHAtlas.WestUS","CIHAtlas.WestUS2","CIHHDLT","CIHHDLT.WestUS3","CIHSphere","CIH-TelemetryDataPlatform","CII-PPE","CII-Prod","CII-Test","CimCmms","CimCmmsTest","CimDccms","CimDccmsTest","CimDmops","CimDmopsTest","CIPDataPlatfrom","CipsPPE","CipsProd","CIPVoiceInfra","CircuitBreakerProd","Cirrus","CISBastion","CISEastAsiaBastion","CKPSTIPPPE","CKPSTIPPRD","ClassNotebooksApiEDog","ClassNotebooksApiPROD","ClientImagingProd","ClipchampNonProdAi","ClipchampScuba","clique","CloudBIAndAnalytics","CloudBrowserDev","CloudBrowserPPE","CloudBrowserProd","CloudBuildAPI","CloudBuildControlPlane","CloudBuildGvfsServers","CloudBuildTestAPI","CloudBuildTestControlPlane","CloudBuildTestGvfsServers","CloudCollaborationCenterNonProd","CloudCollaborationCenterProd","CloudControlGroups","CloudControlGroupsNonprod","CloudControlOneSettings","CloudControlOneSettingsNonprod","CloudDevicePlatform","CloudDevicePlatformNonProd","CloudDNS","CloudFocusNonProd","CloudFocusNonProdTVM","CloudFocusProd","CloudFocusProdTVM","CloudGIS","CloudGPTIndexer","CloudHSM","CloudIDAuthNClient","CloudLicensing","CloudMFAIdentity","CloudMine","CloudMineCollectors","CloudMineNonProd","CloudProtectionInboundDEV","CloudProtectionInboundNonProd","CloudProtectionInboundProd","CloudProtectionOutboundDEV","CloudProtectionOutboundNonProd","CloudProtectionOutboundProd","CloudProvisioningService","CloudReadinessCriteria","CloudSprout","CloudSproutTest","CloudSproutTestEAP","CloudSyncBVT","CloudSyncDev","CloudSyncPartnerTest","CloudSyncVendor","CloudTDSNonProd","CloudTDSNonProdTVM","CloudTDSProd","CloudTDSProdTVM","CloudVault","CloudVaultDev","CloudWiki","ClusterConfigurationProd","ClusterResourceManager","CMADNonProd","CMADProd","CMDEADBPROD","CMFDNonProd","CMFDProd","CMJEDINonProd","CMJEDIProd","CMNonProd","CMNonProdNCNGP","CMOMarketingAzure","CMProd","CMProdNCNGP","cmt3new-firewall-ip","CMTAzureFirewall","CMTFirewall","cmtint-eus-firewall-ip","cmtint-firewall-ip","CMUsageProd","CoADataPlaneNonProd","CoADataPlaneProd","CodeScan-IPBlock","CodespacesNonProd","CodespacesProd","codexplayground-PvtApp-EUS-PIP-13458","CognitiveServicesFrontend","CognitiveServicesFrontendNonProd","CognitiveServicesInternal","CognitiveServicesManagement","CognitiveServicesManagementAicp","COICompassCost","COICSAST01","COI-CSPW","COIDANA","COIDANATEST","CoiDpxeEkg","COIECollab","COIE-IAM-services","COIE-IAM-Spares","COIEnterpriseNavigator","CoieObservationPPE","CoieObservationProd","CoieObservationTest","COILRP","COIPermissionsPPE","COIPermissionsProd","COIStaffingAzSub","CommerceCache","CommerceCacheAircapi","CommerceCacheTest","CommerceDataLakeDatabricksNonProd","CommerceDataLakeDatabricksProd","CommerceDataLakeSQLMIProd","CommerceFDPublic","CommerceLensNonProd","CommerceLensProd","CommerceMeshNonProd","CommerceMeshProd","CommerceRadar","CommercialOrdersNONPROD","CommercialOrdersPROD","CommercialPricingNonPROD","CommercialPricingPROD","CommercialPurchaseINT","CommercialPurchasePROD","CommercialStoresNotificationNonProd","CommercialStoresNotificationProd","CommonEdgeProd","CommonEdgeTest","CommunicationCompliance","CommunicationComplianceTest","CommunityInsider","CommunityNonProd","CommunityProd","CommunityServicesPowerPlatformnonprod052024","CommunityServicesPowerPlatformprod052024","CommunityVM","comnetsecApp","comnetsecFw","comnetsecNat","CompassNonProd","CompassProd","CompassV2","CompatDataScience","CompatOnCloud","CompatOnCloudAmcAppService","ComplianceControlsMonitoringNonProd","ComplianceControlsMonitoringProd","ComplianceDrive","ComplianceDrivePPE","CompliancePolicyService","complianceposturemanagement","complianceposturemanagementnonprod","ComplianceVNetFirewallPublicIP","CompliantCortana","CompulsionProd","CompulsionTest","CompulsionWebProd","CompulsionWebStaging","ComputeCPlatBI","ConfigHubAzureFunction","ConnectedIntelligence","ConnectSyncBVT","conrecurrencefdNONPRODSubscriptionINT","consciousnesssurvey","ConsolidatedAccountViewIdentity","ConsumerCollections","ConsumerEffectiveEntitlements","ConsumerEntitlements","ConsumerGroupInt","ConsumerGroupProd","ConsumerGroupTest","ConsumerLicensing","ConsumerPurchaseDGRPINT","ConsumerPurchaseDigitalAttachINT","ConsumerPurchaseDigitalGoodsResourceProviderINT","ConsumerPurchaseDigitalGoodsResourceProviderPROD","ConsumerPurchaseFrontdoorINT","ConsumerPurchaseFrontdoorPROD","ConsumerPurchaseStorageINT","ConsumerPurchaseStorageProd","ConsumerStorage","ConsumerSubscriptionsFrontendPoC","ConsumptionPPE","ConsumptionProd","ConsumptionPrvw","ConsumptionTest","ConsumreRecurrenceProcessorINT","ConsumreRecurrenceProcessorProd","ContactManagementNonProd","ContactManagementProd","ContactSupportRelays","ContainerApps","ContainerAppsManagement","ContainerPlatform1PImagesProd","ContentIdeaProd","ContentIdeaUAT","ContentMonitoring","ContentValidationServicesNonProd","ContentValidationServicesProd","ContosoDemos","ConvergenceManagement","CopilotAILab","CopilotCompanionNonProd","CopilotCompanionProd","CopilotDash","CopilotDevOps","CopilotForSalesDev","CopilotForSalesPreProd","CopilotForSalesProd","CopilotForSalesTest","CopilotgcCevalAutoVMIP","CopilotgcCevalAutoVMVnetIP","CopilotNexus","CoraExperiences","CoreFabricInfraNonProdIntMsitTesting","CoreFabricInfraProdIntTorusTesting","CoreFabricInfraProdPpeTesting","CoreFabricInfraProdTesting","CoreFinanceInfrastructure","CoreFinanceMgmt","CoreIdentity-NonProd","CoreIdentity-Prod","CoreKnowMe","CoreOSLIOFNetworkVirtualizationDev","CoreSearchManualProcess","CoreSigmaMediaTest","CoreVLAS","CornerstoneFunctionAppOutboutIP","CornerstoneRTService","CornerstoneRTServicePPE","CorpDarsyPocSubscription","CorpDNS","CorpNet.DevBox","CorpNet.DsrXVD","CorpNetPublic","CorpNetSAVM","CorpNetSAW","CortanaDesign","CortanaFrisBEEE2EMonitoring","CortanaInfrastructure","CosmicDefault","CosmicDefaultTest","CosmicMP","CosmicMPTest","CosmicODSPInternal","CosmicODSPMeTA","CosmicODSPNonProd","CosmicODSPNotify","CosmicODSPSharedServices","CosmicOPG","CosmicOPGTest","COSMICPlatformNonProd","COSMICPlatformPROD","CosmicSubstrate","CosmicSubstrateTest","CosmosAnalyticsControlPlaneNonProd","CosmosAnalyticsControlPlaneProd","CosmosAnalyticsDataPlaneNonProd","CosmosAnalyticsDataPlaneProd","CosmosAnalyticsDevControl","CosmosAnalyticsDevData","CosmosAnalyticsPPEControl","CosmosAnalyticsPPEData","CosmosAnalyticsProdControl","CosmosAnalyticsProdData","CosmosAnalyticsTestControl","CosmosAnalyticsTestData","CosmosDbEsArm","CosmosDbEsEs4","CosmosDbEsMsdata","CostManagementPricingExperiences","CPCSDunning","CPE-DEV","CPE-PPE","CPE-PROD","CPE-SOVBASE","CPE-TEST","CPlat","CPMNonProd","CPMProd","CPSdev","CPSppe","CPSProd","CPSSCTdev","CRCE","CreditServices","CreditServicesARWarehouse","CredManInternal","CredmuxTest","CredSMARTNonProd","CredSMARTProd","CRIBSCustomerInfoINT","CRIBSCustomerInfoProd","CRiBSServiceTag","CRiBSTenantServiceTag","CriticalInfraPlatSvc","CritsitEUPPE","CritsitEUProd","CritsitGlobalPPE","CritsitGlobalProd","CRMGlobalBotTest","CRMGlobalMsaasRouterProd","CRMGlobalMsaasRouterTest","CrossTenantMigrationDEV","CrossTenantMigrationPPE","CrossTenantMigrationPROD","CrowdIntelligencePlatform","CRSPINT","CRSPPE","CRSPROD","CSAENonProd","CSAEProd","CSAFE","CSAFEPPE","CSAO-Non-Prod","CSCP-CaPla-MediumTermPlanning","CscpCloudInventory","CSCPControlTower","CSCPControlTowerDev","CSCP-NetworkPlanning-Engineering","CSCPPrivateCloud","CSCPQuotaManagement","CSCPSovPlatform","CSCSBINonProd","CsdNonProd","CsdProd","CseITDSL","CSEOEUSECollab","CSOCRMDevVirtualNetwork","CSOCRMProdVirtualNetwork","CSO-Reporting","CSPEx","CSSAtlasAutomationService","CSSAtlasAutomationServicePPE","CSSBIReportingGatewayService","CSSS360AutomationService","CSSS360AutomationServicePPE","CSTEUPSNonProd","CSTEUPSProd","CSVCoreINT","CSVCorePROD","CSVCoreServiceInt","CSVCoreServiceProd","CSVFundingINT","CSVFundingProd","CSVFundingServiceInt","CSVFundingServiceProd","CSVServicesINT","CSVServicesPROD","CTPINTInbound","CTPINTOutbound","CTPProdInbound","CTPPRODOutbound","CTPSNYInbound","CTPSNYOutbound","CTS","CTSCORE-US","CTSIntlSovNonProd","CTSLabUKNonProd","CTSNonProd","CTSPreProd","CTSServicePIP","CUI-IcMAssistant4EnDNonProd","Cumulus","CURP","CURPDF","CurrencyInsights1","CurrencyInsightsFabric","CustomerAnalyticsPlatformCAPDev","CustomerAnalyticsPlatformCAPProd","CustomerAndDiagnosticExperiencesServiceTag","CustomerDigitalExperiences","customerdomPPE","customerdomProd","customerdomPrvw","customerdomTest","CustomerIntelligence","CustomerLicenseProfileVnext","CustomerMasterFrontDoorNonProd","CustomerOrchestrationService","CustomerQualityPlaformValidation","customKPIPPE","customKPIProd","customKPIPrvw","customKPITest","CustomLocationProd","CuTRSMonitor","CVPProto","CVPProtoNonProd","CWSNonProd","CWSProd","CXCSPPE","CXCSPROD","CXDAIDSaaS","CXDAIML","CXDataPartnerInsights","CXDDataGovernance","CxdDime","CxdDimePpe","CXDPartnerInsights","CXLMCPG","CXLMCPGNonProd","CXLMLDnI","CXLMLDnINonProd","CxObserveEngagement","CxObserveEngagementTest","CXPGISubscriptionContainer","CXPSyntheticsNonProd","CXPSyntheticsProd","D365ACE","D365CCSU","D365CCSUNonProd","D365CDeployment","D365CDeploymentNonProd","D365CEDS","D365CommerceDataSyncNonProd","D365CommerceDataSyncProd","D365CommerceHeadless","D365CommerceHeadlessNonProd","D365CommerceSearchProd","D365CommerceSearchTest","D365CommerceSitebuilder","D365CommerceSitebuilderNonProd","D365CRendering","D365CRenderingNonProd","D365CustomerVoice","D365CustomerVoiceTest","D365FOReports","D365HRApiFunctionsDevOutboundAddress","D365HRApiFunctionsOutbound.Dev","D365HRApiFunctionsOutbound.Int","D365HRApiFunctionsOutbound.Prod","D365LBDEnvsNonProd","D365MRAUS","D365OmnichannelNonProdIps","D365OmnichannelProdIps","D365RnR","D365RnRNonProd","D365SIPremiumNonProd","D365SIPremiumProd","D365TeamsAppDev","D365TeamsAppInt","D365TeamsAppProd","DAPClientDevices","DARE","DatabaseWatcher","DatabaseWatcherTest","DataBoxEdgeAppliance","DataboxGMS","DataboxTestIPs","DatabricksIP","DatabricksResourceGroupProd","DatabricksWorkspaceDev","DataClassificationService","DataClassificationServiceNRT","DataCompliance","DataConnection","DataContractServicePreview","DataContractServiceProd","DataContractServiceTest","DataDirectoryNonProd","DataDirectoryProd","DataEngineeringSparkInfrastructure","DataEngineeringSparkInfrastructureNonProd","DataEngineeringSparkVMInfra","DataEngineeringSparkVMInfraNonProd","DataFactory","DataFactory.AustraliaEast","DataFactory.AustraliaSoutheast","DataFactory.AustriaEast","DataFactory.BelgiumCentral","DataFactory.BrazilSouth","DataFactory.BrazilSoutheast","DataFactory.CanadaCentral","DataFactory.CanadaEast","DataFactory.CentralIndia","DataFactory.CentralUS","DataFactory.CentralUSEUAP","DataFactory.ChileCentral","DataFactory.DenmarkEast","DataFactory.EastAsia","DataFactory.EastUS","DataFactory.EastUS2","DataFactory.EastUS2EUAP","DataFactory.EastUS3","DataFactory.EastUSSTG","DataFactory.FranceCentral","DataFactory.FranceSouth","DataFactory.GermanyNorth","DataFactory.GermanyWestCentral","DataFactory.IndiaSouthCentral","DataFactory.IndonesiaCentral","DataFactory.IsraelCentral","DataFactory.IsraelNorthwest","DataFactory.ItalyNorth","DataFactory.JapanEast","DataFactory.JapanWest","DataFactory.JioIndiaCentral","DataFactory.JioIndiaWest","DataFactory.KoreaCentral","DataFactory.KoreaSouth","DataFactory.MalaysiaSouth","DataFactory.MalaysiaWest","DataFactory.MexicoCentral","DataFactory.NewZealandNorth","DataFactory.NorthCentralUS","DataFactory.NortheastUS5","DataFactory.NorthEurope","DataFactory.NorwayEast","DataFactory.NorwayWest","DataFactory.PolandCentral","DataFactory.QatarCentral","DataFactory.SouthAfricaNorth","DataFactory.SouthAfricaWest","DataFactory.SouthCentralUS","DataFactory.SouthCentralUS2","DataFactory.SoutheastAsia","DataFactory.SoutheastUS","DataFactory.SoutheastUS3","DataFactory.SoutheastUS5","DataFactory.SouthIndia","DataFactory.SouthwestUS","DataFactory.SpainCentral","DataFactory.SwedenCentral","DataFactory.SwedenSouth","DataFactory.SwitzerlandNorth","DataFactory.SwitzerlandWest","DataFactory.TaiwanNorth","DataFactory.TaiwanNorthwest","DataFactory.UAECentral","DataFactory.UAENorth","DataFactory.UKSouth","DataFactory.UKWest","DataFactory.WestCentralUS","DataFactory.WestEurope","DataFactory.WestIndia","DataFactory.WestUS","DataFactory.WestUS2","DataFactory.WestUS3","DataFactoryDataFlowSparkCluster","DataFactoryDataMovementServiceInternal","DataFactoryDataMovementServiceInternal.AustraliaEast","DataFactoryDataMovementServiceInternal.AustraliaSoutheast","DataFactoryDataMovementServiceInternal.AustriaEast","DataFactoryDataMovementServiceInternal.BelgiumCentral","DataFactoryDataMovementServiceInternal.BrazilSouth","DataFactoryDataMovementServiceInternal.CanadaCentral","DataFactoryDataMovementServiceInternal.CanadaEast","DataFactoryDataMovementServiceInternal.CentralIndia","DataFactoryDataMovementServiceInternal.CentralUS","DataFactoryDataMovementServiceInternal.CentralUSEUAP","DataFactoryDataMovementServiceInternal.ChileCentral","DataFactoryDataMovementServiceInternal.DenmarkEast","DataFactoryDataMovementServiceInternal.EastAsia","DataFactoryDataMovementServiceInternal.EastUS","DataFactoryDataMovementServiceInternal.EastUS2","DataFactoryDataMovementServiceInternal.EastUS2EUAP","DataFactoryDataMovementServiceInternal.FranceCentral","DataFactoryDataMovementServiceInternal.FranceSouth","DataFactoryDataMovementServiceInternal.GermanyWestCentral","DataFactoryDataMovementServiceInternal.IndiaSouthCentral","DataFactoryDataMovementServiceInternal.IndonesiaCentral","DataFactoryDataMovementServiceInternal.IsraelCentral","DataFactoryDataMovementServiceInternal.IsraelNorthwest","DataFactoryDataMovementServiceInternal.ItalyNorth","DataFactoryDataMovementServiceInternal.JapanEast","DataFactoryDataMovementServiceInternal.JapanWest","DataFactoryDataMovementServiceInternal.JioIndiaWest","DataFactoryDataMovementServiceInternal.KoreaCentral","DataFactoryDataMovementServiceInternal.KoreaSouth","DataFactoryDataMovementServiceInternal.MalaysiaWest","DataFactoryDataMovementServiceInternal.NorthCentralUS","DataFactoryDataMovementServiceInternal.NortheastUS5","DataFactoryDataMovementServiceInternal.NorthEurope","DataFactoryDataMovementServiceInternal.NorwayEast","DataFactoryDataMovementServiceInternal.PolandCentral","DataFactoryDataMovementServiceInternal.QatarCentral","DataFactoryDataMovementServiceInternal.SouthAfricaNorth","DataFactoryDataMovementServiceInternal.SouthAfricaWest","DataFactoryDataMovementServiceInternal.SouthCentralUS","DataFactoryDataMovementServiceInternal.SoutheastAsia","DataFactoryDataMovementServiceInternal.SoutheastUS5","DataFactoryDataMovementServiceInternal.SouthIndia","DataFactoryDataMovementServiceInternal.SpainCentral","DataFactoryDataMovementServiceInternal.SwedenCentral","DataFactoryDataMovementServiceInternal.SwitzerlandNorth","DataFactoryDataMovementServiceInternal.SwitzerlandWest","DataFactoryDataMovementServiceInternal.UAENorth","DataFactoryDataMovementServiceInternal.UKSouth","DataFactoryDataMovementServiceInternal.UKWest","DataFactoryDataMovementServiceInternal.WestCentralUS","DataFactoryDataMovementServiceInternal.WestEurope","DataFactoryDataMovementServiceInternal.WestUS","DataFactoryDataMovementServiceInternal.WestUS2","DataFactoryDataMovementServiceInternal.WestUS3","DataFactoryDataMovementServiceInternalTest","DataFactoryDataMovementServiceInternalTest.EastUS","DataFactoryDataMovementServiceInternalTest.WestUS","DataFactoryDataMovementServiceInternalTest.WestUS3","DataFactoryManagement","DataFactoryOrchestrationInternal","DataFactoryOrchestrationInternal.AustraliaEast","DataFactoryOrchestrationInternal.AustraliaSoutheast","DataFactoryOrchestrationInternal.BrazilSouth","DataFactoryOrchestrationInternal.CanadaCentral","DataFactoryOrchestrationInternal.CanadaEast","DataFactoryOrchestrationInternal.CentralIndia","DataFactoryOrchestrationInternal.CentralUS","DataFactoryOrchestrationInternal.CentralUSEUAP","DataFactoryOrchestrationInternal.EastAsia","DataFactoryOrchestrationInternal.EastUS","DataFactoryOrchestrationInternal.EastUS2","DataFactoryOrchestrationInternal.EastUS2EUAP","DataFactoryOrchestrationInternal.FranceCentral","DataFactoryOrchestrationInternal.FranceSouth","DataFactoryOrchestrationInternal.GermanyWestCentral","DataFactoryOrchestrationInternal.IsraelCentral","DataFactoryOrchestrationInternal.ItalyNorth","DataFactoryOrchestrationInternal.JapanEast","DataFactoryOrchestrationInternal.JapanWest","DataFactoryOrchestrationInternal.JioIndiaWest","DataFactoryOrchestrationInternal.KoreaCentral","DataFactoryOrchestrationInternal.KoreaSouth","DataFactoryOrchestrationInternal.NorthCentralUS","DataFactoryOrchestrationInternal.NorthEurope","DataFactoryOrchestrationInternal.NorwayEast","DataFactoryOrchestrationInternal.PolandCentral","DataFactoryOrchestrationInternal.QatarCentral","DataFactoryOrchestrationInternal.SouthAfricaNorth","DataFactoryOrchestrationInternal.SouthAfricaWest","DataFactoryOrchestrationInternal.SouthCentralUS","DataFactoryOrchestrationInternal.SoutheastAsia","DataFactoryOrchestrationInternal.SouthIndia","DataFactoryOrchestrationInternal.SpainCentral","DataFactoryOrchestrationInternal.SwedenCentral","DataFactoryOrchestrationInternal.SwitzerlandNorth","DataFactoryOrchestrationInternal.SwitzerlandWest","DataFactoryOrchestrationInternal.UAENorth","DataFactoryOrchestrationInternal.UKSouth","DataFactoryOrchestrationInternal.UKWest","DataFactoryOrchestrationInternal.WestCentralUS","DataFactoryOrchestrationInternal.WestEurope","DataFactoryOrchestrationInternal.WestUS","DataFactoryOrchestrationInternal.WestUS2","DataFactoryOrchestrationInternal.WestUS3","DataFactoryOrchestrationInternalTest","DataFoundationExtensionDev","DataFoundationExtensionDog","DataFoundationExtensionPpe","DataFoundationExtensionPrd","DataFoundationsEngNonProd","DataFoundationsEngProd","DataGrid","DataHealthScoring","DataInnovationandOperations","DataInsights","DataInsightsandPlatform","DataLabsCanary","DataLabsInternal","DataLabsTest","DataLossPrevention","DataManagementRuntime","DataMap","DataMapTest","DataMovementMetadataService","DataMovementMetadataService.AustraliaEast","DataMovementMetadataService.AustraliaSoutheast","DataMovementMetadataService.AustriaEast","DataMovementMetadataService.BelgiumCentral","DataMovementMetadataService.BrazilSouth","DataMovementMetadataService.BrazilSoutheast","DataMovementMetadataService.CanadaCentral","DataMovementMetadataService.CanadaEast","DataMovementMetadataService.CentralIndia","DataMovementMetadataService.CentralUS","DataMovementMetadataService.CentralUSEUAP","DataMovementMetadataService.ChileCentral","DataMovementMetadataService.DenmarkEast","DataMovementMetadataService.EastAsia","DataMovementMetadataService.EastUS","DataMovementMetadataService.EastUS2","DataMovementMetadataService.EastUS2EUAP","DataMovementMetadataService.FranceCentral","DataMovementMetadataService.FranceSouth","DataMovementMetadataService.GermanyNorth","DataMovementMetadataService.GermanyWestCentral","DataMovementMetadataService.IndonesiaCentral","DataMovementMetadataService.IsraelCentral","DataMovementMetadataService.IsraelNorthwest","DataMovementMetadataService.ItalyNorth","DataMovementMetadataService.JapanEast","DataMovementMetadataService.JapanWest","DataMovementMetadataService.KoreaCentral","DataMovementMetadataService.KoreaSouth","DataMovementMetadataService.MalaysiaWest","DataMovementMetadataService.MexicoCentral","DataMovementMetadataService.NewZealandNorth","DataMovementMetadataService.NorthCentralUS","DataMovementMetadataService.NorthEurope","DataMovementMetadataService.NorwayEast","DataMovementMetadataService.NorwayWest","DataMovementMetadataService.PolandCentral","DataMovementMetadataService.QatarCentral","DataMovementMetadataService.SouthAfricaNorth","DataMovementMetadataService.SouthAfricaWest","DataMovementMetadataService.SouthCentralUS","DataMovementMetadataService.SoutheastAsia","DataMovementMetadataService.SouthIndia","DataMovementMetadataService.SpainCentral","DataMovementMetadataService.SwedenCentral","DataMovementMetadataService.SwitzerlandNorth","DataMovementMetadataService.SwitzerlandWest","DataMovementMetadataService.TaiwanNorth","DataMovementMetadataService.TaiwanNorthwest","DataMovementMetadataService.UAECentral","DataMovementMetadataService.UAENorth","DataMovementMetadataService.UKSouth","DataMovementMetadataService.UKWest","DataMovementMetadataService.WestCentralUS","DataMovementMetadataService.WestEurope","DataMovementMetadataService.WestIndia","DataMovementMetadataService.WestUS","DataMovementMetadataService.WestUS2","DataMovementMetadataService.WestUS3","DataServiceNonProd","DataServiceProd","DCCEEAM","DCC-MSFT-Legacy-v2","DcfwNonProd","dcprdappgatewaycentralusiptag","dcprdappgatewayeastusiptag","DCRMReservation","DCSMService","DCSMServicePPE","DCSMServiceStage","DCSNonProd","DCSProd","dcuatappgatewayiptag","DCUCrawlers","DCUMalwareOperations","DCUTourSpace","ddghdautomationpip","DDMS","DDMSnonprod","DDSNonProd","DDSProd","DecommServices","DecommServices.Ppe","DecommServices.Prod","DedupStorage","DefenderCloudAppInternal","DefenderEngineeringSystem","DefenderExperts","DefenderExpertsNonProd","DefenderForDevOps","DefenderForIoT","DefenderForIoTStg","DefenderK8sPlatformNonProd","DefenderK8sPlatformProd","DefHawkEyeDynamicPPE","DefHawkEyeDynamicProd","DefHawkeyeStaticProd","DEINonProd","DelegatedNetworkController","DelegatedNetworkControllerTest","deliverandstorenonprod","DeliveryCatalogApiGateway","DeliveryCatalogApiGatewayDev","DeliveryCatalogApiGatewayOutbound","DeliveryCatalogApiGatewayPPE","DeliveryCatalogApiGatewayTiP","DeliveryCatalogApprovalsOutbound","DeliveryCatalogApprovalsOutboundDev","DeliveryCatalogApprovalsOutboundEUDB","DeliveryCatalogApprovalsOutboundEUDBPPE","DeliveryCatalogApprovalsOutboundPPE","DeliveryCatalogApprovalsOutboundTiP","DeliveryCatalogBCDRBackupAgent","DeliveryCatalogBCDRBackupAgentDev","DeliveryCatalogBCDRBackupAgentEUDB","DeliveryCatalogBCDRBackupAgentEUDBDev","DeliveryCatalogBCDRBackupAgentEUDBPPE","DeliveryCatalogBCDRBackupAgentPPE","DeliveryCatalogBCDRBackupManagement","DeliveryCatalogBCDRBackupManagementDev","DeliveryCatalogBCDRBackupManagementEUDB","DeliveryCatalogBCDRBackupManagementEUDBDev","DeliveryCatalogBCDRBackupManagementEUDBPPE","DeliveryCatalogBCDRBackupManagementPPE","DeliveryCatalogBCDRMisc","DeliveryCatalogBCDRMiscDev","DeliveryCatalogBCDRMiscPPE","DeliveryCatalogBCDRProvision","DeliveryCatalogBCDRProvisionDev","DeliveryCatalogBCDRProvisionEUDB","DeliveryCatalogBCDRProvisionEUDBDev","DeliveryCatalogBCDRProvisionEUDBPPE","DeliveryCatalogBCDRProvisionPPE","DeliveryCatalogBCDRStagingAgent","DeliveryCatalogBCDRStagingAgentDev","DeliveryCatalogBCDRStagingAgentEUDB","DeliveryCatalogBCDRStagingAgentEUDBDev","DeliveryCatalogBCDRStagingAgentEUDBPPE","DeliveryCatalogBCDRStagingAgentPPE","DeliveryCatalogBCDRSystem","DeliveryCatalogBCDRSystemDev","DeliveryCatalogBCDRSystemEUDB","DeliveryCatalogBCDRSystemEUDBDev","DeliveryCatalogBCDRSystemEUDBPPE","DeliveryCatalogBCDRSystemPPE","DeliveryCatalogCatalogAPIOutbound","DeliveryCatalogCatalogAPIOutboundDev","DeliveryCatalogCatalogAPIOutboundPPE","DeliveryCatalogCatalogOutboundTiP","DeliveryCatalogCatalogSite","DeliveryCatalogCatalogSiteDev","DeliveryCatalogCatalogSitePPE","DeliveryCatalogCatalogSiteTiP","DeliveryCatalogCMS","DeliveryCatalogCMSDev","DeliveryCatalogCMSPPE","DeliveryCatalogCMSTiP","DeliveryCatalogContentStatus","DeliveryCatalogContentStatusDev","DeliveryCatalogContentStatusEUDB","DeliveryCatalogContentStatusEUDBPPE","DeliveryCatalogContentStatusPPE","DeliveryCatalogContentStatusTiP","DeliveryCatalogCoordinatorOutbound","DeliveryCatalogCoordinatorOutboundDev","DeliveryCatalogCoordinatorOutboundPPE","DeliveryCatalogCoordinatorOutboundTiP","DeliveryCatalogCSVSAW","DeliveryCatalogCSVSAWDev","DeliveryCatalogCSVSAWEUDB","DeliveryCatalogCSVSAWEUDBPPE","DeliveryCatalogCSVSAWPPE","DeliveryCatalogCSVSAWTiP","DeliveryCatalogCWS","DeliveryCatalogCWSDev","DeliveryCatalogCWSEUDB","DeliveryCatalogCWSEUDBPPE","DeliveryCatalogCWSOutbound","DeliveryCatalogCWSOutboundTiP","DeliveryCatalogCWSPPE","DeliveryCatalogCWSTiP","DeliveryCatalogDataApi","DeliveryCatalogDataApiDev","DeliveryCatalogDataApiEUDBPPE","DeliveryCatalogDataApiPPE","DeliveryCatalogDataApiTiP","DeliveryCatalogDGrepPPEEUDB","DeliveryCatalogDGrepProdEUDB","DeliveryCatalogMisc","DeliveryCatalogMiscDev","DeliveryCatalogMiscEUDB","DeliveryCatalogMiscEUDBPPE","DeliveryCatalogMiscPPE","DeliveryCatalogMiscTiP","DeliveryCatalogOriginExternal","DeliveryCatalogOriginExternalDev","DeliveryCatalogOriginExternalPPE","DeliveryCatalogOriginExternalTiP","DeliveryCatalogOriginInternal","DeliveryCatalogOriginInternalDev","DeliveryCatalogOriginInternalPPE","DeliveryCatalogOriginInternalTiP","DeliveryCatalogProvision","DeliveryCatalogProvisionDev","DeliveryCatalogProvisionEUDB","DeliveryCatalogProvisionEUDBPPE","DeliveryCatalogProvisionOutbound","DeliveryCatalogProvisionOutboundDev","DeliveryCatalogProvisionOutboundEUDB","DeliveryCatalogProvisionOutboundEUDBPPE","DeliveryCatalogProvisionOutboundPPE","DeliveryCatalogProvisionOutboundTiP","DeliveryCatalogProvisionPPE","DeliveryCatalogProvisionTiP","DeliveryCatalogPublishing","DeliveryCatalogPublishingDev","DeliveryCatalogPublishingPPE","DeliveryCatalogPublishingTiP","DeliveryCatalogSecWorkerOutbound","DeliveryCatalogSecWorkerOutboundDev","DeliveryCatalogSecWorkerOutboundPPE","DeliveryCatalogSecWorkerOutboundTiP","DeliveryCatalogServerServer","DeliveryCatalogServerServerDev","DeliveryCatalogServerServerPPE","DeliveryCatalogServerServerTiP","DeliveryCatalogSFSOutbound","DeliveryCatalogSFSOutboundDev","DeliveryCatalogSFSOutboundPPE","DeliveryCatalogSFSOutboundTiP","DeliveryCatalogSLS","DeliveryCatalogSLSDev","DeliveryCatalogSLSPending","DeliveryCatalogSLSPendingDev","DeliveryCatalogSLSPendingPPE","DeliveryCatalogSLSPendingTiP","DeliveryCatalogSLSPPE","DeliveryCatalogSLSPublishing","DeliveryCatalogSLSPublishingDev","DeliveryCatalogSLSPublishingPPE","DeliveryCatalogSLSPublishingTiP","DeliveryCatalogSLSTiP","DeliveryCatalogUMS","DeliveryCatalogUMSDev","DeliveryCatalogUMSPPE","DeliveryCatalogUMSTiP","DeliveryCatalogWatchdogOutbound","DeliveryCatalogWatchdogOutboundDev","DeliveryCatalogWatchdogOutboundEUDB","DeliveryCatalogWatchdogOutboundEUDBPPE","DeliveryCatalogWatchdogOutboundPPE","DeliveryCatalogWatchdogOutboundTiP","DeliveryCatalogWorkerOutbound","DeliveryCatalogWorkerOutboundDev","DeliveryCatalogWorkerOutboundEUDB","DeliveryCatalogWorkerOutboundEUDBPPE","DeliveryCatalogWorkerOutboundPPE","DeliveryCatalogWorkerOutboundTiP","DeliveryOptimizationArrayDEV","DeliveryOptimizationArrayINT","DeliveryOptimizationArrayPROD","DeliveryOptimizationCatalogDEV","DeliveryOptimizationCatalogINT","DeliveryOptimizationCatalogManagementDEV","DeliveryOptimizationCatalogManagementINT","DeliveryOptimizationCatalogManagementPROD","DeliveryOptimizationCatalogPROD","DeliveryOptimizationClientTest","DeliveryOptimizationContentPolicyDEV","DeliveryOptimizationContentPolicyINT","DeliveryOptimizationContentPolicyPROD","DeliveryOptimizationControllerDEV","DeliveryOptimizationControllerINT","DeliveryOptimizationControllerPROD","DeliveryOptimizationDiscoveryDEV","DeliveryOptimizationDiscoveryINT","DeliveryOptimizationDiscoveryPROD","DeliveryOptimizationHubDEV","DeliveryOptimizationHubINT","DeliveryOptimizationHubPROD","DeliveryOptimizationKeyValueAdminDEV","DeliveryOptimizationKeyValueAdminINT","DeliveryOptimizationKeyValueAdminPROD","DeliveryOptimizationKeyValueDEV","DeliveryOptimizationKeyValueINT","DeliveryOptimizationKeyValueInternalDEV","DeliveryOptimizationKeyValueInternalINT","DeliveryOptimizationKeyValueInternalPROD","DeliveryOptimizationKeyValuePROD","DeliveryOptimizationStrDEV","DeliveryOptimizationStrINT","DeliveryOptimizationStrPROD","DeliveryOptimizationSummaryDEV","DeliveryOptimizationSummaryINT","DeliveryOptimizationSummaryPROD","DeltaHAMLNonProd","DemeterCommerceApi","DemeterCommerceAPIPPE","DemoHubNonProd","DemoHubProd","DemoIEC","DependencyAgent-NonProd","DependencyMapService","DeploymentServiceFabric","DeploymentServiceFabricIPAMTag","DeploymentServices","DeploymentServiceUnitNonProd","DeploymentServiceUnitProd","DesignArchivedSystems","DesignTooling","DetectionAnalyticsDev","DetectionAnalyticsProd","DetonationDynamicPPE","DetonationDynamicProd","DetonationStaticPPE","DetonationStaticProd","DevCellPPE","DevCellProd","DevCellPrvw","DevCellTest","DevCenter","DevCenterDev","devCVATQuantum","DevDivDSRnD","DevDivDSRPPE","DevDivDSRPPE.CentralUS","DevDivDSRProd","DevDivDSRProd.CentralUS","DeveloperCanvas","DeveloperCanvas.WestUS2","DeviceConnectivityGatewayRelayHubPerf","DeviceDES-MinervaProd","DeviceDrill","DeviceDrillDev","DeviceGatewayServices","DeviceHealthIDC","DevicesApollov3PMEPROD","DevicesApollov3PMEUAT","DevicesApollov3PROD","DevicesApollov3UAT","devicesbuild","devicesbuildcorp","devicesbuildpools","devicesbuildservicesbackend","devicesbuildservicesfrontend","DevicesCarrot","DevicesDCHub","DevicesDESACR","DevicesDESAMEPMESubsNonProd","DevicesDESAzureSubscriptionsNonProd","DevicesDESAzureSubscriptionsProd","DevicesDESAzureVMFarmsInternalNonProd","DevicesDESAzureVMFarmsInternalProd","DevicesDESDS2NonProd","DevicesDES-DS2Prod","DevicesDESFactoryAADUserTenantProd","DevicesDESLicesingNonProd","DevicesDESLicesingProd","DevicesDESLOBApplicationSupport","DevicesDESMinervaNonProd","DevicesDESPDMLNonProd","DevicesDESPDMLProd","DevicesDESRenderHPCNonProd","DevicesDESRenderHPCProd","DevicesDESToolsv2","DevicesDESUAMNext","DevicesDESWorkstationsProd","DevicesDev-Battery","DevicesOdin","DevicesQCCrashDump","DevicesSGNonProdAzureResourcesNonProd","DevicesSurfaceFIDev","DevicesSurfaceILInternalDevNonProd","DevicesSurfaceILInternalDevProd","DevicesSurfaceManagementServicesINT","DevicesSurfaceManagementServicesPME","DevicesSurfaceVideoLabUserStudyNonProd","DevicesSurfaceVideoLabUserStudyProd","DevicesSVCQUICLabNonProd","DevicesSVCQUICLabProd","DevicesSWSSMSAzureSubscriptions","DevicesSWSSPMEAzureSubscriptions","DeviceSWExternalContainer","DevicesWirelessML","DevicesWSSIGraphics","DevicesWSSIInfraSubscriptionContainerNonProd","DevicesWSSIInfraSubscriptionContainerProd","DevMajorPPE","DevMajorProd","DevMajorPrvw","DevMajorTest","DevMinorPPE","DevMinorProd","DevMinorPrvw","DevMinorTest","DevMongoCPGDataPlaneIP","DevObligation","DevOpsInfrastructure","DevProd","DevSecAI","DevSim","DevTestLabsDev","DevTINonProd","DevTIProd","DevTunnels","DevXMoniotringProd","DevXMonitoring","DfMJarvisClientPREPROD","DfMJarvisClientPROD","DGDataQuality","dgsappein","dgsappeout","dgsaprodin","dgsaprodout","dgsatestin","dgsatestout","DGSProd","DIAGmPoweronlineservice","DialtoneBuild","DialtoneBuildNonProd","DIGInsightsNonProd","DIGInsightsProdBE","DigitalAttach","DigitalAttachPPE","DigitalSafetyInformationSystemDev","DigitalSiteServices","DigitalStoresAnalyticsPPE","DigitalStoresAnalyticsPROD","DigitalTechnologyServicesip","DigitalTwinPlatform","digitalwinroomprod","DigitalWorkplaceInsights","DigitalWorkplaceInsightsNon-Prod","Dilbert","DisccoAKSManagementPlane","DisccoBastion","DisccoBatchAccount","DisccoHDInsightheaderNode","DisccoLoadbalancer","DisccoVMIR","Discover","Discover.SouthCentralUS","Discover.WestUS","DiscoverNonProd","DiscoverNonProd.SouthCentralUS","DiscoverNonProd.WestUS","DiscoverProd","DiscoverySelectionPipeline","DistributedDirectoryServices","DistributedDirectoryServicesVips","DistributedDirectoryServicesVips.AADDDSMiddleTier","DistributedDirectoryServicesVips.AADFusion","DistributedDirectoryServicesVips.AADMTQ","DistributedDirectoryServicesVips.DWS","DistributedDirectoryServicesVips.GRNDomainNW","DistributedDirectoryServicesVips.MDS","DistributedDirectoryServicesVips.MDSRLS","DistributedDirectoryServicesVipsNonProd","DistributedDirectoryServicesVipsNonProd.GRNDomainNW","DistributedDirectoryServicesVipsNonProd.MDS","DistributedDirectoryServicesVipsNonProd.MDSRLS","DistributedTracingPlatform","DistributedTracingPlatform.AustraliaCentral","DistributedTracingPlatform.AustraliaEast","DistributedTracingPlatform.AustraliaSoutheast","DistributedTracingPlatform.BrazilSouth","DistributedTracingPlatform.CanadaCentral","DistributedTracingPlatform.CentralIndia","DistributedTracingPlatform.CentralUS","DistributedTracingPlatform.EastAsia","DistributedTracingPlatform.EastUS","DistributedTracingPlatform.EastUS2","DistributedTracingPlatform.EastUS2EUAP","DistributedTracingPlatform.FranceCentral","DistributedTracingPlatform.GermanyWestCentral","DistributedTracingPlatform.JapanEast","DistributedTracingPlatform.KoreaCentral","DistributedTracingPlatform.NorthCentralUS","DistributedTracingPlatform.NorthEurope","DistributedTracingPlatform.NorwayEast","DistributedTracingPlatform.SouthAfricaNorth","DistributedTracingPlatform.SouthCentralUS","DistributedTracingPlatform.SoutheastAsia","DistributedTracingPlatform.SwedenCentral","DistributedTracingPlatform.SwitzerlandNorth","DistributedTracingPlatform.UAENorth","DistributedTracingPlatform.UKSouth","DistributedTracingPlatform.WestEurope","DistributedTracingPlatform.WestUS","DistributedTracingPlatform.WestUS2","DistributedTracingPlatform.WestUS3","DKDS","DKIResearch","DLPDataEngineering","DLZKnit","DMC","DnANeuron","DnsDdosKevlarNonProd","DnsDdosKevlarProd","DNSInfraProdNatGw","DNSInfraProdVnet","DNSInfraProdVPN","DNSRHCProdInfra","DnsServingPlanePpeKms","DnsServingPlaneProdKms","DnsServingPlaneTestKms","DomainLens","DomainLensPPE","DomainManager","DoppelDev","DotNetPerformance","DoubleFineProd","DoubleFineTest","downtimeppevm01","DPBuffFivePPE","DPBuffFiveProd","DPBuffFivePrvw","DPBuffFiveTest","DPBuffFourPPE","DPBuffFourProd","DPBuffFourPrvw","DPBuffFourTest","DPBuffOnePPE","DPBuffOneProd","DPBuffOnePrvw","DPBuffOneTest","DPBuffSixPPE","DPBuffSixProd","DPBuffSixPrvw","DPBuffSixTest","DPBuffThreePPE","DPBuffThreeProd","DPBuffThreePrvw","DPBuffThreeTest","DPBuffTwoPPE","DPBuffTwoProd","DPBuffTwoPrvw","DPBuffTwoTest","DplatExtendedTests","DplatExtendedTests.WestUS","DplatExtendedTests.WestUS2","DPSAPIMSTIPPPE","DPSAPIMSTIPPRD","DPSAzureTag","DPTR-SubscriptionContainer","DPU-Fungible-Dev","dragonpltinfraNonProd","dragonpltinfraProd","DrCapacity","DRDrillManager.WestUS2","DriverServicingDeviceMetadata","DropLinkServiceProd","DrvSvcDEAIntDPA","DrvSvcDEAProdDPA","DrvSvcDriverAutomationPPE","DrvSvcDrvPkgAnalyzerMSIT","DrvSvcDrvPkgAnalyzerPPE","DrvSvcDrvPkgAnalyzerProd","DrvSvcHDCDevVMRainier1","DrvSvcHDCIntPOCVMBaker","DrvSvcHDCIntVMRainier2","DRWorkspacePROD","DSASubsCDJPublicIPs","DSC365","DSCDevicesSupplyChainNonProd","dSCM","dsiservicetag","DspAzureCMK","DspAzureInfra","DspGenevaKusto","DspMUv6CupsWebDev","DspMUv6CupsWebDf","DspMUv6CupsWebProd","DspMUv6FrontendDev","DspMUv6FrontendDf","DspMUv6FrontendProd","DspMUv6OriginDev","DspMUv6OriginDf","DspMUv6OriginProd","DspMUv6OutboundDev","DspMUv6OutboundDf","DspMUv6OutboundProd","DspMUv6PubWebDev","DspMUv6PubWebDf","DspMUv6PubWebProd","DspMUv6RedirProd","DspToolOutboundCommon","DSREAntiMalwareTesting","DSRECertificateManagement","dsts","DTACDev","DTPIELionbridgeContainer","DTP-Indexer","DTPIndexerNonProd","DTPIndexerProd","dtsdataplatform","DTSDPCSNonProd","DTSDPCSProd","DUCTPPE","DUCTProd","DunningCollectionsINT","DunningCollectionsPROD","DunningResolution-PPE","DunningResolution-PROD","DurableTaskService","DWISUSE","DynamicCrawlerProd","Dynamics365BusinessCentral","Dynamics365BusinessCentralDev","Dynamics365BusinessCentralInternal","Dynamics365BusinessCentralNonProd","Dynamics365CustomerInsights","Dynamics365ForMarketingEmail","Dynamics365ForMarketingEmail.AustraliaSoutheast","Dynamics365ForMarketingEmail.BrazilSouth","Dynamics365ForMarketingEmail.CanadaCentral","Dynamics365ForMarketingEmail.CentralIndia","Dynamics365ForMarketingEmail.EastAsia","Dynamics365ForMarketingEmail.FranceCentral","Dynamics365ForMarketingEmail.JapanEast","Dynamics365ForMarketingEmail.NorthEurope","Dynamics365ForMarketingEmail.SouthAfricaNorth","Dynamics365ForMarketingEmail.UAENorth","Dynamics365ForMarketingEmail.UKSouth","Dynamics365ForMarketingEmail.WestUS2","Dynamics365FraudProtection","Dynamics365FraudProtectionPPE","Dynamics365SalesInsightsInternal","DynamicsEmailEngagement","DynamicsMarketingPlatform","DynamicsMarketingPlatformNonProd","DynamicsService","E360WSUS","EACServiceTag","EACServiceTagProd","EaExtensionPreProd","EaExtensionProd","EAPE2ETestTag","EapNetProvNonProd","EapNetProvProd","EaSanyaPreProd","EaSanyaProd","EasyInsights","EaWaepPreProd","EaWaepProd","EbomProd","EbsPpe","EbsProd","ECDataPlatformIPPPE","ECDataPlatformIPProd","ECIFworkscopeNonprod","ECIFworkscopeProd","EcoManager","EcoManagerTest","EcosytemsEngineeringVideoNonProd","ecsportalnonprod","ecsportalprod","ecsservicenonprod","ecsserviceprod","ECTSBridgeProd","ECTSConnectorsProd","ECTSEnginesProd","EdamTag","EDCustomerAndHealthInsights","edgeAndPlatformInternalOps","EdgeCloudMessaging","EdgeCloudMessaging-NonProd","EdgeConfigurationManager","EdgeDataPortalNonProd","EdgeDataPortalProd","EdgefieldNonProd","EdgefieldProd","EdgeFlightingServices","EdgeMeshNonProdIXP","EdgeMobileDataService","EdgePasskeys","EdgePerformanceAutomation","EdgeSitesProd","EdgeSitesTest","EdgeSoftwareAndServicesProd","EdgeSyncNonProdBackend","EdgeTech","EdgeWatchMonitoring","EDGMRILabSubscriptionsPPE","EDGSecurityMRIOverwatchProd","EDIRetailPriceList","eDiscovery","EDiscoveryBatchPPE","EDiscoveryBatchWW","EdiscoveryServicePRD","EDiscoverySparkPPE","EDiscoverySparkWW","EDiscoverySvcPPE","EDiscoverySvcWW","EDLP","EDOT-AI-BOT-Prod-PublicIP","EDOTData","EDSSubContainerWUTestV4","EduAnalyticsInt","EduAnalyticsPPE","EduAnalyticsProd","EducationServicesInt","EducationServicesPPE","EducationServicesProd","EDUInsightsAndDataFreyja","EduLearningCoachesEverywhereINT","EduLearningCoachesEverywherePPE","EduLearningCoachesEverywherePROD","EDUMathRecognizerCI","EDUMathRecognizerINT","EDUMathRecognizerML","EDUMathRecognizerPPE","EDUMathRecognizerPROD","EDUMathSkillCI","EDUMathSkillINT","EDUMathSkillPPE","EDUMathSkillPROD","EDUMathSolverCI","EDUMathSolverINT","EDUMathSolverPPE","EDUMathSolverPROD","EduSearchCoachINT","EduSearchCoachPPE","EduSearchCoachPROD","EduServicesNotebooksSitePROD","EfficiencyPackServices","EGRCNonProd","EGRCProd","EHSEnablon","EHSEnablonDev","EHSEnablonStg","EHSEnablonTest","ElevateIT","ElevateITDS","ElevateITNonProd","Elixir","ElixirDev","ElixirPPE","ElixirProd","ElixirSolutionsManagement","EMCService","EmployeeExperience","EndpointDLP","EndpointDlpStg","EngageHubLearningPlatform","EngageLabs","EngagementPPE","EngagementProd","EngagementPrvw","EngagementTest","EngageTeamsQNA","EngageTeamsQNATest","EngineeringHub","EnterpriseDataPlatformNonProd","EnterpriseDataPlatformProd","EnterpriseHybridConnectivityNonProd","EnterpriseHybridConnectivityProd","EnterpriseKnowledgeGraphManagement","EnterpriseMessaging","EnterpriseReportingService","EntraDS","EntraDSNonProd","EntraEntitlementManagement","EntraIDTermsOfUse","EntraLifecycleWorkflows","EnvironmentalCreditService","EnvironmentalCreditServiceDev","EnvironmentalCreditServicePPE","EOPExternalPublishedIPs","EopSovbase","EOPSovBaseExtPublished","EOPSovBasePrivate","EPICSAIB","EPICSBot","EPICSHelix","EPMPortal","epsfpbpa","EPSFSERPENT","EREGateway","ergateway-nxt","ERNetworkPvtApp","ERPDataServices","ES365Bot","ES365InfrastructureAutomation","EscortSessionManager","EscortShell","ESE","ESIDynamicsNonProd","ESIDynamicsProd","ESINonProd","ESIProd","EsmAllNonprod","EsmAllVbasePPE","EsmAppsAzureFR","EsmAppsM365FR","EsmAppsProd","EsmGbAzureFR","EsmGbAzureProd","EsmGbM365FR","EsmGbM365Prod","EsmIsolatedDc","ESOCForensicsVM","ESOCGoldeneye","ESOSValidation","ESPFHSE","EstsRedisManagement","EuclidComputeNonProd","EuclidComputeProd","EuclidTISIMRS","EuclidTisiOdsp","EuclidTISIStore","EuclidTISIWLM","EventHub","EventHub.AustraliaCentral","EventHub.AustraliaCentral2","EventHub.AustraliaEast","EventHub.AustraliaSoutheast","EventHub.AustriaEast","EventHub.BelgiumCentral","EventHub.BrazilSouth","EventHub.BrazilSoutheast","EventHub.CanadaCentral","EventHub.CanadaEast","EventHub.CentralIndia","EventHub.CentralUS","EventHub.CentralUSEUAP","EventHub.ChileCentral","EventHub.DenmarkEast","EventHub.EastAsia","EventHub.EastUS","EventHub.EastUS2","EventHub.EastUS2EUAP","EventHub.EastUS3","EventHub.EastUSSLV","EventHub.EastUSSTG","EventHub.FranceCentral","EventHub.FranceSouth","EventHub.GermanyNorth","EventHub.GermanyWestCentral","EventHub.IndiaSouthCentral","EventHub.IndonesiaCentral","EventHub.IsraelCentral","EventHub.IsraelNorthwest","EventHub.ItalyNorth","EventHub.JapanEast","EventHub.JapanWest","EventHub.JioIndiaCentral","EventHub.JioIndiaWest","EventHub.KoreaCentral","EventHub.KoreaSouth","EventHub.MalaysiaSouth","EventHub.MalaysiaWest","EventHub.MexicoCentral","EventHub.NewZealandNorth","EventHub.NorthCentralUS","EventHub.NortheastUS5","EventHub.NorthEurope","EventHub.NorwayEast","EventHub.NorwayWest","EventHub.PolandCentral","EventHub.QatarCentral","EventHub.SouthAfricaNorth","EventHub.SouthAfricaWest","EventHub.SouthCentralUS","EventHub.SouthCentralUS2","EventHub.SouthCentralUSSTG","EventHub.SoutheastAsia","EventHub.SoutheastUS","EventHub.SoutheastUS3","EventHub.SoutheastUS5","EventHub.SouthIndia","EventHub.SouthwestUS","EventHub.SpainCentral","EventHub.SwedenCentral","EventHub.SwedenSouth","EventHub.SwitzerlandNorth","EventHub.SwitzerlandWest","EventHub.TaiwanNorth","EventHub.TaiwanNorthwest","EventHub.UAECentral","EventHub.UAENorth","EventHub.UKSouth","EventHub.UKWest","EventHub.WestCentralUS","EventHub.WestEurope","EventHub.WestIndia","EventHub.WestUS","EventHub.WestUS2","EventHub.WestUS3","EventReadiness","EverdeenConnector","EvergreenInt","EvergreenProd","ExactDataMatchPPE","ExactDataMatchPROD","ExcelPrototypeSubscriptionContainer","Exchange","ExchangeServerIDC","ExchangeSovBase","ExchangeSovBasePrivate","ExoForensicsWorker","ExoForensicsWorker-NonProd","ExoMailboxLevelEncryption","ExOnAzure-AF","ExOnAzure-MB","ExOnAzure-MGMT","ExOnAzure-RF","ExOnAzure-SovBase-AF","ExOnAzure-SovBase-Cafe","ExOnAzure-SovBase-EastUS-MB","ExOnAzure-TO","Exp","ExpClassic","ExpClassicNonProd","ExpNonProd","ExposureKnowledgeGraphMSIT","ExpressRoute","ExpressrouteConnectionToLab","ExpTas","ExpTasNonProd","ExRDedicated","ExternalInvoicingService","ExternalInvoicingServiceNonProd","FAASTToolsTag","FabricCCSS","FabricCCSS.SouthCentralUS","FabricContainerService","FabricContainerServiceNonProd","FabricContainerServiceRunner","FabricDwDev","FabricGraphInternal","fabricnonprod","FabricNotebookServiceProd","FabricNotebookServiceTest","FabricTenant02cb7dd6abaa4853ba11b0ca5fc50940UnknownService","FacilitiesManagement","FacilityManager","FacilityManagerTest","FacNetLegacyJumpBoxesPIP","FacNetModernJumpboxesPIP","FACSTPROD","FactorProd","FailureAnalysisPPE","FailureAnalysisProd","FAMPPE","FAMPRD","FarmBeats","FASTFOPSPPE","FASTFOPSPROD","FastServicingDev","FastServicingPpe","FastServicingProd","FastShortCircuitDirectoryNonProd","FastShortCircuitDirectoryProd","FastTrackDataPlatform","FastTrackFCUAPI","FastTrackIPE","FastTrackIPEJourney","FastTrackMigrations","FastTrackPartnerPPRM","FastTrackPartnerProgram","FastTrackSecInfPenTest","FastTrackSecureInfrastructure","FastTrackSubscriptionContainer","FastTrackTooling","FastValidation","FCMIngestion","FDDataInsights","FDEDME","FDEIPServiceTagPPE","FDEIPServiceTagProd","Feather","feeservice","FieldAndSupport","FieldExperiencePlatformNonProd","FieldExperiencePlatformProd","FileProcessingInboundDEV","FileProcessingInboundNonProd","FileProcessingInboundProd","FileProcessingOutboundDEV","FileProcessingOutboundNonProd","FileProcessingOutboundProd","FinanceDataLakeNonProd","FinanceDataLakeProd","FinancialAccountingMCIPL","FinancialControlsforHorizon","FinancialInstructions","FinancialLedgerServiceNonProd","FinancialLedgerServiceProd","FinancialOrchestrator","FinancialOrchestratorNonProd","FinancialsBI","FinancialsBIInt","FinOpsERNetwork","FinPlatFeeInt","FinPlatFeeProd","FinPlatFIAirCAPI","FinPlatFIInt","FinPlatFIProd","FirmwareAnalysis","FirmwareAnalysisTest","FirstPartyNetworking","FISCGAStubServicePPE","FleetAgent","FlightOpsFastRQV","FlightServices","FlightTargeting","FluidFrameworkNonProd","FluidFrameworkWebsite","FluidIntegrationService","fmAutoPilot","fmIDCSubContainer","fmInternalTools","fmMetal","fmSharedInfra","Footprint","FootprintDevTest","Forecast-ST-Non-Product","Forecast-ST-Product","ForexPPE","ForexPRD","FoundationResDev","FoundersHub","FoundersHubPPE","FreelaceSupportIP","FrontendIP","FrontlineRPSPROD","FrontlineRPSTIP","FrontlineRPSTIPGCC","FrostFireIntelligenceService","FrostFireIntelligenceServiceInt","FSINonProd","FuiteAutomationVMIP","FunFIT","FungatesWoW","FungibleCompute","FungibleSCLab","FuseBot","FuseBotPPE","FutureComputeReservationsPPE","FutureComputeReservationsProd","GAI-DEV-ST-Non-Product","GAI-DEV-ST-Product","GalaxyDev","GalaxyProd","Gamesmarketing","GamingDevTIMS","GamingDevTIN","GamingDevTIP","GamingManufacturingCryptoServicesProd","GamingSTaRDataPlatform","GarudaPPE","GarudaProd","Gatekeeper","Gates","GatewayManager","GatewayManager.AustraliaCentral","GatewayManager.AustraliaCentral2","GatewayManager.AustraliaEast","GatewayManager.AustraliaSoutheast","GatewayManager.AustriaEast","GatewayManager.BelgiumCentral","GatewayManager.BrazilSouth","GatewayManager.BrazilSoutheast","GatewayManager.CanadaCentral","GatewayManager.CanadaEast","GatewayManager.CentralIndia","GatewayManager.CentralUS","GatewayManager.CentralUSEUAP","GatewayManager.ChileCentral","GatewayManager.DenmarkEast","GatewayManager.EastAsia","GatewayManager.EastUS","GatewayManager.EastUS2","GatewayManager.EastUS2EUAP","GatewayManager.EastUS3","GatewayManager.EastUSSLV","GatewayManager.EastUSSTG","GatewayManager.FranceCentral","GatewayManager.FranceSouth","GatewayManager.GermanyNorth","GatewayManager.GermanyWestCentral","GatewayManager.IndiaSouthCentral","GatewayManager.IndonesiaCentral","GatewayManager.IsraelCentral","GatewayManager.IsraelNorthwest","GatewayManager.ItalyNorth","GatewayManager.JapanEast","GatewayManager.JapanWest","GatewayManager.JioIndiaCentral","GatewayManager.JioIndiaWest","GatewayManager.KoreaCentral","GatewayManager.KoreaSouth","GatewayManager.MalaysiaSouth","GatewayManager.MalaysiaWest","GatewayManager.MexicoCentral","GatewayManager.NewZealandNorth","GatewayManager.NorthCentralUS","GatewayManager.NortheastUS5","GatewayManager.NorthEurope","GatewayManager.NorwayEast","GatewayManager.NorwayWest","GatewayManager.PolandCentral","GatewayManager.QatarCentral","GatewayManager.SouthAfricaNorth","GatewayManager.SouthAfricaWest","GatewayManager.SouthCentralUS","GatewayManager.SouthCentralUS2","GatewayManager.SouthCentralUSSTG","GatewayManager.SoutheastAsia","GatewayManager.SoutheastUS","GatewayManager.SoutheastUS3","GatewayManager.SoutheastUS5","GatewayManager.SouthIndia","GatewayManager.SouthwestUS","GatewayManager.SpainCentral","GatewayManager.SwedenCentral","GatewayManager.SwedenSouth","GatewayManager.SwitzerlandNorth","GatewayManager.SwitzerlandWest","GatewayManager.TaiwanNorth","GatewayManager.TaiwanNorthwest","GatewayManager.UAECentral","GatewayManager.UAENorth","GatewayManager.UKSouth","GatewayManager.UKWest","GatewayManager.WestCentralUS","GatewayManager.WestEurope","GatewayManager.WestIndia","GatewayManager.WestUS","GatewayManager.WestUS2","GatewayManager.WestUS3","GatewayTenant","GCCReportsPROD","GCHNonProd","GCHProd","GCRetentionPlatform","GCRGeneral","GCRSandbox","GDCDEMAP","GDCDEMAPAPDBASTION","GDCDEMAPAPDLB","GDCDEMLOPSBASTION","GDCDEMLOPSLB","GDCDERMER","GDCIAOPS","GdcoAppAndService","GdcoAppAndService.Ppe","GdcoAppAndService.Prod","GdcoAppAndService.Test","GdcoTicketing","GDPRAgent","GDSApublicIPaddress","GDSonarProd","GdxAzureIp","GdxAzureIpNonProd","GEARCCES2SNonProd","GEMSSPACE","GenDoxMgmtService","GenDoxMgmtServiceDev","GenevaActions","GenevaActionsNonProd","GenevaLogsToMetrics","GenevaSynthetics","GenevaSyntheticsControlPlane","GenevaSyntheticsControlPlaneNonProd","GenevaSyntheticsDsmsBroker","GenevaSyntheticsDsmsBrokerNonProd","GenevaSyntheticsNonProd","GetSecureForDC","GHOST-MSRCHunt-NonProd-AdhocResearch","GibraltarInboundNonProd","GibraltarInboundProd","GibraltarInboundScuba","GibraltarOutboundNonProd","GibraltarOutboundProd","GibraltarOutboundScuba","GitHubActionsMacCloudNonProd","GitHubActionsMacCloudProd","GitOps","GlobalSecureAccess","GlobalSecureAccessNonProd","GlobalTradeReporting","GlobalTradeReporting.EastUS2","GlobalTradeReporting.WestUS2","GnosisNonProdADBST","GnosisNonProdST","GnosisProdADBST","GnosisProdST","GnosisServiceNonProdST","GodBolt","GoLocalTenantMoveService","GPCMSPaymentsINT","GPCMSPaymentsPROD","GPCPartnerSettingsINT","GPCPartnerSettingsPPE","GPCPartnerSettingsPROD","GpcPaymentsHub","GPCPXINT","GPCPXPPE","GPCPXPROD","GPCSecurePXINT","GPCSecurePXPPE","GPCSecurePXPROD","GPCSellerMarketplaceINT","GPCSellerMarketplacePROD","GPCStaticResourcesNonProd","GPCStaticResourcesPROD","GPEXAircapi","GPEXINT","GPEXPPE","GPEXPROD","GPSIPProdTag","GradingDynamicPPE","GradingDynamicProd","GradingStaticPPE","GradingStaticProd","Grafana","Granada","GranadaDataServicePPE","GranadaDataServiceProd","GraphRedisManagement","GreenlandFederatedSearch","GreenSeerPreProd","GreenSeerProd","GriffinOSI","GroundingService","GroundingServicePPE","GroundingServiceProd","GroupMe","GroupMeDev","GroupMembershipManagement","GroupMeStage","GroupsAzureServiceNonProd","GroupsAzureServiceProd","GrowthEngineeringServices","GrowthEngineeringServices.WestUS3","GSAPrivateAccessBackendProxy","GSCPlanning","GTFSARMS","GTFSAurum","gtMsaaSConnector","gtMsaaSConnectorPPE","GuestAndHybridManagement","GuestOSDeploymentSTag","GuestOSHealth","GVFSCacheDev","GVFSCacheProd","GWSConnectorTDFService","GWSInfrastructurePIP","HaaSCapacityPlanning","HackBox-Devtest","HackBox-Production","HackBox-Staging","HardwareControlService","HardwareHealthService","HardwareHealthServiceDev","HardwareHealthServiceExchange","HardwareProxy","HardwareProxy.AustraliaEast","HardwareProxy.AustraliaSoutheast","HardwareProxy.BrazilSouth","HardwareProxy.BrazilSoutheast","HardwareProxy.CanadaCentral","HardwareProxy.CanadaEast","HardwareProxy.EastUS2","HardwareProxy.FranceCentral","HardwareProxy.FranceSouth","HardwareProxy.GermanyNorth","HardwareProxy.GermanyWestCentral","HardwareProxy.IsraelCentral","HardwareProxy.ItalyNorth","HardwareProxy.JapanEast","HardwareProxy.JapanWest","HardwareProxy.KoreaCentral","HardwareProxy.MexicoCentral","HardwareProxy.NorwayEast","HardwareProxy.NorwayWest","HardwareProxy.PolandCentral","HardwareProxy.SouthAfricaNorth","HardwareProxy.SouthAfricaWest","HardwareProxy.SpainCentral","HardwareProxy.SwedenCentral","HardwareProxy.SwedenSouth","HardwareProxy.SwitzerlandNorth","HardwareProxy.SwitzerlandWest","HardwareProxy.TaiwanNorth","HardwareProxy.TaiwanNorthwest","HardwareProxy.UAECentral","HardwareProxy.UAENorth","HardwareProxy.UKSouth","HardwareProxy.UKWest","HardwareProxy.WestIndia","HardwareProxy.WestUS","HardwareProxy.WestUS3","HardwareProxy-NonProd","HardwareProxyPPE","HardwareProxyTest","HASHAVSHEVET-ILDC-GSMO","HavokNonProd","HavokProd","Hawkeye","HCCSNetworkPolicyPoC","HCMPRODSOX01","HCMUAT02","HdcRainierVm2","HDCTest","HDInsight","HDInsight.AustraliaCentral","HDInsight.AustraliaEast","HDInsight.AustraliaSoutheast","HDInsight.AustriaEast","HDInsight.BelgiumCentral","HDInsight.BrazilSouth","HDInsight.BrazilSoutheast","HDInsight.CanadaCentral","HDInsight.CanadaEast","HDInsight.CentralIndia","HDInsight.CentralUS","HDInsight.CentralUSEUAP","HDInsight.ChileCentral","HDInsight.DenmarkEast","HDInsight.EastAsia","HDInsight.EastUS","HDInsight.EastUS2","HDInsight.EastUS2EUAP","HDInsight.EastUS3","HDInsight.EastUSSLV","HDInsight.EastUSSTG","HDInsight.FranceCentral","HDInsight.FranceSouth","HDInsight.GermanyNorth","HDInsight.GermanyWestCentral","HDInsight.IndiaSouthCentral","HDInsight.IndonesiaCentral","HDInsight.IsraelCentral","HDInsight.IsraelNorthwest","HDInsight.ItalyNorth","HDInsight.JapanEast","HDInsight.JapanWest","HDInsight.JioIndiaCentral","HDInsight.JioIndiaWest","HDInsight.KoreaCentral","HDInsight.KoreaSouth","HDInsight.MalaysiaSouth","HDInsight.MalaysiaWest","HDInsight.MexicoCentral","HDInsight.NewZealandNorth","HDInsight.NorthCentralUS","HDInsight.NortheastUS5","HDInsight.NorthEurope","HDInsight.NorwayEast","HDInsight.NorwayWest","HDInsight.PolandCentral","HDInsight.QatarCentral","HDInsight.SouthAfricaNorth","HDInsight.SouthAfricaWest","HDInsight.SouthCentralUS","HDInsight.SouthCentralUS2","HDInsight.SouthCentralUSSTG","HDInsight.SoutheastAsia","HDInsight.SoutheastUS","HDInsight.SoutheastUS3","HDInsight.SoutheastUS5","HDInsight.SouthIndia","HDInsight.SouthwestUS","HDInsight.SpainCentral","HDInsight.SwedenCentral","HDInsight.SwedenSouth","HDInsight.SwitzerlandNorth","HDInsight.SwitzerlandWest","HDInsight.TaiwanNorth","HDInsight.TaiwanNorthwest","HDInsight.UAECentral","HDInsight.UAENorth","HDInsight.UKSouth","HDInsight.UKWest","HDInsight.WestCentralUS","HDInsight.WestEurope","HDInsight.WestUS","HDInsight.WestUS2","HDInsight.WestUS3","HDInsightNonProd","hdsoftwarepip","HealthcareInteroperability","HealthcareInteroperabilityNonProd","HealthcareLanguageServicesDev","HealthCareMaskingNatGateway","HealthCareMaskingNatGatewayPPE","HealthEngine","Helios","HelloAzure","HeraNonProdIPTag","HeraProdIPTag","HeronNonProdIntMsitDsvmFirewalls","HeronNonProdIntMsitDsvms","HeronNonProdIntMsitTesting","HeronNonProdIntMsitWWRoles","HeronProdDsvmFirewalls","HeronProdDsvms","HeronProdIntTorusDsvmFirewalls","HeronProdIntTorusDsvms","HeronProdIntTorusTesting","HeronProdIntTorusWWRoles","HeronProdPpeDsvmFirewalls","HeronProdPpeDsvms","HeronProdPpeTesting","HeronProdPpeWWRoles","HeronProdTesting","HeronProdWWRoles","HighAvailability","HKMS","HKMSDev","hlsdxsnonprod","hlsdxsnonprod.EastUS","hlsdxsnonprod.WestUS","hlsdxsprod","HLSPlatformDragonNonProdPublicIPs","HostingAutomation","HostNetworkingNonProd","HostNetworkingProd","HostOSDataIntelligence","HPCAIValidationService","HRAdminST","HRAdminToolDefOut","HRBI-DAS-TAGS","HRBITag","HRDRIContactMgr","HRMasterDataManagement","HRServicesInsightsPROD","HRServicesInsightsUAT","HTBPortal","HTX","HybridConfiguration","HybridContainerService","HybridNetwork","HybridNetworkingDevSubContainer","HypernetPortalNonProd","HypernetPortalProd","ic3-analytics-retriever-prod-pip","ic3-analytics-tenantfeedloader","IC3CAPCOGS","IC3DataPlatformRTTDEV","IC3ESPScout","IC3ESPScoutA","ic3-event-processor","IC3FraudSQLDW","IC3NonProd","IC3NonProdSHARED","IC3ResiliencePlatform","ICAINT","ICAPROD","ICA-SANYA","ICEMnonprod","ICEMprod","IcMEUDB","IcMPROD","IcmTroubleshootingStudio","IcmTroubleshootingStudioNonProd","IcxLocOps","IDCache","IdcacheManagement","IDEASPpe","IDEASProd","IdentityAuthCDN","IdentityCOGS","IdentityPass","IdentityProtectionService","IdentityProtectionService.AustraliaEast","IdentityProtectionService.AustraliaSoutheast","IdentityProtectionService.EastUS","IdentityProtectionService.JapanEast","IdentityProtectionService.JapanWest","IdentityProtectionService.NorthEurope","IdentityProtectionService.WestEurope","IdentityProtectionService.WestUS","IdentityStorage","IdentityTrafficAnalytics","IDMPPE","IDMProd","IDMTest","IDRSPROD","IDXDPInternal","IESAIandMLServicesNonProd","IESNonProd","IESProd","IGSPipeline","IHX-Diagnostics","ils-gateway-dev","ils-outbound-dev","ils-pps-dev","ils-pps-prod","ImageFactoryProduction","ImePipeline","improv-dev-ez-test-imaging1-ip","IncentivesDesignExperiencePROD","IncentivesDesignExperienceTST","IncentivesJournal","IncidentAutomation","IncidentAutomationNonProd","IncidentAutomationNonProd.EastUS","IncidentAutomationNonProd.WestUS","IncidentAutomationNonProd.WestUS3","IncidentAutomationPartners","IncidentAutomationPartnersTest","IncidentAutomationTest","INCIDENTRATEENGINE","IndexQualityAzureNonProd","IndustryAINonProductionTemporarySubscriptionsContainer","InfereceAndReconTest","InferenceAndRecon","InferenceandReconProd","InferenceAtScale","InformaBCDR","InformaPPE","InformaPROD","InformaSIT","infrastructureiopreprod","infrastructureioprod","INFSARNPD","INFSARP","InGuestUpgrades","InsiderHub","InsiderHubPPE","InsiderRiskManagementProd","InStoreExperiences","IntegrationServices","IntelCopilotProd","IntelligentOperationsEng","IntelligentRecommendations","IntelligentRecommendationsInternal","IntelligentRecommendationsNonProd","IntelligentSecurityGraph","IntentDevOps","InteractiveStudios","INTERFLOWINTVA","INTERFLOWPPROD","INTERFLOWPRODA","INTERFLOWPRODA.AustraliaEast","INTERFLOWPRODA.AustraliaSoutheast","INTERFLOWPRODA.BrazilSouth","INTERFLOWPRODA.CentralIndia","INTERFLOWPRODA.CentralUS","INTERFLOWPRODA.EastAsia","INTERFLOWPRODA.EastUS","INTERFLOWPRODA.EastUS2","INTERFLOWPRODA.FranceCentral","INTERFLOWPRODA.IsraelCentral","INTERFLOWPRODA.NorthEurope","INTERFLOWPRODA.SoutheastAsia","INTERFLOWPRODA.UKSouth","INTERFLOWPRODA.WestEurope","INTERFLOWPRODA.WestUS","INTERFLOWPRODA.WestUS2","InternalToolsNonProd","InternalToolsProd","InternationalCloudLocalizationIncubation","InternationalEngineeringToolsNonProd","InternationalEngineeringToolsProd","InternetExplorerBuild","InteropEvents","InteropEventsCosmic","InterruptionManagementProd","InterruptionManagementTest","IntlPyrProd","Intune","IntuneMEMatMSNonProd","IntuneMEMatMSProd","InventoryManagement","InvoicePrintingTool","InvoicePrintingToolDefOut","invsharedservicesnonprod","invsharedservicesprod","InXileDev","InXileProd","InXTest","IonianPlatform","IonianPlatformNonProd","IoTDeviceUpdateCenter","IPaaS","IPAKPROD","IPAMNonProd","IPAMNonProd.CentralUS","IPAMNonProd.EastAsia","IPAMNonProd.EastUS","IPAMNonProd.EastUS2","IPAMNonProd.NorthCentralUS","IPAMNonProd.SouthCentralUS","IPAMNonProd.WestEurope","IPAMNonProd.WestUS","IPAMNonProd.WestUS2","IPAMNonProd.WestUS3","IpDomainMgmtTest","IPIdentityDev","IPLAServiceNprd","IPLAServicePRD","IpmiScanner","IPSuccessCenter","Iridias","IridiasPPE","IridiasTest","IrisCommunicationService","IrisCommunicationServiceINT","IrmIntTest","IRMSFTTag","IronRiverPreProd","IRwin","IRwinNonProd","ISDMWManagedIP","ISIMLabNonProd","iSIMTestNonProd","ISPDS","ISPlatformDev","ISPlatformProd","JavaEngineeringGroup","JawsPerf","jayna-dev-vm-service-tag","JpmcFrbSpoaVip","JTAProd","JunoLocalizationNonProd","JunoLocalizationProd","K8Bridge","K8BRIDGEDF","Kalypso","KalypsoTest","KevlarDevServiceTag","KevlarForLinuxDev","KevlarForLinuxExtDev","KevlarForLinuxExtTest","KevlarForLinuxTest","KevlarLicensingService","KevlarPolicyServiceTag","Keyfulfillment","KeyfulfillmentINT","KeyManagementService","KfcSuite","khl-nonprod","khl-prod","KMLCoreFrodo","KnowMeService","KnowMeServiceNonProd","KpecPublicIPServiceTag","KTIPTST","KTIPTSTCCIP","KTIPTSTEAIP","KTIPTSTEUIP","KTIPTSTSEAIP","KTIPTSTSINDIP","KTIPTSTWEIP","KubernetesConnectProd","KustoAnalytics","KustoOrchestrator","KustoorchestratorPPE","KustoorchestratorProd","L2OStampPlatform","L2OStampPlatformPPE","LaaSFabricConnectorNonProd","LaaSFabricConnectorProd","LaaSFabricOrionNonProd","LaaSFabricOrionProd","LaaSFabricRecyclingProd","LaaSFabricServiceNonProd","LaaSFabricServiceProd","LaasMTNonProd","LaasMTProd","LabelAnalytics","LabelService","LabelServiceNonProd","LaborManagement","LaborReferenceSystem","LaborReferenceSystemPPE","LaborReferenceSystemPROD","LaborReferenceSystemTest","lam-stylo","LastMile","LatteService","LaunchpadTestVM","LaunchpadTestVM.CentralIndia","LawfulProcessingGccVms","LawfulProcessingGccVmsDev","LayeredLocPipeline","LBIPfabricpoctestType304","LDC","LeadsNonProdPublicIPServiceTag","LeadsProdPublicIPServiceTag","LearnAirgap","LearnBrokenLink","LearnBrokenLink2","LearnBrokenLinkLocdev","LearnBrokenLinkPubDev","LearnBuildService","LearnBuildServiceLocDev","LearnBuildServicePubDev","LearnContentPublishingTest","LearnPlatformAPI","LearnPlatformAPILocDev","LearnPlatformAPIPubDev","LearnRendering","LearnSearchService","LearnTaxonomyNonProd","LearnTaxonomyProd","LearnTrainingDev","LearnTrainingPubdev","LearnTrainingPublic","LegacyAssetProd","LegacyAuxNonProd","LegacyAuxProd","LegacyGamingDataPlatform","LegalRetention","LensGenAI-NonProd","LENSGenAI-Prod","LexPlatformProd","LibraryAdminManagement","LimbServiceNonProdPublicIPs","LIQLPTProd","LitigationService","LLM4EduVM","LLMReviewGenerator","LMLeadAcquisitionNonProd","LMLeadAcquisitionProd","LMLeadRoutingNonProd","LMLeadRoutingProd","LMSPPE","loadBalancers","LOBToolsEngineeringTeam","LocalizationImpactMonitoring","LocationServicesNonProd","LocationServicesProd","LogCollectorFunctionApp","LogCollectorFunctionAppTest","LogicApps","LogicAppsManagement","LORMCXP","LoyaltyEnrollment","LoyaltyEnrollmentNonProd","LoyaltyEnrollmentProd","LUISprod","LumosInt","LumosPPE","LumosProd","M365AbuseDetector","M365ACELab","M365ActivityGenerator","M365AdminCenterNonProd","M365AdminCenterProd","M365AntispamCore","M365AntispamCoreTest","M365AppCatalogServicesNonProduction","M365AppComplianceServiceTagNP","M365AppComplianceServiceTagProd","M365AppManagementNonProd","M365AppManagementProd","M365AppsAdminServicesPRV","M365AppsInventoryandHealth","M365AppsInventoryandHealthPPE","M365Auditing","M365AuditingPPE","M365AuditingTest","M365CapeLab","M365CDPFrontend","M365CDPFrontendPPE","M365CDPFrontendTest","M365ClassDEV","M365ClassPPE","M365CLASSProd","M365CommerceMgmt","M365CommerceMgmtAircapi","M365CommerceMgmtProdPrv","M365ComplianceNonProd","M365ComplianceProd","M365ContentExperience","M365CopilotPromptLibraryINT","M365CopilotPromptLibraryINTOutbound","M365CopilotPromptLibraryPROD","M365CopilotPromptLibraryPRODOutbound","M365CustomerKeyEncryption","M365CustomerKeyEncryptionNonPROD","M365DataMgmtDEV","M365DataMgmtPROD","M365DevPortals","M365DevPortalsEdog","M365DevPortalsTst","M365DevProgramAndPortal","M365DigitalEscort","M365DReportingServices","M365DUebaDev","M365DUebaProd","m365dXdr","m365dXdrNonProd","M365EAPBuildoutDev","M365EAPBuildoutProd","M365EAPBuildoutTest","M365EDS","M365FleetAGC","M365GDPRNonProd","M365GDPRProd","M365GearCxE","M365HaaSOsandSKU1es","M365HaaSOsandSKUWGS","M365LighthouseNonProd","M365LighthouseProd","M365MaaS","M365MaaS.EastUS","M365MaaS.WestUS","M365ManagementActivityApi","M365ManagementActivityApiWebhook","M365MDOKnowledgeEngineering","M365MDOKnowledgeEngineeringTest","M365MonitoringInfraNonProd","M365NetPerf","M365NetPerfPPE","M365Pulse","M365PulsePPE","M365RCA","M365RCAPPE","M365RemoteDesktopGateway","M365RemoteDesktopGatewayPPE","M365RemoteDesktopGatewaySovbase","M365ResearchNonProd","M365SecureCodePPE","M365SecureCodeProd","M365ServiceAuth","M365ServiceAuthPPE","M365ServiceAuthTest","M365ServiceCommsBI","M365ServiceHealthGallatinServices","M365ServiceHealthPPEServices","M365ServiceHealthProdServices","M365ServiceOperationandTelemetryDataNonProd","M365ServiceOperationandTelemetryDataStandardization","M365ServiceSafetyStorageDEV","M365ServiceSafetyStoragePPE","M365ServiceSafetyStorageProd","M365SNDS","M365SNDSTest","M365SRT","M365SupportFormsServicePPE","M365SupportFormsServicePROD","M365SupportServicePPE","M365SupportServicePROD","M365TrsBuildoutDev","M365TrsBuildoutProd","M365TrsBuildoutTest","M365TrsSubsMgmtDev","M365TrsSubsMgmtProd","M365TrsSubsMgmtTest","M365VFVIP","M365VulnScan","M365Watchtower","M365XsiApiPublicNonProd","M365XsiApiPublicProd","MaccServiceNonProd","MaccServiceProd","MachineConfigurationProd","MADS","magicinfovms","maia-a100","maia-api","maia-api-docker","maia-api-gpu","maia-bots-2","ManagedDevopsPool","ManagedEnvironment","ManagedFiles","ManagedHSM","ManagedNVA","management","managementNonProd","ManageNCOEDev","ManagerConversationTool","MangoCrawler1","MangoCrawler2","MantisPlatform","MantisPlatformProd","MantisService","MantisServiceNonProd","MapsTrafficData","MapTestAPP","MAPToolkitAzureService","Marketplace","MarketplaceAgencyFeeTool","MarketWatchNonProd","MarketWatchProd","MarlinAndEnrichmentsNonProd","MarlinAndEnrichmentsProd","MarlinControlPlane","MarlinDevControlPlane","MarlinDevControlPlane.EastUS","MarlinDevControlPlane.EastUS2","MarlinDevControlPlane.WestUS","MarlinDevControlPlane.WestUS2","MarlinDevControlPlane.WestUS3","MASTApiINT","MASTApiPROD","MBCNonProd","MBCProd","MBSDynamicsProd","MBSNONPROD","MBSPROD","MC4SovTelemetry","mcaidentity","MCAPICPLPPE","MCAPILMSPPE","mcapscapabilitycatalogNonprod","mcapsdetestenvironmentservicetag","MCAPSMyWorkspace","MCAPSNonProd","MCAPSProd","MCCAzureHosted","MCDTservice","MCFulfillmentFrontDoorAircapi","MCFulfillmentFrontDoorInt","MCFulfillmentFrontDoorProd","MCICSOL","MCIOCaPlaZeroTouchPlanningServiceProd","MCIOCaPlaZeroTouchPlanningServiceProd.WestUS3","MCIOCaPlaZeroTouchPlanningServiceTest","MCIOCaPlaZeroTouchPlanningServiceTest.EastUS","MCIOCaPlaZeroTouchPlanningServiceTest.EastUS2","MCIOCaPlaZeroTouchPlanningServiceTest.WestUS2","MCIOCaPlaZeroTouchPlanningServiceTest.WestUS3","MCIO-CIH-ArgusService","MCIODCX","McRelNotesPpe","McRelNotesProd","MCT","MCTSBridgeProd","MCTSConnectorsProd","MCTSEnginesProd","MDAInboundDEV","MDAInboundPRD","MDAInboundSTG","MDAOutboundDEV","MDAOutboundPRD","MDAOutboundSTG","MdcDspmScanPlatform","MdcDspmScanPlatformDev","mdeamarketplaceip","MDEASM","MDEASMDEV","MDEASMPPE","MDECommon","MdeEdrPRD","MdeEdrStg","MDEEHRGTAGTS","MDEEHRGTAGTSNONPROD","MDEForiOS","MDEforLinuxNonProd","MDEforLinuxProd","MDEforWSLNonProd","MdeMobileNonProd","MDEPBuildES","MdepExtMgmt","MDISPROD","MDMToolsNonProd","MDMToolsProd","MDOCIST1","MDOFCS2SNP","MDOLabs","MDOOneCatalogStreaming","MdoPostBreach","MdoPostBreachAir","MdoPostBreachOneIncident","MdoPostBreachPdep","MdoPostBreachRemediation","MDPChina","mdscdevips","MDSDQSNonProdPublicIPTag","MDSNonProd","MDSProd","MeControl","MediaCreationServicesNonProd","MediaCreationServicesProd","MediaDWTransferService","MediaServicesTest","MediationMMS","MEEventsServicesNonProd","MelioraDealManagement","MemberSharingPpe","MemberSharingProd","MemberSharingTest","MembershipViewServiceNonProd","MEMSellerExperiencePPE","MEMSellerExperiencePROD","MEMSellerExperienceUAT","MerlinBot","Messaging","MessagingCatalog","MessagingConnectors","MessagingConnectorsTest","MessagingPlatform","MessagingPlatformTest","MetagraphDEV","MetagraphPPE","MetagraphPROD","MetaswitchSTICA","MfgManager","MHFCorp","MHFProd","MICHRISEAIOpsPPEAKS","MicrosoftAcquisition","MicrosoftAIElasticAP","MicrosoftAIElasticAP-PF","MicrosoftAIMsftCorp","MicrosoftAIOtherPME","MicrosoftAzureFluidRelay","MicrosoftBookings","MicrosoftCloudApiSecurity","MicrosoftCloudAppSecurity","MicrosoftCloudAppSecurityInternal","MicrosoftCloudAppSecurityNonProd","MicrosoftCloudStandards","MicrosoftCloudStandardsDev","MicrosoftCloudStandardsPPE","MicrosoftCloudStandardsScratch","MicrosoftCommunityTrainingNonProd","MicrosoftConnectedCacheUserRpCanary","MicrosoftConnectedCacheUserRpNonPROD","MicrosoftConnectedCacheUserRpPrivateRP","MicrosoftConnectedCacheUserRpPROD","MicrosoftConnectivityTool","MicrosoftConnectivityToolPPE","MicrosoftContainerRegistry","MicrosoftContainerRegistry.AustraliaEast","MicrosoftContainerRegistry.AustraliaSoutheast","MicrosoftContainerRegistry.AustriaEast","MicrosoftContainerRegistry.BelgiumCentral","MicrosoftContainerRegistry.BrazilSouth","MicrosoftContainerRegistry.BrazilSoutheast","MicrosoftContainerRegistry.CanadaCentral","MicrosoftContainerRegistry.CanadaEast","MicrosoftContainerRegistry.CentralIndia","MicrosoftContainerRegistry.CentralUS","MicrosoftContainerRegistry.CentralUSEUAP","MicrosoftContainerRegistry.ChileCentral","MicrosoftContainerRegistry.DenmarkEast","MicrosoftContainerRegistry.EastAsia","MicrosoftContainerRegistry.EastUS","MicrosoftContainerRegistry.EastUS2","MicrosoftContainerRegistry.EastUS2EUAP","MicrosoftContainerRegistry.EastUS3","MicrosoftContainerRegistry.EastUSSLV","MicrosoftContainerRegistry.EastUSSTG","MicrosoftContainerRegistry.FranceCentral","MicrosoftContainerRegistry.FranceSouth","MicrosoftContainerRegistry.GermanyNorth","MicrosoftContainerRegistry.GermanyWestCentral","MicrosoftContainerRegistry.IndiaSouthCentral","MicrosoftContainerRegistry.IndonesiaCentral","MicrosoftContainerRegistry.IsraelCentral","MicrosoftContainerRegistry.IsraelNorthwest","MicrosoftContainerRegistry.ItalyNorth","MicrosoftContainerRegistry.JapanEast","MicrosoftContainerRegistry.JapanWest","MicrosoftContainerRegistry.JioIndiaCentral","MicrosoftContainerRegistry.JioIndiaWest","MicrosoftContainerRegistry.KoreaCentral","MicrosoftContainerRegistry.KoreaSouth","MicrosoftContainerRegistry.MalaysiaSouth","MicrosoftContainerRegistry.MalaysiaWest","MicrosoftContainerRegistry.MexicoCentral","MicrosoftContainerRegistry.NewZealandNorth","MicrosoftContainerRegistry.NorthCentralUS","MicrosoftContainerRegistry.NortheastUS5","MicrosoftContainerRegistry.NorthEurope","MicrosoftContainerRegistry.NorwayEast","MicrosoftContainerRegistry.NorwayWest","MicrosoftContainerRegistry.PolandCentral","MicrosoftContainerRegistry.QatarCentral","MicrosoftContainerRegistry.SouthAfricaNorth","MicrosoftContainerRegistry.SouthAfricaWest","MicrosoftContainerRegistry.SouthCentralUS","MicrosoftContainerRegistry.SouthCentralUS2","MicrosoftContainerRegistry.SouthCentralUSSTG","MicrosoftContainerRegistry.SoutheastAsia","MicrosoftContainerRegistry.SoutheastUS","MicrosoftContainerRegistry.SoutheastUS3","MicrosoftContainerRegistry.SoutheastUS5","MicrosoftContainerRegistry.SouthIndia","MicrosoftContainerRegistry.SouthwestUS","MicrosoftContainerRegistry.SpainCentral","MicrosoftContainerRegistry.SwedenCentral","MicrosoftContainerRegistry.SwedenSouth","MicrosoftContainerRegistry.SwitzerlandNorth","MicrosoftContainerRegistry.SwitzerlandWest","MicrosoftContainerRegistry.TaiwanNorth","MicrosoftContainerRegistry.TaiwanNorthwest","MicrosoftContainerRegistry.UAECentral","MicrosoftContainerRegistry.UAENorth","MicrosoftContainerRegistry.UKSouth","MicrosoftContainerRegistry.UKWest","MicrosoftContainerRegistry.WestCentralUS","MicrosoftContainerRegistry.WestEurope","MicrosoftContainerRegistry.WestIndia","MicrosoftContainerRegistry.WestUS","MicrosoftContainerRegistry.WestUS2","MicrosoftContainerRegistry.WestUS3","MicrosoftContainerRegistryOnboarding","MicrosoftContainerRegistryOnboardingTest","MicrosoftContentIntegrity","MicrosoftDatadog","MicrosoftDefenderForCloud","MicrosoftDefenderForCloudNonProd","MicrosoftDefenderForCloudProd","MicrosoftDefenderForDevOps","MicrosoftDefenderForDevOpsTest","MicrosoftDefenderForEndpoint","MicrosoftDefenderThreatIntelligence","MicrosoftDefenderThreatIntelligencePPE","MicrosoftDefenderThreatIntelligenceTESTING","MicrosoftDiagnosticsRP","MicrosoftDiagnosticsRPAITS","MicrosoftEmailOrchestrator","MicrosoftEventsNonProd","MicrosoftEventsProd","MicrosoftExperts","MicrosoftIcMMobileAppServicesPPE","MicrosoftIcMMobileAppServicesProd","MicrosoftIdentityBuildoutTest","MicrosoftIntune","MicrosoftMathDev","MicrosoftMathProd","MicrosoftMathStaging","MicrosoftMesh","MicrosoftMeshESNonProd","MicrosoftMeshLabsNonProd","MicrosoftMesh-NonProd","MicrosoftNaaS","MicrosoftPersonnel","MicrosoftPersonnelNonProd","MicrosoftPlaywrightTestingBrowserOutbound","MicrosoftPlaywrightTestingBrowserOutboundCanaryInternal","MicrosoftPlaywrightTestingBrowserOutboundNightlyInternal","MicrosoftPlaywrightTestingBrowserOutboundNonProd","MicrosoftPlaywrightTestingFESCanaryInternal","MicrosoftPlaywrightTestingFESNightlyInternal","MicrosoftPlaywrightTestingFESNonProd","MicrosoftPlaywrightTestingFESProdInternal","MicrosoftPlaywrightTestingReportingCanaryInternal","MicrosoftPlaywrightTestingReportingNightlyInternal","MicrosoftPlaywrightTestingReportingNonProd","MicrosoftPlaywrightTestingReportingProdInternal","MicrosoftPlaywrightTestingRPCanaryInternal","MicrosoftPlaywrightTestingRPNightlyInternal","MicrosoftPlaywrightTestingRPNonProd","MicrosoftPlaywrightTestingRPProdInternal","MicrosoftPlaywrightTestingServiceCanaryInternal","MicrosoftPlaywrightTestingServiceNightlyInternal","MicrosoftPlaywrightTestingServiceNonProd","MicrosoftPlaywrightTestingServiceProdInternal","MicrosoftPlaywrightTestingWebappNonProd","MicrosoftPrivacyServices","MicrosoftPrivacyServicesInternal","MicrosoftPrivateIPSpace","MicrosoftPSTN","MicrosoftPublicIPSpace","MicrosoftPurviewPolicyDistribution","MicrosoftPurviewPolicyDistribution1P","MicrosoftPurviewPolicyDistribution1PNonProd","MicrosoftPurviewPolicyDistribution3P","MicrosoftPurviewPolicyDistribution3PNonProd","MicrosoftSearchInBing","MicrosoftSearchInBingProd","MicrosoftTeams","MIDWVDIP","MigProbeVMs","MigrationApiProd","MigrationManagerPlatformProd","MigrationManagerPlatformTest","MikeChanSubsContainer","MIM","MinecraftBuildResourcesPPE","MinecraftMarketplace","MinecraftMarketplacePPE","MinecraftPlayerCareServices","MinecraftPlayerCareServicesPPE","MinecraftSystemsEngineering","MiniSRP","MIPInternalSubscription","MipServiceInternal","MipServiceInternalPPE","MissionControlPPE","MissionControlProdPME","MissionEmbark","MissionTrustAssuranceCenter","MITHCloud","MixedRealityDelegatedResourceAccessManager","MixedRealityDelegatedResourceAccessManagereProviderPPE","MixedRealityDelegatedResourceAccessManagerProvider","MixedRealityDelegatedResourceAccessManagerProviderPPE","MixedRealityResourceProvider","MixedRealityResourceProviderPPE","MixedRealitySecureTokenService","MixedRealitySecureTokenServicePPE","mkgcreditservicenonprod","mkgcreditserviceprod","mkmslic-nonprod","mkmslic-prod","mldd","mlfoundations","MLInferencingService","MLIS","MLSandConfigDriftAnalyticsPPE","MLSKVMInfraServiceTag","mlxSecurityAutomation","MMAutoServiceTagPPE","MMAutoServiceTagProd","MobyServiceTag","ModelDirectoryService","ModelDirectoryService-PPE","ModernAssetNonProd","ModernAssetProd","ModernBatchTool","ModernCashFLowINT","ModernCashFlowPROD","ModernContactCatalog","ModernDealManagementNonProd","ModernDealManagementProd","ModernDRS","ModernEffectiveConfigurationNonProd","ModernEffectiveConfigurationProd","ModernEInvoicingService","ModernEventsNonProd","ModernEventsProd","ModernInvoicingInt","ModernInvoicingProd","ModernPredictionNonProd","ModernPredictionProd","ModernRiskNonProd","ModernRiskProd","ModernSourceServiceNonProd","ModernSourceServiceProd","ModernTaxReceipts","ModernTokenServiceNonProd","ModernTokenServiceProd","MonetizationInt","MonetizationPPE","MonetizationProd","MonetizationService","MonetizationServiceINT","MonitoringAgent","MORNonProd","MoviesAndTvVideoServiceCorpnetGW","MPAgencyFeeTool","MPAgencyFeeToolProd","MPCertOpsNonProd","mptdev","mptinf","mptuat","MRCDP-AVandIOTtelemetryPIP","MroBackendProd","MRTIntelligence","MSA","MSAAccountAndSignupNonProd","MSAAccountAndSignupProd","MSaaSAgentPPE","MSaaSAgentPROD","MSaaSAPIMPPE","MSaaSAPIMPROD","MSaaSCasePPE","MSaaSCasePROD","MSaasChatConfigurationProd","MSaasChatQueuingINT","MSaasChatQueuingProd","MSaaSDTMPPE","MSaaSDTMPROD","MSaaSEntitlementService","MSaaSEntitlementService.WestUS2","MSaaSEntitlementServiceNonProd","MSaaSEntitlementServiceNonProd.EastUS","MSaaSEntitlementServiceNonProd.WestUS2","MSaaSPortalPPE","MSaaSPortalPROD","MSaaSQueryServicePPE","MSaaSQueryServicePROD","MSaaSRulesPPE","MSaaSRulesPROD","MSAIClientPlatform","MSAIDataCompliantDatasets","MSAILU","MSAIResearch","MSAMarketingAnalytics","MSANonProd","MSANonProdPublic","MSAPublic","MSCNonProduction","MSCorpLabDeepku","MSCProduction","MSDContentCollaboration","MSecADAPTAI","MSECON","MSFTArchives","MsftAzVPN","MSfTC","MSFTCRMSUPPORT","MSFTDataDistributionServicePIP","MSFT-Devices-Manufacturing","MSFTDigitalPrintServicePIP","MSFT-MSVoiceService-01","MSFTRR","MSFTRRNonProd","MSFTUkraine","MSIDLabs","MSINonProd","MSISVAIUS-NonProd","MSITAzDCEdge","MSITERGWPIPDev","MSKeysNonProd","MSNContentDistributionPlatform","MSNDnI","MSNIACorp","MSNIATorus","MSNPROD","MSNSAND","MsOper","MSPHData","MSPHOph","MSPkiNonProduction","MSPkiProduction","MSProtect","MSRAVancouverSharedService","MSRBurstableTestTag","MSRCAdversaryEmulationPPE","MSRCAdversaryEmulationPROD","MSRCGreymatter","msrcmt-centralus-firewall-ip","msrcmt-firewall-ip","MSRCopilot","MsrcProjectSilica","MSRCSubscriptionContainer","MSRCVigilensPPE","MSRCWeb","msrhub-service-tag","MSRHWLabWebSite","msrins","MSRNEInfra","MSRNEMobius","MSRNEReverseHomology","MSRProjectPrometheus","MSSalesBizopsNonProd","MSSalesVnet","MSScanner","MSTenantITBuild","MSTenantITProd","MSTenantITProdExt","MsticSignals","MsticSignalsNonProd","mstpilot","mstprod","MSVacation","MS-VacationST","MSVACUSCENTRALIP","MSWWLAskLearningPvtApp","MSXDealAssistance","MTISBERNP","MTPDataFramework","MTPShared","MTPSharedNonProd","MTS","MTS.CentralUS","MTSEastUS","MTSNorthEurope","MTSSoutheastAsia","MTSWestUS","mturk3","MultiCustomerBriefingsService","MUv6CommonV4Dev","MUv6CommonV4Df","MUv6CommonV4Prod","MUv6CupsWebV4Dev","MUv6CupsWebV4Df","MUv6CupsWebV4DfWestUS","MUv6CupsWebV4Prod","MUv6FEWebV4Dev","MUv6FEWebV4Df","MUv6FEWebV4Prod","MUv6FEWebV6Dev","MUv6FEWebV6Df","MUv6FEWebV6Prod","MUv6OriginV4Dev","MUv6OriginV4Df","MUv6OriginV4Prod","MUv6PubWebV4Dev","MUv6PubWebV4Df","MUv6PubWebV4Prod","MUv6RedirV4Prod","MVD-07-WS","MVDCORP","MVDCORPNONPROD","MVD-EU-Data-Boundary","MvsIntInbound","MvsIntOutbound","MvsPodIntInbound","MvsPodIntOutbound","MvsPodPpeInbound","MvsPodPpeOutbound","MvsPodProdInbound","MvsPodProdOutbound","MvsPpeInbound","MvsPpeOutbound","MvsProdInbound","MvsProdOutbound","MWAIService","MWAIServicePPE","MWCompeteDataBricksIP1","MWCompeteERNetworkIP1","MWSupportabilityService","MycroftIslandFish","myEBCLotus-CORP-WUS2-PIP-5424","MyWorkspace","myworkspace-wsd","NatGateway","NdrPrd","NdrStg","NebulaIntelligenceEngineNonProd","NebulaIntelligenceEngineProd","NetAIServiceTag","NetCloudPlatforms","NetEmDev","NetEmProd","NetEmStaging","NetSimMystPPE","NetSimMystProd","NetStreamDev","NetStreamPPE","NetStreamProd","netvmasslbip","NetworkAGC","NetworkChangeValidationServiceProd","NetworkCloud","NetworkCloudDev","NetworkCloudSandbox","NetworkCloudStaging","NetworkCloudTest","NetworkCopilot","NetworkIntentServicesDev","NetworkInterface","NetworkLabServicesEML","NetworkProviderProgram","NetworkProviderProgramPPE","NetworkResourceProvider","NetworkTokenizationService","NetworkTokenizationServiceINT","NetworkVirtualexperienceContainerAppDev","NetworkVirtualeXperienceContinerApp","NetworkWatcher","NetworkWatcherSynthetics","NewCommerceQuoteService","NewsIngestionServices","newskuinfra","NewsMegaAKSIP","NexusNetworkFabric","NexusNetworkFabricDev","NGPPDOS","NGVLPPE","NiceSystemEngineering","NinjaTheoryTest","NlEditorNonProd","NlEditorProd","NLPResearch","NonProd","NonProdEnterpriseReportingService","NonProdIST","NonProdTenantManagementServices","NonprofitCommunityPROD","NonprofitOffersINT","NonprofitOffersPROD","NotebookProxyCorp","NotebookProxyCorp.EastUS","NotebookProxyInt","NotebookProxyInt.EastUS","NotebookProxyInt.WestUS","NotebookProxyPublic","NotebookProxyPublic.EastUS","NotebookProxyPublic.WestUS","Notebooks","NotificationHubs","NPRSINT","NsmPlus","NSWHealthRoleBasedMessagingPilot","ntqfedevMigrationExpressRoute","NuGetServicePROD","NunatakDev","NunatakProd","NWTAHDClusters","NWTANonProd","NWTANon-Prod","NWTAProdTest","NWTARunners","NWTAServiceFabric","O365AuditAADIngestionEsts","O365AuditAADIngestionEstsTest","O365AuditAADIngestionMsods","O365AuditAADIngestionMsodsTest","O365AuditAdmin","O365AuditAdminPPE","O365AuditAdminTest","O365AuditCDPDataRouter","O365AuditCDPDataRouterPPE","O365AuditCDPDataRouterTest","O365AuditCDPIngestion","O365AuditCDPIngestionPPE","O365AuditCDPIngestionTest","O365AuditCDPMaintenance","O365AuditCDPMaintenancePPE","O365AuditCDPMaintenanceTest","O365AuditDataRouter","O365AuditDataRouterCdp","O365AuditDataRouterCdpPPE","O365AuditDataRouterCdpTest","O365AuditDataRouterPPE","O365AuditDataRouterTest","O365AuditDispatcher","O365AuditDispatcherPPE","O365AuditDispatcherTest","O365AuditIngestion","O365AuditIngestionPPE","O365AuditIngestionTest","O365AuditIRT","O365AuditIRTPPE","O365AuditIRTTest","O365AuditMaintenance","O365AuditMaintenancePPE","O365AuditMaintenanceTest","O365AuditNrtDataInsights","O365AuditNrtDataInsightsPPE","O365AuditNrtDataInsightsTest","O365AuditPumper","O365AuditPumperPPE","O365AuditPumperTest","O365AuditSearchApi","O365AuditSearchApiPPE","O365AuditSearchApiTest","O365AuditSingleAlert","O365AuditSingleAlertPPE","O365AuditSingleAlertTest","O365DNSDEV","O365DNSPPE","O365DNSPROD","O365MarsApprovalService","O365MarsApprovalServiceProd","O365MarsAutopilotProd","O365MarsDLSNonProd","O365MarsDLSProd","O365MarsERMNonProd","O365MarsERMProd","O365MarsESSProd","O365MarsLighthouse","O365MarsLighthouseNonProd","O365MarsODFCNonProd","O365MarsODFCProd","O365MarsODPGProd","O365MarsQASNonProd","O365MarsTEEM2HProd","O365MarsTESTNonProd","O365MarsWKWNonProd","O365SCS","O365SLAMNonProd","O365SLAMProd","OacmsPpe","OacmsProd","OAIML","OBAR","Obligation","Obligation-Halo-Data-Activity-Provider","ObsidianProd","OCCServicesPPE","OCCServicesPROD","OCDCCLoadTest","oceoservice","OCFLFulfillmentService","OCSANonProd","OCSAProd","OCWebOpsAzureBlogProdTag","OCWebOpsBlogProdTag","OCWebOpsNonProdTag","OCWebOpsProdLegacyTag","OCWebOpsProdTag","ODAIDev","ODAIProd","odata","ODCEAPTest","ODEFCSTProd","ODINML","ODL-NonProd","ODPGPPE","OdspClmProd","OdspClmTest","ODSPCloudTest","ODSPCloudTestODC","ODSPCloudTestSPO","ODSPFLASHFFT","ODSPFLASHSPOFilePerf","ODSPFLASHTransferPerformance","ODSPGLSProd","ODSPGLSTest","ODSPIDCAnalyticsandIntelligence","ODSPIDCAnalyticsandIntelligenceTest","ODSP-IDC-Platform-SubscriptionContainer","OdspKmsSpoProd","OdspKmsSpoTest","ODSP-MicroservicesContainerCommon-NonProd","ODSPPE","ODSPPhotos","OdspProtect","ODSPProtectAlm","OdspProtectAlmTEST","OdspProtectDEV","OdspProtectHyperNet","OdspProtectTest","ODSPreProd","ODSProdAndEudb","ODSPSandbox","ODSPSharepointMeTA-NonProd","ODSPSharepointMeTA-Prod","ODSP-SharepointNotifyProd","ODSPSpoSyntheticsNonProd","ODSPSpoSyntheticsProd","ODSPVMImagePipeline","ODSPWebEngineering","ODSSDF","ODSSyncNonProd","ODSSyncProd","odst-fireballbrady-snipe","OE1JSAutomation","OE1JSCore","OECompassExternalProdST","OEMCatalogNonPROD","OEMCommonNonPROD","OEMCommonPROD","OEMDigitalContractingNonPROD","OEMDigitalContractingPROD","OEMFulfillmentNonPROD","OEMFulfillmentPROD","OEMOrderingNonPROD","OEMOrderingPROD","OEMReportingNonPROD","OEMReportingPROD","OFEData","OfficeAdoProxyPPEDrop","OfficeAdoProxyPPEGvfs","OfficeAdoProxyPRDDrop","OfficeAdoProxyPRDGvfs","OfficeAIR","OfficeAITraining","OfficeEngineering","OfficeExperimentation","OfficeHomePPE","OfficeHomeProd","OfficeHomeProdPrv","OfficeImageToDocNonProd","OfficeImageToDocProd","OfficeInsightsServices","OfficeInsightsServicesNonProd","OfficeKaizalaMessaging","OfficeOnlineInternal","OfficeOnlineTest","OfficePerformanceAnalyzerService","OfficePerformanceServices","OfficePowerPointBroadcastService","OfficePowerPointBroadcastServiceNonProd","OfficePy","OfficePyTest","OfficeScripts","OfficeScriptsInt","OfficeScriptsTest","OfficeShell","OfficeShellTest","OfficeStoreValidationEDog","OfficeStoreValidationInt","OfficeStoreValidationProd","OffKite","OIPSTDBWOIP01DBEUS2PIP14090","OlkAI","olkaieastusk8s","OlkWebExportAgent","OLSProvisioningVLI","OMEX","OmexExternalEDog","OmexExternalInt","OmexExternalProd","OmexInternalEDog","OmexInternalInt","OmexInternalProd","OmnichannelAssignment","OmniverseVM","OMSCatalogINT","OMSCatalogPROD","OMSCESINT","OMSCESPROD","OMSCRESTINT","OMSCRESTPROD","OMSEntitlementINT","OMSEntitlementPROD","OMSFulfillmentINT","OMSFulfillmentPROD","OMSGatewayINT","OMSGatewayPROD","OMSNewCommerceINT","OMSNewCommercePROD","OMSOrderingINT","OMSOrderingPROD","OMSOrderingSanya","OMSSubscriptionBridgeINT","OMSSubscriptionBridgePROD","OneAsset","onebpmppe","onebpmprod","OneBranch","OneCertNonProd","OneCogsMsri","OneCommercialAzuregovernance","onecustomervoicenonprod","onecustomervoiceprod","OneDeployFCM","OneDeployOaasQualification","OneDriveAndroidClient","OneDriveLTIPPE","OneDriveLTIProd","OneDsCollector","OneDsCollectorInt","OneFinanceReporting","OneFleetEdgeDev","OneFleetEdgeProd","OneFuzzIngestionCanary","OneFuzzIngestionDaily","OneFuzzIngestionProd","OneFuzzNonProd","OneFuzzProd","OneGDCGEPprojectIntakeforms","OneLTIInt","OneLTIPPE","OneLTIProd","OnePubClassicPPE","OnePubClassicProd","OnePubClassicTest","OnePubContentAgnosticPPE","OnePubContentAgnosticProd","OnePubContentAgnosticTest","OnePubEsrpPPE","OnePubEsrpProd","OnePubESRPTest","OnePubMuv6PPE","OnePubMuv6Prod","OnePubMuv6Test","Onepubng-Proto-Main","OneRFNonProd","OneRFProd","OneRouteGold","OneSSDev","OneSSPPE","OneSSProd","ONETIINTERFLOWINTVA","ONETIINTERFLOWPPROD","ONETIINTERFLOWPRODA","OneVoiceVoiceMail","OneVoiceVoiceMail.EastUS2","OneVoiceVoiceMail.JapanEast","OneVoiceVoiceMail.NorthEurope","OneVoiceVoiceMail.SoutheastAsia","OneVoiceVoiceMail.WestEurope","OneVoiceVoiceMail.WestUS2","OnPremSETag","OpenAI","OpenPlanetaryComputer","OpenPlanetaryComputerTest","OperationDecisionRuntime","OperationDecisionRuntimeInt","OperationDecisionRuntimePPE","OPGComplianceAndInterop","OPGNonProd","OPGNonProdBE","OPGNonProdFE","OPGProdBE","OpopiProd","OpportunityManagementNonProd","OpportunityManagementProd","OpticalServiceTag","OracleAtScaleAssessments","OrcaNonProd","ORCASCSS","OrderingDataPlatform","OrderingDataPlatformPPE","OrderingEMSLPPE","OrderingEMSLPROD","OrderingEventsAndNotification","OrderingPOETPPE","OrderingPOETPROD","OrderingPurchaseTransactions","OrderingPurchaseTransactionsPPE","OrderingSharedServiceNP","OrderingSharedServiceP","OrderingSharedServicesPPE","OrderingSharedServicesPROD","OSaaC","OSCompatExS","OSDemand","OSDemandV2Common","Osefo","OSENonProd","OSEProd","OSIImmersiveReader","OSPO","OutlookAndroidBuildTest","OutlookAndroidGradleEnterprise","OutlookDataPlatform","OutlookWebInternal","OVCCorpINT","OVCPMEPPE","OVCPMEProd","OverlapProd","OVESNonProd","OVESNonProd.EastUS2","OVESNonProd.JapanEast","OVESNonProd.NorthEurope","OVESNonProd.SoutheastAsia","OVESNonProd.WestEurope","OVESNonProd.WestUS2","OVESProd","OXODataScience","PAND","PapyrusLearningPlatform","ParkingNonProd","ParkingProd","PartnerAccountsGraphNonProd","PartnerAccountsGraphProd","PartnerAccountsLiteINT","PartnerAccountsService","PartnerAwardsDev","PartnerBenefitDFMServiceTagPPE","PartnerBenefitsExperienceNonProd","PartnerCenterAccountsNonProd","PartnerCenterAccountsProd","PartnerCenterBillingService","PartnerCenterCatalogService","PartnerCenterCosellPublishingServiceNonProd","PartnerCenterEventingAndAuditServicePPE","PartnerCenterEventingAndAuditServicePROD","PartnerCenterFeedback","PartnerCenterFulfillmentServicePPE","PartnerCenterFulfillmentServicePROD","PartnerCenterIncentivesCustomerAssociationPPE","PartnerCenterIncentivesCustomerAssociationPROD","PartnerCenterPricelist","PartnercenterReferralManagementService","PartnerCenterReferralManagementServiceNonProd","PartnerCenterRelationshipServiceChina","PartnerCenterRelationshipServiceGlobal","PartnerCenterRelationshipServicePPE","PartnerCenterSupport","PartnerConfigTool","PartnerCustomerServiceAdministration","PartnerCustomerServiceAdministrationNonProd","PartnerCustomerServiceAdministrationPPE","PartnerCustomerServiceAdministrationPROD","PartnerIncentivesICENonProd","PartnerIncentivesICEProd","PartnerManagedConsumerRecurrenceRPINT","PartnerManagedConsumerRecurrenceRPProd","PartnerMasterNonProd","PartnerMasterProd","PartnerMembershipPurchaseExperience","PartnerMembershipPurchaseExperienceNonProd","PartnerOperationsPCIVnet","PartnerRBACDataFeedPPE","PartnerRBACDataFeedPROD","PartnerRBACFeedPPE","PartnerRBACFeedProd","PartnerTransact","PartnerTransactPPE","PASCoreInfra","PASOfficeAgentPool","PASPrototypeBYOCAgentPool","PASSelfOwnedAzureAgentPool","PatchingService","PaydataAzureIdentityProd","PayeeManagementProd","paymentds","PaymentExperienceServiceAIRCAPI","PaymentExperienceServicePPE","PaymentFraudServiceNonProd","PaymentFraudServiceProd","PaymentInstrumentFrontDoorNonProd","PaymentInstrumentFrontDoorProd","PaymentInstrumentManagementServiceNonProd","PaymentInstrumentManagementServiceProd","PaymentProviderNonProd","PaymentProviderProd","PaymentsDataPlatform","PaymentsDataPlatform.WestCentralUS","PaymentsDataPlatformNonProd","PaymentsDataPlatformNonProd.WestCentralUS","PaymentsEdgeInfraNonProd","PAYMENTSRECONPROD","PaymodNonProd","PaymodProd","PayoutsCorpNonProd","PayoutsCorpProd01","PayoutsCorpProd02","PayoutsPMENonProd","PayoutsPMEProd","PayoutsPMEUAT","PayrollConnectorsNonProd","PayrollConnectorsProd","PaystubProd","PBAServer","PBIGatewayAdminPortal","pBPA","PCECloudMGMTNonprod","PCECloudMGMTProd","PcecloudNetFw","PcecloudNetFwInt","PcecloudNetFwIntmgmt","PcecloudNetFwProd","PcecloudNetFwProdmgmt","PcecloudNetFwVip","PcecloudNetFwVipInt","PcecloudNetFwVipIntmgmt","PcecloudNetFwVipProd","PcecloudNetFwVipProdmgmt","PcecloudNetIesINT","PcecloudNetiesPROD","PcecloudNetKeyINT","PcecloudNetkeyPROD","PcecloudNetNatgtw","PcecloudNetNatgtwInt","PcecloudNetNatgtwIntmgmt","PcecloudNetNatgtwProd","PcecloudNetNatgtwProdmgmt","PcecloudNetPceINT","PcecloudNetpcePROD","PcecloudNetPceproxyINT","PcecloudNetpceproxyPROD","PcecloudNetPirelayINT","PcecloudNetpirelayPROD","PcecloudNetSvsINT","PcecloudNetsvsPROD","PcecloudNetTokenINT","PcecloudNetTokenPROD","PCENONPROD","PCEPROD","PCOSTSRENonProd","PDETSPublicIPAddress","PDMIntegration","PDMMPreprod","PDMMProd","PerceptionCloud","PerceptionCloudControlPlane","PerceptionCloudControlPlaneDev","PerceptionCloudControlPlanePPE","PerceptionCloudDev","PerceptionCloudPPE","PerfBaselineCopilotIP","PerfBaselineVMIP","perf-nonprod","PerforceServiceTag","PerfPanel","PerfTrack","PersonalSub1b7db7cd","PEServicesCorpINT","PEServicesPMEPPE","PEServicesPMEProd","PFClientAME","PFFDINT","PFFDPROD","PFInfra","PGS","PgwInt","PgwProd","PGWSNY","PhotoDNACloudServiceNonProd","PhotoDNACloudServiceProd","PhotosDnA","PHSMService","PhynetBuildout","PillarDiagnostics","PillarDiagnosticsNonProd","PilotfishCloudHardwareDiagnostics","PingD","PipelineAnalysisTool","pip-iaa-int-001","pipsonargatewaydev","PIStoreNonProd","PIStoreProd","PlannedMaintenance","PlannedMaintenanceNonProd","PlanningDev","PlatformSRESandboxEnvironment","PlayFab","PlayFabDev","PlayFabEconomy","PlayFabEconomyNonProd","PlayFabExperimentation","PlayfabGamplayServicesSharedInfra","PlayFabLobby","PlayFabMultiplayerServersControlPlane","PlayFabMultiplayerServersControlPlaneNonProd","PlayFabPartyTest","PlayFabPlaystream","PlayFabPublishSubscribe","PlayFabPubsub","PlayfabSdk","PlayfabSdk.WestUS2","PlaygroundNetworkingProd","PlaygroundNetworkingTest","PlaygroundProd","PlaygroundTest","PlayReadyActivationNonProd","PlayReadyActivationProd","PlayReadyDevelopmentSubscription","PlayReadyProductionServicesProd","PlayReadyProvisioningGatewayProd","PlayReadySecureClockProd","PlayReadyTestSiteAndDevProd","PLMInboundNonProd","PLMInboundProd","PLMOutboundNonProd","PLMOutboundProd","PMCDevTestDedicated","PMCProdControlPlane","PMCProdDataPlane","PMECEdge","PolymerNonProdRoles","PortalFDServicesINT","PortalFDServicesProd","PortalFDServicesTST","PowerAppsUCITest","PowerAutomatePortal","PowerBI","PowerBI.AustraliaCentral","PowerBI.AustraliaCentral2","PowerBI.AustraliaEast","PowerBI.AustraliaSoutheast","PowerBI.AustriaEast","PowerBI.BelgiumCentral","PowerBI.BrazilSouth","PowerBI.BrazilSoutheast","PowerBI.CanadaCentral","PowerBI.CanadaEast","PowerBI.CentralIndia","PowerBI.CentralUS","PowerBI.CentralUSEUAP","PowerBI.ChileCentral","PowerBI.DenmarkEast","PowerBI.EastAsia","PowerBI.EastUS","PowerBI.EastUS2","PowerBI.EastUS2EUAP","PowerBI.EastUS3","PowerBI.EastUSSLV","PowerBI.EastUSSTG","PowerBI.FranceCentral","PowerBI.FranceSouth","PowerBI.GermanyNorth","PowerBI.GermanyWestCentral","PowerBI.IndiaSouthCentral","PowerBI.IndonesiaCentral","PowerBI.IsraelCentral","PowerBI.IsraelNorthwest","PowerBI.ItalyNorth","PowerBI.JapanEast","PowerBI.JapanWest","PowerBI.JioIndiaCentral","PowerBI.JioIndiaWest","PowerBI.KoreaCentral","PowerBI.KoreaSouth","PowerBI.MalaysiaSouth","PowerBI.MalaysiaWest","PowerBI.MexicoCentral","PowerBI.NewZealandNorth","PowerBI.NorthCentralUS","PowerBI.NortheastUS5","PowerBI.NorthEurope","PowerBI.NorwayEast","PowerBI.NorwayWest","PowerBI.PolandCentral","PowerBI.QatarCentral","PowerBI.SouthAfricaNorth","PowerBI.SouthAfricaWest","PowerBI.SouthCentralUS","PowerBI.SouthCentralUS2","PowerBI.SoutheastAsia","PowerBI.SoutheastUS","PowerBI.SoutheastUS3","PowerBI.SoutheastUS5","PowerBI.SouthIndia","PowerBI.SouthwestUS","PowerBI.SpainCentral","PowerBI.SwedenCentral","PowerBI.SwedenSouth","PowerBI.SwitzerlandNorth","PowerBI.SwitzerlandWest","PowerBI.TaiwanNorth","PowerBI.TaiwanNorthwest","PowerBI.UAECentral","PowerBI.UAENorth","PowerBI.UKSouth","PowerBI.UKWest","PowerBI.WestCentralUS","PowerBI.WestEurope","PowerBI.WestIndia","PowerBI.WestUS","PowerBI.WestUS2","PowerBI.WestUS3","PowerBiBlogs","PowerBIPPE-BE","PowerBIPPE-MWC","PowerBIPPERD","PowerBIPPE-WFE","PowerBIUntrusted-MWC","PowerBIUntrustedPPE-MWC","PowerCapping","PowerCards","Powercmsnonprodmr","Powercmsprodmr","PowerPlatformControlPlaneNonProd","PowerPlatformControlPlaneProd","PowerPlatformInfra","PowerPlatformInfra.AustraliaEast","PowerPlatformInfra.AustraliaSoutheast","PowerPlatformInfra.BrazilSouth","PowerPlatformInfra.BrazilSoutheast","PowerPlatformInfra.CanadaCentral","PowerPlatformInfra.CanadaEast","PowerPlatformInfra.CentralIndia","PowerPlatformInfra.CentralUS","PowerPlatformInfra.EastAsia","PowerPlatformInfra.EastUS","PowerPlatformInfra.EastUS2","PowerPlatformInfra.FranceCentral","PowerPlatformInfra.FranceSouth","PowerPlatformInfra.GermanyNorth","PowerPlatformInfra.GermanyWestCentral","PowerPlatformInfra.IndonesiaCentral","PowerPlatformInfra.IsraelCentral","PowerPlatformInfra.ItalyNorth","PowerPlatformInfra.JapanEast","PowerPlatformInfra.JapanWest","PowerPlatformInfra.KoreaCentral","PowerPlatformInfra.KoreaSouth","PowerPlatformInfra.NewZealandNorth","PowerPlatformInfra.NorthEurope","PowerPlatformInfra.NorwayEast","PowerPlatformInfra.NorwayWest","PowerPlatformInfra.PolandCentral","PowerPlatformInfra.QatarCentral","PowerPlatformInfra.SouthAfricaNorth","PowerPlatformInfra.SouthAfricaWest","PowerPlatformInfra.SouthCentralUS","PowerPlatformInfra.SoutheastAsia","PowerPlatformInfra.SouthIndia","PowerPlatformInfra.SpainCentral","PowerPlatformInfra.SwedenCentral","PowerPlatformInfra.SwitzerlandNorth","PowerPlatformInfra.SwitzerlandWest","PowerPlatformInfra.UAECentral","PowerPlatformInfra.UAENorth","PowerPlatformInfra.UKSouth","PowerPlatformInfra.UKWest","PowerPlatformInfra.WestCentralUS","PowerPlatformInfra.WestEurope","PowerPlatformInfra.WestUS","PowerPlatformInfra.WestUS2","PowerPlatformInfraNonProd","PowerPlatformPlex","PowerPlatformPlex.AustraliaEast","PowerPlatformPlex.AustraliaSoutheast","PowerPlatformPlex.BrazilSouth","PowerPlatformPlex.BrazilSoutheast","PowerPlatformPlex.CanadaCentral","PowerPlatformPlex.CanadaEast","PowerPlatformPlex.CentralIndia","PowerPlatformPlex.CentralUS","PowerPlatformPlex.EastAsia","PowerPlatformPlex.EastUS","PowerPlatformPlex.EastUS2","PowerPlatformPlex.FranceCentral","PowerPlatformPlex.FranceSouth","PowerPlatformPlex.GermanyNorth","PowerPlatformPlex.GermanyWestCentral","PowerPlatformPlex.IndonesiaCentral","PowerPlatformPlex.IsraelCentral","PowerPlatformPlex.ItalyNorth","PowerPlatformPlex.JapanEast","PowerPlatformPlex.JapanWest","PowerPlatformPlex.KoreaCentral","PowerPlatformPlex.KoreaSouth","PowerPlatformPlex.NewZealandNorth","PowerPlatformPlex.NorthEurope","PowerPlatformPlex.NorwayEast","PowerPlatformPlex.NorwayWest","PowerPlatformPlex.PolandCentral","PowerPlatformPlex.QatarCentral","PowerPlatformPlex.SouthAfricaNorth","PowerPlatformPlex.SouthAfricaWest","PowerPlatformPlex.SouthCentralUS","PowerPlatformPlex.SoutheastAsia","PowerPlatformPlex.SouthIndia","PowerPlatformPlex.SpainCentral","PowerPlatformPlex.SwedenCentral","PowerPlatformPlex.SwitzerlandNorth","PowerPlatformPlex.SwitzerlandWest","PowerPlatformPlex.UAECentral","PowerPlatformPlex.UAENorth","PowerPlatformPlex.UKSouth","PowerPlatformPlex.UKWest","PowerPlatformPlex.WestEurope","PowerPlatformPlex.WestUS","PowerQueryOnline","PPCCopilotNonProd","PPCCopilotProd","ppeGDPRAgent","PQOInternal","PRAutoValidatorPPE","PRAutoValidatorPRD","PREDataBricksIPs","PredictiveAnalyticPPE","PredictiveAnalyticPROD","PricingAnalytics","PrivacyManagement","PrivacyTrout","PrivateCloudOverlay","PrivateDnsArg","PrivateDnsBilling","PrivateDnsGcp","PrivateDnsGcpPpe","PrivateDnsGcpTest","PrivateMobileNetwork","PrivateMobileNetworkNonProdInfra","PrivateSearchProxy","ProactiveTicketSystemNonProd","ProactiveTicketSystemProd","PROAIRSDataServicePpe","PROAIRSDataServiceProd","ProbationScreening","ProcessInvestigator","ProcurementDataAnalytics","ProcurementOps","prodGDPRAgent","ProdMajorPPE","ProdMajorProd","ProdMajorPrvw","ProdMajorTest","ProdMinorPPE","ProdMinorProd","ProdMinorPrvw","ProdMinorTest","ProdTenantManagementServices","ProductDataServicesPreProd","ProductionInfrastructureNonProd","ProductionInfrastructureProd","ProductionTenantAppGovernance","ProductionTenantAppGovernanceTest","ProductionTenantManagementSecurityDevDemoTest","productmodPPE","productmodProd","productmodPrvw","productmodTest","ProductRoadmapProd","ProductRoadmapTest","ProductStudioServiceTag","ProfileDataRoamingService","ProfileDataRoamingServiceConsumer","ProfileDataRoamingServiceConsumerPROD","ProfileDataRoamingServiceConsumerTest","ProfileDataRoamingServiceEnterprise","ProfileDataRoamingServiceEnterprisePROD","ProfileDataRoamingServiceEnterpriseTest","ProfileDataRoamingServiceGov","ProfileManagementNONPROD","ProfileManagementPROD","ProfitLossReportingBCDR","ProfitLossReportingPPE","ProfitLossReportingProd","ProfitLossReportingSIT","ProjectAsset","ProjectAssetAircapi","ProjectAssetPPE","ProjectCare","ProjectForTheWebNonProd","ProjectHanover","ProjectValyrianPPPE","ProjectValyrianProd","ProjectWinfield","PROMAURSNonProd","PromopolicyNONPRODSubscriptionFDINT","PromoPolicyServicePROD","ProposalManagementWorkspaceAIRCAPI","ProposalManagementWorkspaceDEV","ProposalManagementWorkspaceINS","ProposalManagementWorkspacePROD","ProposalManagementWorkspaceSTG","ProposalManagementWorkspaceTST","ProSATDSCompute","ProvIam","ProvIam.CentralUSEUAP","ProvIam.EastUS","ProvIam.EastUS2EUAP","ProvIam.JapanEast","ProvIam.JapanWest","ProvIam.NorthEurope","ProvIam.WestEurope","ProvIam.WestUS","ProvisioningFoundations","ProvisioningService","PRPNONPROD","PRPProd","PrssBuild","PrtCloudBuild","PrtCloudNonProd","PSecEngPenTTDev","PSecEngPenTTProd","pub2learn","PubCenter","PublicFileExchangeNonProd","PublicFileExchangeProd","public-ip-bastion","PublishEngineServicesProd","PublishingPipeline","PullRequestReviewersPPE","PullRequestReviewersPRD","PurchaseDigitalAttachINT","PurchaseDigitalAttachPROD","PurchaseExperience","PurchaseOrderNonProd","PursuitCopilot","PursuitNonProd","PursuitProd","PurviewClientNonProd","PurviewConnectivity","PurviewDataGov","PurviewDataGovNonProd","PurviewDataGovProd","PurviewGateway","PurviewGatewayNonProd","PurviewInternal","PurviewInternalNonProd","PurviewLabelingInternal","PurviewLabelingInternalNonProd","PurviewPPE","PushAgentv2Billing","PushAgentV2BillingAircapi","PushAgentV2BillingTest","PushChannel","PVTDevIdentity","PVTProdIdentity","PXAIRCAPI","PxoExportAgentBatch","PythiaProdResources","PyTorchEcosystem","QAS","QPPixNonProd","QualityandBusinessProgramManagement","QualityCheckpoint","QualityCheckpointDev","QualityCheckpointPpe","QualityHub","QualityHubDev","QualityHubPpe","QualityhubProd","QualityhubPrvw","QualityHubScratch","QualityhubTest","QualityPPE","QualityProd","QualityPrvw","QualityTest","QuantumDataWarehouse","QuickLift","QuotaManagementCanary","QuotaManagementDev","QuotaManagementPpe","QuotaManagementProd","QuotingPartnerQuote","QuotingPartnerQuoteUserManagementPQUM","RAConsumableAircapi","RAConsumableInt","RAConsumableProd","RACoreServiceInt","RACoreServiceProd","RACoreUsageServiceInt","RACoreUsageServiceProd","Radiance","RaiDataMLService","RAMonetaryCommitAircapi","RAMonetaryCommitInt","RAMonetaryCommitProd","RAMP","RAMPService","RAMUSNonProd","RAMUSProd","RareAthena","RareAthenaProd","RareAthenaTeamCity","RareAthenaTeamCityProd","RareAthenaWebsite","RareAthenaWebsiteProd","RareAtlas","RareAtlasProd","RareDataEngineering","RareDevOps","RareDevOpsProd","RareFirelightServices","RareFirelightTeamCity","RareFirelightTeamCityProd","RareInternalTools","RareInternalToolsProd","RarePipelineServicesProd","RareRuneUE5TeamCity","RareRuneUE5TeamCityProd","RareSiteReliability","RareSubscriptionContainer","RatingAdjustmentServiceNonProd","RatingAdjustmentServiceProd","RatingOutputServiceOrderDetailsNonProd","RatingOutputServiceOrderDetailsProd","RatingsReviews","RatingsReviewsNonProd","RatioPPE","RatioProd","RatioPrvw","RatioTest","RDSLMNonProd","ReadingProgressINT","ReadingProgressPPE","ReadingProgressPROD","ReadyToDeploy","ReadyToDeployDev","ReadyToDeployPpe","RealEstate","RealWorldEvidenceServices","Recipient","RecipientAircapi","RecipientPPE","RecommendationMAC-ST-Non-Product","RecommendationMAC-ST-Product","Recommendations","Recommendation-ST-Non-Product","Recommendation-ST-Product","RecommendPPE","RecommendProd","RecommendPrvw","RecommendTest","RecoProdServiceTag","RecurrenceProcessorAircapi","RecurrenceProcessorInt","RecurrenceProcessorProd","RedFlag","RedFlagDev","RedFlagPPE","RedTeam","ReferenceSystemsInt","ReferenceSystemsPpe","ReferenceSystemsProd","RegionalInfrastructureTenantVipRange","RegionalMasterPlanningService","RegionalServiceManager","RelationshipMarketing","RelationshipsServiceChina","RelationshipsServicePPE","RelationshipsServicePROD","Relay","RelCommsApiPpe","RelCommsApiProd","ReliabilityPPE","ReliabilityProd","ReliabilityPrvw","ReliabilityTest","RemediationSupportNonProd","RemoteAssistanceService","RemoteBuildExecution","RemoteBuildExecutionPreprod","RemoteSupport","RemoteSupportNonProd","ReplyAtMention","ReplyAtMentionDev","RepMAPProd","RepoDepot","ReportAccess","ReqMgtNonProd","ReqMgtProd","RESBusinessInsights","RescueBox","reSearch","ResearcherStudioService","ReservationsRP","ReservationsRPAirCapi","ReservationsRPTest","ResourceAvailabilityPROD","ResourceCenter","ResourceManagement","ResourceManager-ST-Non-Product","ResourceManager-ST-Product","ResourceSchedulingForDynamics","ResourceStaffingPROD","ResourceStaffingSIT","ResourceStaffingUAT","RetentionPlatformEss","RetentionPlatformGc","RevDist","RevenueTracker","RevProNonSOX","RevRecConsumerNonProd","RevRecConsumerProd","RevRecCRSNonProd","RevRecCRSProd","RevRecEverdeenConnectNonProd","RevRecEverdeenConnectProd","RewardsPlatform","Riftwalk","RI-PenTT-Prod","RISEAIOpsNonProd","RISEDataPlatformPublicIpServiceTagDEV","RISEDataPlatformPublicIPServiceTagNPE","RISEDataPlatformPublicIPServiceTagPRD","RISEMLEOps-NonProd","RISEMLEOps-Prod","RisePpe","RiseProd","RiskProtectionPlatformNonProd","RiskProtectionPlatformProd","RiskRegisterDev","RiskRegisterPpe","RiskRegisterProd","RMCACollectionsNonProd","RMCACollectionsProd","RMCACOnnector","RMCADistributorService","RmServicePROD","RNM","RnmRunners","RoboDD","rolis","RootCertificateManagementTool","RPaaS","RPAASDF","RQVCopilot","RS","RsmLiteProd","RSPPE","RSSDynamicPPE","RSSDynamicProd","RSSStaticPPE","RSSStaticProd","Rubik","SaaSAPI","SaaSAPI-AIRCAPI","SaaSAPI-INT","SafeFly","SafePipeline","SalesPlatformAPI","SalesSpokeAppsAFNSG","SANDPCENSBENonProd","SANDPCENSBEPROD","SAnDPMDMNonProdST","SAnDPMDMProdST","SAnDPUDPNonProdST","SAnDPUDPProdST","SanyaInfra","SAPBPC","SAPDAS","SAPDataAnalytics","SAPFinancialAccounting","SAPMDISNONPROD","SAPMDISPROD","SAPOEM","SAPOEM.EastUS","SAPOEM.WestUS","SAPOEM.WestUS3","SAPOEMPROD","SAPPLATFORMARCH","SASCommonAKSInfraPlatform","SatoriV2","SaveAndRefreshProd","SBAM","SbomNonProd","SbomProd","SCCservice","SCCserviceNonProd","SCEAKSAMEInboundPRD","SCESharedDataPlatformDev","SCESharedServicesPPE","SCESharedServicesProd","SCGPlatformPROD","SCGPlatformPROD.EastUS","SCGPlatformPROD.WestUS","ScheduledActions","ScheduledActionsFunctions","SCHIE","SCHIEChatBI","SchieData","SCHIEDevOpsNonProd","SCHIEDiagnostics","SchieNebula","SCHIEQAAS","SchieReliabilility","scimconsumptionbillingprod","scimconsumptionbillingtest","SCoPED365NonProd","SCoPED365Prod","SCoPEDnANonProd","ScoreDataLakeDev","ScoreDataLakeProd","SCP","Scraping","screentest","ScriptingFramework","SCRPlatform","SCSharedHosting","SCSXTeamAKSGrafanaDev","Scuba","sdbranchvm","SDCS","SdnPubSub","SdnPubSubGPS","SdnPubSubPerf","SdnPubSubStage","SdnRunners","SDSClassic","SDSClassicINT","SDSClassicPPE","SDSnonprod","SDSprod","sdxppein","sdxppeout","sdxprodin","sdxprodout","sdxtestin","sdxtestout","SecAndComp","SecretCop","SecureDocsDev","SecureEnvironmentsPOC","SecureInvestigationPlatform","SecureInvestigationPlatformPpe","SecureInvestigationPlatformProd","SecureShadowIT","SecureTuningEnvironment","Security360PPE","Security360Prod","SecurityCopilot","SecurityCoPilotdev","SecurityCoPilotppe","SecurityCoPilotprod","SecurityCoPilotstaging","SecurityPlatformGateway","SecurityPlatformGatewayNonProd","SecurityPlatformInternal","SecurityPlatformInternalNonProd","SecurityResponseServiceTest","SecurityScanningService","seedtestppein","seedtestppeout","seedtestprodin","seedtestprodout","seedtesttestin","seedtesttestout","SEL","SellerIngestionPPE","SellerIngestionPROD","SenderSupportForm","SenseiDEV","SenseiPPE","SenseiPROD","SerialConsole","SerialConsoleNonProd","ServerFundamentals","Service360","ServiceAssist","ServiceAssistProd","ServiceBus","ServiceBus.AustraliaCentral","ServiceBus.AustraliaCentral2","ServiceBus.AustraliaEast","ServiceBus.AustraliaSoutheast","ServiceBus.AustriaEast","ServiceBus.BelgiumCentral","ServiceBus.BrazilSouth","ServiceBus.BrazilSoutheast","ServiceBus.CanadaCentral","ServiceBus.CanadaEast","ServiceBus.CentralIndia","ServiceBus.CentralUS","ServiceBus.CentralUSEUAP","ServiceBus.ChileCentral","ServiceBus.DenmarkEast","ServiceBus.EastAsia","ServiceBus.EastUS","ServiceBus.EastUS2","ServiceBus.EastUS2EUAP","ServiceBus.EastUS3","ServiceBus.EastUSSLV","ServiceBus.EastUSSTG","ServiceBus.FranceCentral","ServiceBus.FranceSouth","ServiceBus.GermanyNorth","ServiceBus.GermanyWestCentral","ServiceBus.IndiaSouthCentral","ServiceBus.IndonesiaCentral","ServiceBus.IsraelCentral","ServiceBus.IsraelNorthwest","ServiceBus.ItalyNorth","ServiceBus.JapanEast","ServiceBus.JapanWest","ServiceBus.JioIndiaCentral","ServiceBus.JioIndiaWest","ServiceBus.KoreaCentral","ServiceBus.KoreaSouth","ServiceBus.MalaysiaSouth","ServiceBus.MalaysiaWest","ServiceBus.MexicoCentral","ServiceBus.NewZealandNorth","ServiceBus.NorthCentralUS","ServiceBus.NortheastUS5","ServiceBus.NorthEurope","ServiceBus.NorwayEast","ServiceBus.NorwayWest","ServiceBus.PolandCentral","ServiceBus.QatarCentral","ServiceBus.SouthAfricaNorth","ServiceBus.SouthAfricaWest","ServiceBus.SouthCentralUS","ServiceBus.SouthCentralUS2","ServiceBus.SouthCentralUSSTG","ServiceBus.SoutheastAsia","ServiceBus.SoutheastUS","ServiceBus.SoutheastUS3","ServiceBus.SoutheastUS5","ServiceBus.SouthIndia","ServiceBus.SouthwestUS","ServiceBus.SpainCentral","ServiceBus.SwedenCentral","ServiceBus.SwedenSouth","ServiceBus.SwitzerlandNorth","ServiceBus.SwitzerlandWest","ServiceBus.TaiwanNorth","ServiceBus.TaiwanNorthwest","ServiceBus.UAECentral","ServiceBus.UAENorth","ServiceBus.UKSouth","ServiceBus.UKWest","ServiceBus.WestCentralUS","ServiceBus.WestEurope","ServiceBus.WestIndia","ServiceBus.WestUS","ServiceBus.WestUS2","ServiceBus.WestUS3","ServiceConnector","ServiceConnectorProd","ServiceConnectorTest","ServiceFabric","ServiceHealthSREMediation-NonProd","ServiceNow","ServiceNowDataAnalytics","ServicesEngagementExperience","ServicesHubITHealth","ServicesManagement","ServiceTree","ServiceTree-NonProd","ServiceTree-Prod","ServiceTrustPortalNonProd","ServiceTrustPortalProd","SfCAptPROD","SfCDBPPROD","SfCDBPQA","SfCHopperPROD","SfCHopperQA","SfCStratusPROD","SfCStratusQA","SFDSMsftNonProd","SFDSMsft-NonProd","SFDSMsftProd","SFDSMsft-Prod","SFDSTorusProd","SFDSTorus-Prod","SFEdgeNonProd","SFEdgeProd","sf-nonprod","sf-prod","SFRPTestInfra","SFTestInfraTag","SharedServices","SharedServices.Ppe","SharedServices.Prod","SharedServicesCxE","SharePointModeOceGraphNotProd","SharePointModeOceGraphProd","SharePointOnline","SharePointOnlineDedicated","SharePointOnlinePrivate","SHD-MVD-X0","SHD-MVD-X1","SHDMVDX1WS","SHD-MVD-X2","SHD-MVD-X3","ShellReportingService","Sherica","shopperserviceint","shopperserviceprod","ShoppingRetailProd","ShortCircuitService","Showback","SHPAppNetaProd","SHPAppNetaUAT","SigmaAz05-Public-IP","SigmaDeviiS01ER-PvtApp-WUS2-PIP-10472","SignalsTakeDown","SignatureRelease","SignatureReleaseNonProd","SignatureReleaseProd","SIGSConnector","SigsDataAgentPPE","SigsDataAgentProd","SiliconCloudIST","SilverACENonProd","SimulatedSelfhost","SimulationStudio","Singularity","SingularityInternal","SingularityRP","SingularityRPInternal","sipenvoyprod","SIPPhoenixServiceTag","SIPSCIDev","SIPSCIInt","SIPSCIPPE","SIPSCIProd","SIPSCIScannersDev","SIPSCIScannersInt","SIPSCIScannersPPE","SIPSCIScannersProd","SIPShieldServiceTag","SIPSInsights","SipsInsightsDev","SipsInsightsPpe","SipsInsightsProd","SIPSPlatformDev","SIPSPlatformInt","SIPSPlatformPPE","SIPSPlatformProd","SIPSTIDev","SIPSTIPPE","SIPSTIProd","SIPSTITest","SIP-ST-Non-Product","SiteProPPE","SiteProPROD","SiteWiredLighthouse","SiteWirelessInfrastructure","SkillGenAI","SkillingContributorCRMNonProd","SkillingContributorCRMProd","SkylarcDev","SkylarcTest","SkylightVirtualAgent","SkylightVirtualAgentDev","SkylightVirtualAgentScratch","SkymanInfraServiceTag","SkypeAvatar","SkypePeopleCoreService","SkypePlatformService","SkypePlatformServiceDev","SkypeProfileService","Slabot","SmartReplyServices-ST-Non-Product","SmartReplyServices-ST-Product","SmartSwarm","SmartSwarmNonProd","SmartSwarmProd","SMBDirectSignup-DF","SMBDirectSignup-MSIT","SMBDirectSignup-Prod","SMBDirectSignup-Test","SMBEngWebDirectServiceNonProd","SMD","SMF-MS","SMF-PPE","SMF-PROD","SMF-SSP","SMIapProd","SMLAP","SMlapNonProd","SMlapProd","SMTCommonRP","SnamRegionalTestEndpointsDev","SnamRegionalTestEndpointsDev.EastUS","SnamRegionalTestEndpointsDev.SouthCentralUS","SnamRegionalTestEndpointsProd","SnamRegionalTestEndpointsProd.AustraliaEast","SnamRegionalTestEndpointsProd.AustraliaSoutheast","SnamRegionalTestEndpointsProd.BrazilSouth","SnamRegionalTestEndpointsProd.BrazilSoutheast","SnamRegionalTestEndpointsProd.CanadaCentral","SnamRegionalTestEndpointsProd.CanadaEast","SnamRegionalTestEndpointsProd.CentralIndia","SnamRegionalTestEndpointsProd.CentralUS","SnamRegionalTestEndpointsProd.EastAsia","SnamRegionalTestEndpointsProd.EastUS","SnamRegionalTestEndpointsProd.EastUS2","SnamRegionalTestEndpointsProd.FranceCentral","SnamRegionalTestEndpointsProd.FranceSouth","SnamRegionalTestEndpointsProd.GermanyNorth","SnamRegionalTestEndpointsProd.GermanyWestCentral","SnamRegionalTestEndpointsProd.IsraelCentral","SnamRegionalTestEndpointsProd.ItalyNorth","SnamRegionalTestEndpointsProd.JapanEast","SnamRegionalTestEndpointsProd.JapanWest","SnamRegionalTestEndpointsProd.KoreaCentral","SnamRegionalTestEndpointsProd.KoreaSouth","SnamRegionalTestEndpointsProd.MexicoCentral","SnamRegionalTestEndpointsProd.NorthCentralUS","SnamRegionalTestEndpointsProd.NorthEurope","SnamRegionalTestEndpointsProd.NorwayEast","SnamRegionalTestEndpointsProd.NorwayWest","SnamRegionalTestEndpointsProd.PolandCentral","SnamRegionalTestEndpointsProd.QatarCentral","SnamRegionalTestEndpointsProd.SouthAfricaNorth","SnamRegionalTestEndpointsProd.SouthAfricaWest","SnamRegionalTestEndpointsProd.SouthCentralUS","SnamRegionalTestEndpointsProd.SoutheastAsia","SnamRegionalTestEndpointsProd.SouthIndia","SnamRegionalTestEndpointsProd.SwedenCentral","SnamRegionalTestEndpointsProd.SwedenSouth","SnamRegionalTestEndpointsProd.SwitzerlandNorth","SnamRegionalTestEndpointsProd.SwitzerlandWest","SnamRegionalTestEndpointsProd.UAECentral","SnamRegionalTestEndpointsProd.UAENorth","SnamRegionalTestEndpointsProd.UKSouth","SnamRegionalTestEndpointsProd.UKWest","SnamRegionalTestEndpointsProd.WestEurope","SnamRegionalTestEndpointsProd.WestIndia","SnamRegionalTestEndpointsProd.WestUS","SnamRegionalTestEndpointsProd.WestUS2","SnamRegionalTestEndpointsProd.WestUS3","SNAPIDEV","SNAPIPPE","SNAPIPROD","SndRunners","SocialBiServices","SoCPerformanceModelingCCDO","SoftwareLicensingServersPIP","SonarDaaS","SonarDaaSAWBDev","SonarDaaSAWBPPE","SonarDaaSAWBProd","SonarDaaSDIPPE","SonarDaaSDIProd","SonarDaaSDSDev","SonarDaaSDSPPE","SonarDaaSDSProd","SonarDaaSFDSDev","SonarDaaSFDSPPE","SonarDaaSFDSProd","SonarDaaSPHDev","SonarDaaSPHPPE","SonarDaaSPHProd","SonarDaaSPOCDev","SonarDaaSPOCPPE","SonarDaaSPOCProd","SonarDaaSRESDev","SonarDaaSRESPPE","SonarDaaSRESProd","SonarDaaSRPDev","SonarDaaSRPPPE","SonarDaaSRPProd","SonarDaaSRSDev","SonarDaaSRSPPE","SonarDaaSRSProd","SonarDaaSSCIPDev","SonarDaaSSCIPPPE","SonarDaaSSCIPProd","SonarDaaSSPProd","SonarDaaSTIPPE","SonarDaaSTIProd","sonareuprodbast","sonargdbuildbast","sonarprodbast","SONiC","SophiaPlatformDev","SophiaPlatformNonProd","SophiaPlatformProd","SourceDepot","SourceDepotIntegrationService","Sourcing365Dev","SovCloudRuntimeBackend","SovCloudRuntimeBackendNonProd","SovereignCloudTest","SovereignCloudTest.CentralUS","SovereignCloudTest.EastUS2","SovereignCloudTest.WestEurope","SovereignCloudTest.WestUS","SovereignCloudTest.WestUS2","SovereignServices","SpaApiManagementDev","SpaApiManagementProd","SpaApiManagementUat","SPACEAnalytics","SpaceManagementService","SparesInventoryPPE","SparesInventoryProd","SparesInventoryTest","Spark","SparkNonProd","SparkProd","SparkSiphonAuditTrail","SpaVnetGatewayDev","SpaVnetGatewayUat","SpeakForMeServiceTag","Spectre","SpeechOutputToolAndInfraIPTag","SPGVMS","SPGVMSipv4","SPHomeMicroserviceProd","SPMAccountManagementService","SpmtNonProd","SPOFileTransferPerfIPs","SpotCompute","SPSETag","SPSMembershipPartnerCompetency","Sql","Sql.AustraliaCentral","Sql.AustraliaCentral2","Sql.AustraliaEast","Sql.AustraliaSoutheast","Sql.AustriaEast","Sql.BelgiumCentral","Sql.BrazilSouth","Sql.BrazilSoutheast","Sql.CanadaCentral","Sql.CanadaEast","Sql.CentralIndia","Sql.CentralUS","Sql.CentralUSEUAP","Sql.ChileCentral","Sql.DenmarkEast","Sql.EastAsia","Sql.EastUS","Sql.EastUS2","Sql.EastUS2EUAP","Sql.EastUS2Stage","Sql.EastUS3","Sql.EastUSSLV","Sql.EastUSSTG","Sql.FranceCentral","Sql.FranceSouth","Sql.GermanyNorth","Sql.GermanyWestCentral","Sql.IndiaSouthCentral","Sql.IndonesiaCentral","Sql.IsraelCentral","Sql.IsraelNorthwest","Sql.ItalyNorth","Sql.JapanEast","Sql.JapanWest","Sql.JioIndiaCentral","Sql.JioIndiaWest","Sql.KoreaCentral","Sql.KoreaSouth","Sql.MalaysiaSouth","Sql.MalaysiaWest","Sql.MexicoCentral","Sql.NewZealandNorth","Sql.NorthCentralUS","Sql.NorthCentralUSStage","Sql.NortheastUS5","Sql.NorthEurope","Sql.NorwayEast","Sql.NorwayWest","Sql.PolandCentral","Sql.QatarCentral","Sql.SouthAfricaNorth","Sql.SouthAfricaWest","Sql.SouthCentralUS","Sql.SouthCentralUS2","Sql.SouthCentralUSSTG","Sql.SoutheastAsia","Sql.SoutheastUS","Sql.SoutheastUS3","Sql.SoutheastUS5","Sql.SouthIndia","Sql.SouthwestUS","Sql.SpainCentral","Sql.SwedenCentral","Sql.SwedenSouth","Sql.SwitzerlandNorth","Sql.SwitzerlandWest","Sql.TaiwanNorth","Sql.TaiwanNorthwest","Sql.UAECentral","Sql.UAENorth","Sql.UKSouth","Sql.UKWest","Sql.WestCentralUS","Sql.WestEurope","Sql.WestIndia","Sql.WestUS","Sql.WestUS2","Sql.WestUS3","SQLCopilot","SQLCopilotTest","sqldatapublisher","SqlDeployResourceProviderProd","SqlDeployResourceProviderTest","SqlDeployServiceProd","SqlDeployServiceStage","sqldevtestkms","sqldevtestvcs","SqlEngineeringSystems","SQLExtensibilityNonProd","sqlkms","sqlkmsstage","SqlManagement","SqlManagementStage","SqlManagementTest","SqlNinjaPublicIP","SqlPolybase","SQLRed","SQLReplication","SqlStage","SqlTest","sqlvcs","sqlvcsstage","SQTechShieldLab","SramAllNonProd","SramAllPPE","SramAppsProd","SramJbProd","SRMNonProd","SRMProd","SrpCrmTest","SSASNonProd","SSE","SsmPortal","SSMUXPPE","StaffingRequestPROD","StaffingRequestSIT","StaffingRequestUAT","StandardsRP","StandardsRPPPE","starlabs-nxt","Starlite","StarliteIP","StationQ","StcaCarinaNonProd","StcaCarinaProd","STCAMultimedia","STCI-AutoSuggestAzureIdentity","STCIEmailInferencing","STCITech","StockNetwork","Storage","Storage.AustraliaCentral","Storage.AustraliaCentral2","Storage.AustraliaEast","Storage.AustraliaSoutheast","Storage.AustriaEast","Storage.BelgiumCentral","Storage.BrazilSouth","Storage.BrazilSoutheast","Storage.CanadaCentral","Storage.CanadaEast","Storage.CentralIndia","Storage.CentralUS","Storage.CentralUSEUAP","Storage.ChileCentral","Storage.DenmarkEast","Storage.EastAsia","Storage.EastUS","Storage.EastUS2","Storage.EastUS2EUAP","Storage.EastUS2Stage","Storage.EastUS3","Storage.EastUSSLV","Storage.EastUSSTG","Storage.FranceCentral","Storage.FranceSouth","Storage.GermanyNorth","Storage.GermanyWestCentral","Storage.IndiaSouthCentral","Storage.IndonesiaCentral","Storage.IsraelCentral","Storage.IsraelNorthwest","Storage.ItalyNorth","Storage.JapanEast","Storage.JapanWest","Storage.JioIndiaCentral","Storage.JioIndiaWest","Storage.KoreaCentral","Storage.KoreaSouth","Storage.MalaysiaSouth","Storage.MalaysiaWest","Storage.MexicoCentral","Storage.NewZealandNorth","Storage.NorthCentralUS","Storage.NorthCentralUSStage","Storage.NortheastUS5","Storage.NorthEurope","Storage.NorwayEast","Storage.NorwayWest","Storage.PolandCentral","Storage.QatarCentral","Storage.SouthAfricaNorth","Storage.SouthAfricaWest","Storage.SouthCentralUS","Storage.SouthCentralUS2","Storage.SouthCentralUSSTG","Storage.SoutheastAsia","Storage.SoutheastUS","Storage.SoutheastUS3","Storage.SoutheastUS5","Storage.SouthIndia","Storage.SouthwestUS","Storage.SpainCentral","Storage.SwedenCentral","Storage.SwedenSouth","Storage.SwitzerlandNorth","Storage.SwitzerlandWest","Storage.TaiwanNorth","Storage.TaiwanNorthwest","Storage.UAECentral","Storage.UAENorth","Storage.UKSouth","Storage.UKWest","Storage.WestCentralUS","Storage.WestEurope","Storage.WestIndia","Storage.WestUS","Storage.WestUS2","Storage.WestUS3","StorageCache","StorageCacheTest","StorageClient","StorageInsights","StorageInsightsNonProd","StorageMover","StorageMoverNonProd","StorageResourceProvider","StorageSyncService","StoreCartInt","StoreCartInt.NorthEurope","StoreCartInt.WestUS3","StoreCartPerf","StoreCartPerf.EastAsia","StoreCartPerf.EastUS","StoreCartPerf.NorthEurope","StoreCartPerf.SoutheastAsia","StoreCartPerf.WestUS2","StoreCartPerf.WestUS3","StoreCartPPE","StoreCartPPE.WestUS3","StoreCartProd","StoreCartProd.EastAsia","StoreCartProd.EastUS","StoreCartProd.NorthEurope","StoreCartProd.SoutheastAsia","StoreCartProd.WestUS2","StoreCartProd.WestUS3","StoreCRM","StorefrontNonProd","StoreMediaCGIAPSMediaDiscoveryProd","StoreMediaCGIAPSMediaEdsOrigin2Prod","StoreMediaCGIAPSMediaEdsOrigin3Prod","StoreMediaCGIAPSMediaEdsOriginProd","StoreMediaCGIAPSMediaMusicOriginProd","StoreMediaCGIAPSMediaOneStoreProd","StoreMediaCPEEdsImagesOrigin2NonProd","StoreMediaCPEEdsImagesOrigin4NonProd","StoreMediaCPEEdsImagesOrigin5NonProd","StoreMediaCPEEdsImagesOriginNonProd","StoreMediaCPEEdsImagesOriginPPENonProd","StoreMediaDAXAPSMSMusicOriginPPENonProd","StoreMediaDAXMSVideoReportingProd","StoreMediaDiscoverySrvcPreprodNonProd","StoreMediaMECMusicOriginNonProd","StoreMediaMECMusicOriginPPENonProd","StoreMediaMECOneStoreImageOrigin2NonProd","StoreMediaMECReportingVideoNonProd","StoreMediaMusicMarketShutdownMigrationToSpotifyProd","StoreMediaOneStoreOriginPPENonProd","StoreMediaVideoServicesNonProd","StoreMediaVideoServicesPPENonProd","StoreMediaVideoServicesProd","StoreMediaVideoServicesTestNonProd","StoreMediaXBLMusicMediaDiscoveryNonProd","StorePartnerAnalytics","StorePartnerAnalyticsNonProd","StorePricingNonProd","StorePricingProd","StoreVideoLoadtestingGatewayNonProd","StoreVideoLoadtestingGatewayProd","StoreWebNonProd","StratusExternal","StratusInt","StratusProd","StratusSandbox","StratusTest","StreamInteranaTag","StudiosQualityAI","StudiosQualityDEA","subsppein","subsppeout","subsprodin","subsprodout","substestin","substestout","SubstrateConvergedFleetServiceFabricPPE","SubstrateConvergedFleetServiceFabricProd","SubstrateDevX","SubstrateDevXProd","SubstrateExperiencesPPE","SubstrateExperiencesPRD","SubstrateGraphConnectors","SubstrateGraphConnectorsNonProd","SubstrateGraphConnectorsProd","SubstrateInventoryNonProd","SubstrateOnboarding","SubstratePackageManagementPPE","SubstratePackageManagementPRD","SubstrateWatson","SuperAppNonProd","SuperAppProd","SupplierExperience","SupplyChainInternal","SupportabilityChecklist","SupportabilityHubSolutionManagementDev","SupportabilityHubSolutionManagementPpe","SupportabilityHubSolutionManagementProd","SupportChannelsDev","SupportChannelsProd","SupportDelivery","SupportPPE","SupportProd","SupportPrvw","SupportTest","SurfaceASPXServicesNonProd","SurfaceASPXServicesProdPME","SurfaceCoreXpShared","SustainabilityDataServices","SustainabilityDataServicesDev","SustainabilityDataServicesTIP","SustainabilityServicesPreProd","SustainabilityServicesProd","SWANNonProd","SwiftKeyDataDevelopment","SWIFTPPE","SWIFTPRD","SwitchboardDataAgent","SxGCommercialNonProdInfra","SxGCommercialProdInfra","SxGConsumerNonProdInfra","SxGConsumerProdInfra","SXGCOREBUE","SxGCoreCCQServiceHealth","SxgCoreSBANonProd","SxGEmailNonProdInfra","SxGEmailProdInfra","SxGIConCallbackCorp","SxGIConCallbackPROD","SxGIConCallbackRD","SxGIConIES","SxGIConTestAutomationAgentPool","SxGIConTestAutomationCorpRD","SxGIConTestAutomationPmeRD","SxGIConTestAutomationProd","SxGMSEGCMCServiceSAP","SxGMSEGCMCServiceSAPNonProd","SxGSAPAuthoringNonProd","SxGSAPSearch","SxGSAPSearchNonProd","SXGSBC-SEA-PPE","SxGSEAM","SxGSERTAudioCodesSBC","SxGSIAIAPProd","SydneyDev","SymbolsProd","SymphonyDEV","SymphonyPPE","SymphonyPROD","Synapse","SynapseInternal","SynapseInternalDev","SynapseInternalDev.EastUS","SynapseInternalDev.EastUS2EUAP","SynapseInternalDev.NorthEurope","SynapseInternalDev.SouthCentralUS","SynapseInternalDev.WestUS2","SynapseJobService","SynapseMLTestSvcTag","SynapsePublicIPaddress","SynapseSqlDev","SynapseStudioProd","SynapseStudioTest","SynopsforPdepMarketing","SyntexUITestServer","SyntheticLoad","SyntheticMonitoringPlatformNonProd","SyntheticMonitoringPlatformProd","SysinternalsDev","SysinternalsLive","SystemServiceAzureSpringAppsResourceProvider","SystemServiceCommunityServicesPowerPlatformDataMigration","SystemServiceIntelligentDataPlatformMarketingWebsiteNonProd","SystemServiceIntelligentDataPlatformMarketingWebsiteProd","SystemServiceOneDeployAzDeployerProd","SystemServiceOneDeployAzDeployerTest","SystemServiceOnyxNPSNonProd","SystemServiceOnyxNPSProd","TaskPCFDataAgent","TaxDocumentService","TaxiTool","TaxReporting","TaxService","TC2Dev","TC2Prod","TC2Test","TCDatabricksDev","TCDatabricksProd","TCDeltaDev","TCFastBuildDev","TCFastBuildProd","TCFastBuildTest","TCITGeneralDev","TCMailerDev","TCMailerProd","TCMailerTest","TCMessageBotDev","TCMessageBotTestDev","TCMLDev","TCOnlineGeneralDev","TCOpsDev","TCProdSubGeneralDev","TCSCSSSERVICE","TCSentinelDev","TCSentinelProd","TCSentinelTest","TCServicesDev","TCServicesProd","TCTeamCityDev","TCTeamCityProd","TCTenantITDev","TCTenantITProd","TCTenantITTest","TCToolsDev","TCToolsGeneralDev","TCToolsMS","TCToolsProd","TCToolsTest","TCWhistlerDev","TCWhistlerGeneralDev","TCWhistlerProd","TDCDev","TDCNonProd","TDCProd","TDESecuirtyEventsPipeline","TeamsFundamentalsPerformance","TeamsGrowthService","TeamsStoreAppCertification","TechEvictionDev","TechHub","techsupportenv-nxt","TelecommandService","TelemetryEfficiencyNonProd","TelemetryEfficiencyProd","tellurium","TenantHydrationDEV","TenantKnowledgeProd","TenantSearchExtensibilityInfrastructure","TenantsFeedbackIdentity","TenantsFeedbackIdentity.EastUS2","Terminus","TermStudioWebAppNonProd","TermStudioWebAppProd","TerranPro","Terrapin","TerrapinDevTest","TestMachine","TextAnalyticsDev","TheBridge","TheCoalitionToolsMS","ThreatModelCopilot","ThreatModelCopilotDev","ThreatModelingTool","ThresholdBilling","ThresholdBillingINT","ThresholdManagerApi","ThubanDevTest","TimelineAircapi","TimelineInt","TimelineProd","TimelineTool","TimelineToolTest","TimePyrNonProd","TimePyrProd","TipNodeService","TipNodeServiceTest","TipPPE","TipPROD","TLSRPT-ServiceFabric","TMSCommerce","TMSCommerceCanary","TnR-SES-TidyUp-NonProd","TokenPolicyServiceINT","TokenPolicyServicePROD","ToolCommonV4Common","TopologyEngProd","TorusSovBase","TorusSovBasePrivate","TouchdownBuild","TourchdownERPool","TPPPE","TPPRD","TraceHubNonProd","TradeTSSNonProd","TradeTSSProd","TrafficController","TrafficControlServicePPE","TrafficControlServiceProd","TrafficControlServiceScreamTest","TreasuryPayments","treasuryvpnstamp","TrimNonProd","TRIMProd","TriviaVM","trix","TRPIS-PPE","TRPIS-PROD","TrustDomainServiceNonProd","TrustedLaunch","TrustedSigning","TrustedSigningCtrlPln","TrustedSigningVetting","TSI-Int","TSI-Prod","TSNonProdFirstParty","TSNonProdInternal","TSNonProdInternet","TSProdFirstParty","TSProdInternal","TSProdInternet","TSS-AuditSystem","TSSAzureHSENonProd","TSSAzureHSENonProd.AustraliaEast","TSSAzureHSENonProd.BrazilSouth","TSSAzureHSENonProd.CentralIndia","TSSAzureHSENonProd.CentralUS","TSSAzureHSENonProd.CentralUSEUAP","TSSAzureHSENonProd.EastAsia","TSSAzureHSENonProd.EastUS","TSSAzureHSENonProd.EastUS2","TSSAzureHSENonProd.EastUS2EUAP","TSSAzureHSENonProd.FranceCentral","TSSAzureHSENonProd.FranceSouth","TSSAzureHSENonProd.GermanyWestCentral","TSSAzureHSENonProd.ItalyNorth","TSSAzureHSENonProd.JapanEast","TSSAzureHSENonProd.NorthEurope","TSSAzureHSENonProd.SoutheastAsia","TSSAzureHSENonProd.SwitzerlandNorth","TSSAzureHSENonProd.UAENorth","TSSAzureHSENonProd.WestEurope","TSSAzureHSENonProd.WestUS","TSSAzureHSENonProd.WestUS2","TSS-CryptoIntel","TssDistributePreProd","TssDistributeProd","TSS-ESRPConfiguration","TSSFoundationalHSESecurityNonProd","TSSFoundationalHSESecurityProd","TSSFoundationalNetNonProd","TSSFoundationalNetProd","TssFtsPreProd","TssFtsProd","TSSHVAPPEIPTAG","TSSHVAPRODIPTAG","TSS-KIS","TssVaultPreProd","TssVaultProd","TTPT","TuringDataCollection","TuringDev","TuringPublic","Turn10ProdServiceTag","TVMContainerSecurityDev","TWSPROD","TZSmartLockers","uattestvmwus830","uccliTag","ucisppein","ucisppeout","ucisprodin","ucisprodout","ucistestin","ucistestout","UDC","UDI","UDPNonProd","UDPProd","UEBA","UEBANonProd","UESToolPool","ulobservicetag","UndeadLabsDevProd","UndeadLabsDevTest","UndeadLabsInfraProd","UnifiedConsentServiceNonProd","UnifiedConsentServiceProd","UnifiedDataCatalog","UnifiedFeedbackPPE","UnifiedFeedbackProd","UnifiedSupportPricePROD","UnifinanceMLPREPROD","UnifinanceMLPREPROD.WestUS2","UnifyApiDev","UnifyApiProd","UnifyPortalDev","UnifyPortalProd","UniversalPrintNonProdServiceTag","UPSDistOnepubngDev","UPSDistOnepubngHypernetDev","UPSDistOnepubngHypernetPPE","UPSDistOnepubngHypernetProd","UPSDistOnepubngHypernetProto","UPSDistOnepubngPPE","UPSDistOnepubngProd","UPSDistOnepubngProto","UPSPubsuiteDiscoveryDev","UPSPubsuiteDiscoveryProd","UPSPubsuiteExplorerDev","UPSPubsuiteExplorerProd","UPSPubsuitePublishingDev","UPSPubsuitePublishingProd","URSA","URSAPpe","URSAPpeUntrusted","URSAUntrusted","UsagePolicyEnginePpe","UsagePolicyEngineProd","UserInitiatedFeedbackPPEServiceTag","UserInitiatedFeedbackServiceTag","USTFinOps","USTimeProd","UstRecommendations","UstRecommendationsInternal","UstRecommendationsNonProd","USXCoreInternal","USXCoreInternalNonProd","VALS","VanquishNonProd","VanquishProd","VASA","VentureIntegrationNonProd","vfstag","VHubRouteServicePublicIP","VideoAnalyzer","VideoIndexer","VideoIndexerApim","VideoIndexerInternal","VideoIngestionNonProd","VideoIngestionProd","VirtualEnclaves","VirtualMachineManager","VirtualNetwork","VirtualNetworkGateway","virtuosononprod","VisionDelivery","VisualIVR","VisualIVRINT","VisualIVRPPE","VivaDemoToolsAndAutomation","VivaEngageADOProd","VivaEngageBastionNonProd","VivaEngageBastionProd","VivaEngageComputeNonProd","VivaEngageComputeProd","VivaEngageDataNonProd","VivaEngageDataProd","VivaEngageEnggNonProd","VivaEngageEngSysNonProd","VivaEngageEngSysProd","VivaEngageInfraSec","VivaEngageLabs","VivaEngageStorageNonProd","VivaGlintNonProd","VivaGlintProd","VivaGoalsNonProd","VivaGoalsNonProd.EastUS","VivaGoalsNonProd.NorthEurope","VivaGoalsNonProd.WestEurope","VivaGoalsNonProd.WestUS","VivaGoalsProd","VivaGoalsProd.EastUS","VivaGoalsProd.NorthEurope","VivaGoalsProd.WestEurope","VivaGoalsProd.WestUS","VivaInsights","VivaInsightsNonProd","VivaLearningPreProd","VivaLearningProd","VivaPulseProdServiceFabric","VivaPulseTestServiceFabric","VLCentralAmendments","vmsonareuprod","vmsonarprod","VNMInfrastructureCommon","VNMInfrastructureCommonNonProd","VoiceAppsInteropTesting","VoiceMailNonProd","VPaaS","VPaaSPPE","VPNGateway","VSAOffnodeNonProd","VSAOffnodeProd","VSBScopeNonProd","VSBScopePPE","VSBScopeProd","VSPerfandReliabilityServices","VSSFVSSubscription","VSSFVSSubscriptionPPE","VSSubscription","VSSubscriptionDev","VSSubscriptionPPE","VSTIShipReady","VulnTriageDash","VVC01SubServices","WaaSAssessment","WaaSAssessmentPPE","WaaSAssessmentService","WAIIAGPU","WamdaPPE","WamdaPROD","WanetmonCanary","WanetmonCanaryTest","WanetmonFrontEnd","WanetmonFrontendTest","WanMakersServiceTag","WANTopologyEngCloudTest","WanWarp","WASUServiceTag","WatchForInboundPPE","WatchForInboundPROD","WatchForOutboundPPE","WatchForOutboundPROD","WatsonAnSeProd","WatsonAnSeTest","WatsonBackendDebugPreValidationProd","WatsonBackendDebugPreValidationTest","WatsonBackendDebugServiceDataPlProd","WatsonBackendDebugServiceDataPlTest","WatsonBackendDebugServiceProd","WatsonBackendDebugServiceRemoteProd","WatsonBackendDebugServiceRemoteTest","WatsonBackendDebugServiceTest","WatsonBackendDebugWerKernelProd","WatsonBackendDebugWerKernelTest","WatsonBackendDebugWerUserProd","WatsonBackendDebugWerUserTest","WatsonBucketCatalogDeleteProd","WatsonBucketCatalogDeleteTest","WatsonBugFilerStagingProd","WatsonBugFilerStagingTest","WatsonCabCatalogDeleteProd","WatsonCabCatalogDeleteTest","WatsonClientCabProd","WatsonClientCabTest","WatsonClientDataProd","WatsonClientDataTest","WatsonClientDevCenterProd","WatsonClientDevCenterTest","WatsonClientInternalDataProd","WatsonClientInternalDataTest","WatsonClientPortalProd","WatsonClientPortalTest","WatsonClientSqlAgentProd","WatsonConfigServiceProd","WatsonConfigServiceTest","WatsonCrashingServiceProd","WatsonCrashingServiceTest","WatsonDaSeProd","WatsonDaSeTest","WatsonDatabaseServiceProd","WatsonDatabaseServiceTest","WatsonDatabaseValidationProd","WatsonDatabaseValidationTest","WatsonDataEgressFunctionProd","WatsonDataEgressFunctionTest","WatsonDeepAnalyzeProd","WatsonDeepAnalyzeTest","WatsonDeseProd","WatsonDeseTest","WatsonDiagnosticDataLakeNRTProd","WatsonDiagnosticDataLakeNRTTest","WatsonDiagnosticDataLakeProd","WatsonDiagnosticDataLakeTest","WatsonDiagSpace","WatsonDiagSpaceTest","WatsonEnterprisePostProcessorProd","WatsonEnterprisePostProcessorTest","WatsonEnterpriseRoutingProd","WatsonEnterpriseRoutingTest","WatsonEnterpriseWatchdogProd","WatsonEnterpriseWatchdogTest","WatsonFEProd","WatsonFETest","WatsonHarmonyProd","WatsonHarmonyTest","WatsonMetricsWriterProd","WatsonMetricsWriterTest","WatsonPortalProd","WatsonPortalTest","WatsonPostProcessorProd","WatsonPostProcessorTest","WatsonRoutingProd","WatsonRoutingTest","WatsonRulesServiceProd","WatsonRulesServiceTest","WatsonSymbolsAwacsProd","WatsonSymbolsAwacsTest","WatsonSymbolsPushProd","WatsonSymbolSvcProd","WatsonSymbolSvcTest","WatsonWatchdogProd","WatsonWatchdogTest","WatsonWerAnalysisProd","WatsonWerAnalysisTest","WatsonWerBucketCatalogProd","WatsonWerBucketCatalogTest","WatsonWerBugFilerProd","WatsonWerBugFilerTest","WatsonWerRetentionProd","WatsonWerRetentionTest","WatsonWerRoutingProd","WatsonWerRoutingTest","WatsonWerWatchdogProd","WatsonWerWatchdogTest","WBDPrivacyAccessControlToolNonProd","WBDPrivacyAccessControlToolProd","WBDPrivacyTestPassNonProd","WBDPrivacyTestPassProd","WDDataMeasureStoreNonProd","WDDataMeasureStoreProd","WdsNonProdInbound","WdsNonProdOutbound","wds-prod-inbound","WdsProdInbound","WdsProdOutbound","WeatherAndFinanceJwapollen","Web3Assistant","WebDataNonProd","WebDataProd","WebDefenseService","WebGov","WebInsightsService","WebInsightsService.WestEurope","WebInsightsService.WestUS2","WebProtectionIntel","WebXTTitanCommon","WFHAssetShipmentTool","WHIM","WhiteboardServicesNonProd","WhiteboardServicesProd","WhiteRabbit","WhiteRabbitDev","WilliamsBay","WinCommCAT","windflow","Windows365","Windows365Consumer","WindowsAdminCenter","WindowsInfrastructureAIAgentPlatform","WindowsOnlineServiceExperiencePackPipelines","WindowsProtocolComplianceNonProd","WindowsProtocolComplianceProd","WindowsProvisioningAgent","WindowsSelfhostReporting","WindowsServerBAR","WindowsServerCatalog","WindowsUpdateCopilot","WindowsUpdateTelemetry","WindowsUpdateTelemetryNonProd","WindowsUpdateWUInfra","WindowsUpdateWUInfraNonProd","WindowsVirtualDesktop","WindowsVirtualDesktopInternal","WinPro-ServiceTag","wis","WMTUSISDRCGStoreRFIDAnalytics","WNS.NonProd_ALL","WNS.NonProd_NN","WNS.Prod_All","WoodinvilleWikiSubContainer","WorkforcePlanningService","WorkLabPPE","WorkLabsProd","WorkloadInsightsDev","WorkloadInsightsPod","WorkloadManagement","WorkReport","WorldsEdge-Build","WorldsEdgeWebDev","WorldsEdgeWebProd","WorldwideLearningStudios","WPSNonProd","WPSProd","WSDBPSDatCORPWCUSExpressRoute","WSDCFEEPINTAG","WSDDevCopilotFixIt","WSDReleaseAutomationAndMonitoring","WSDSBM","WSDSMV","WSDSUVP","WSDUPC","wssiGrfxTag","WSSIInfraOnlineServiceAzure","WSSIMCDMDashboard","WSUSaaS","WUReportingFrontEnds","WUReportingFrontEndsDev","WUReportingFrontEndsOutbound","WUReportingFrontEndsOutboundDev","WWChannelMarketingReporting","WWLOneTripNonProd","WWLProgramSolutionsDynaDeskPreProd","WWLProgramSolutionsDynaDeskProd","X360Services","X509CertificateAnalyzerProd","XamProd","XandrInfraNonPrd","XandrInfraPrd","XandrRealTimeBidding","XapPipNonProd","XapPipProd","XboxC2CIPs","XboxCanaryNonProd.PublicVIPs","XboxCanaryNonProd.SNATOnly","XboxCanaryProd.PublicVIPs","XboxCanaryProd.SNATOnly","XboxCommunityDevPME","XboxCommunityPPE","XboxCommunityProd","XboxCommunityProdPME","XboxCompatExpressRoute","XboxInsiderServicesMSIT","XboxLiveEDADFS","XboxLiveToolbox","XboxLiveUCDB","XboxNonProd.PublicVIPs","XboxNonProd.SNATOnly","XboxPlatformAPProxyProd","XboxPlatformDataPlatformNonProd","XboxPlatformDataPlatformProd","XboxPlatformGPLTNonProd","XboxPlatformGPLTProd","XboxPlatformPCServerProd","XboxPlatformXboxServerNonProd","XboxPlatformXCLDNonProd","XboxPlatformXCLDProd","XboxPlatformXPLTNonProd","XboxPlatformXPLTProd","XboxProd.PublicVIPs","XboxProd.SNATOnly","XboxRecurrencesFD","XboxRecurrencesFDNonProd","XboxServicesProd","XboxServicesStaging","XboxSpeedtestUDPEcho","XboxStudiosLegacy","XboxSupportChat","XboxSupportChatNonProd","XboxSupportContent","XboxSupportContentNonProd","XboxSupportControllerWarranty","XboxSupportControllerWarrantyNonProd","XboxSupportLoyalty","XboxSupportLoyaltyNonProd","XboxSupportNotifications","XboxSupportNotificationsNonProd","XboxSupportOrderHistory","XboxSupportOrderHistoryNonProd","XboxSupportQMModelTrainingNonProd","XboxSupportQMModelTrainingProd","XboxSupportRefunds","XboxSupportRefundsNonProd","XboxSupportSAGEModelTrainingNonProd","XboxSupportSearch","XboxSupportSearchNonProd","XboxSupportVirutalAgent","XboxSupportWebforms","XboxSupportWebformsNonProd","XConfig","XDETCMServices","XDivDataEngineeringDevERGateway","XDivDataEngineeringDevERGateway.CentralUS","XDivDataEngineeringDevERGateway.WestUS","XDivDataEngineeringProd","XDivDataEngineeringProd.CentralUS","XDivDataEngineeringProd.WestUS","XEOLabsPublicIPs","XFilesTestVirtualMachine","XFundamentals","XGITCoreTest","XGSITCoreNetworkManagement","XGSITCoreProd","XGSPublishing","XKMSAzureNonProd","XKMSAzureNonProdAppGw","XKMSAzureNonProdNetInt","XKMSCryptoServiceProd","XkmsLicNonProd","XkmsLicProd","XkmsSignNonProd","XkmsSignProd","XKulfiNonProd","XKulfiProd","xmac-nonprod","xmac-prod","xmte-nonprod","xmte-prod","XpanderGeoLocation","XPanderGLS","XPanderGLSPPE","XPanderGLSPROD","XPayCI","xpaynonprod","XPayPPE","XPayProd","XPerfInfra","xperfinfraservicetagprod","XpocSamplePage","XreflectAppGatewayppe","XReflectCUSAppGateway","XReflectEUSAppGateway","XReflectNEUAppGateway","XReflectPPEAppGateway","XReflectWUSAppGateway","XRPlaytestLabV","XScheduler","XspmPrd","XSPMResearch","XspmStg","XStoreCapacityManagementPreProd","XStoreCapacityManagementProd","XStoreCapacityManagementTest","XStoreInsights","XStoreSynthetics","XSyncTest","XTokenManager","zcsbot","ZenimaxProd","ZeroTrustSegmentation","ZeroTrustSegmentationDev","ZMIProd","ZTS-nonprod"]}],"nextLink":""}' + headers: + cache-control: + - no-cache + content-length: + - '197118' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 08 Oct 2025 05:44:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=37ca76fe-83f1-4c59-823b-b1953db8111c/centraluseuap/92acb65a-8b22-4268-86bb-ca3875568d1c + x-ms-throttling-version: + - v2 + x-msedge-ref: + - 'Ref A: 9C1F6CE30B8746E4A54C34D134B427DB Ref B: PNQ231110907062 Ref C: 2025-10-08T05:44:52Z' + status: + code: 200 + message: OK +version: 1 diff --git a/src/nsp/azext_nsp/tests/latest/test_nsp.py b/src/nsp/azext_nsp/tests/latest/test_nsp.py index f33bc07670a..29baa61bd73 100644 --- a/src/nsp/azext_nsp/tests/latest/test_nsp.py +++ b/src/nsp/azext_nsp/tests/latest/test_nsp.py @@ -6,17 +6,18 @@ # -------------------------------------------------------------------------------------------- from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) +from azure.cli.testsdk.scenario_tests.decorators import AllowLargeResponse class NspScenario(ScenarioTest): - @ResourceGroupPreparer(name_prefix='test_nsp_crud', location='eastus2euap') + @ResourceGroupPreparer(name_prefix='test_nsp_crud', location='centraluseuap') def test_nsp_crud(self, resource_group): self.kwargs.update({ 'name': 'TestNetworkSecurityPerimeter' }) - self.cmd('network perimeter create --name {name} -l eastus2euap --resource-group {rg}') + self.cmd('network perimeter create --name {name} -l centraluseuap --resource-group {rg}') self.cmd('network perimeter show --resource-group {rg} --name {name}', checks=[ self.check('name', '{name}') @@ -26,16 +27,16 @@ def test_nsp_crud(self, resource_group): self.cmd('network perimeter delete -g {rg} --name {name} --yes') - self.cmd('network perimeter associable-resource-type list -l eastus2euap') + self.cmd('network perimeter associable-resource-type list -l centraluseuap') - @ResourceGroupPreparer(name_prefix='test_nsp_profile_crud', location='eastus2euap') + @ResourceGroupPreparer(name_prefix='test_nsp_profile_crud', location='centraluseuap') def test_nsp_profile_crud(self, resource_group): self.kwargs.update({ 'nsp_name': 'TestNetworkSecurityPerimeter', 'profile_name': 'TestNspProfile' }) - self.cmd('network perimeter create --name {nsp_name} -l eastus2euap --resource-group {rg}') + self.cmd('network perimeter create --name {nsp_name} -l centraluseuap --resource-group {rg}') self.cmd('network perimeter profile create --name {profile_name} --perimeter-name {nsp_name} --resource-group {rg}') self.cmd('network perimeter profile show --name {profile_name} --perimeter-name {nsp_name} --resource-group {rg}', checks=[ @@ -46,7 +47,7 @@ def test_nsp_profile_crud(self, resource_group): self.cmd('network perimeter profile delete --name {profile_name} --perimeter-name {nsp_name} --resource-group {rg} --yes') - @ResourceGroupPreparer(name_prefix='test_nsp_accessrule_crud', location='eastus2euap') + @ResourceGroupPreparer(name_prefix='test_nsp_accessrule_crud', location='centraluseuap') def test_nsp_accessrule_crud(self, resource_group): self.kwargs.update({ 'nsp_name': 'TestNetworkSecurityPerimeter', @@ -54,7 +55,7 @@ def test_nsp_accessrule_crud(self, resource_group): 'accessrule_name': 'TestNspAccessRule' }) - self.cmd('network perimeter create --name {nsp_name} -l eastus2euap --resource-group {rg}') + self.cmd('network perimeter create --name {nsp_name} -l centraluseuap --resource-group {rg}') self.cmd('network perimeter profile create --name {profile_name} --perimeter-name {nsp_name} --resource-group {rg}') self.cmd('az network perimeter profile access-rule create --name {accessrule_name} --profile-name {profile_name} --perimeter-name {nsp_name} --resource-group {rg} --fqdn "[\'www.abc.com\', \'www.google.com\']" --direction "Outbound"') @@ -73,7 +74,7 @@ def test_nsp_accessrule_crud(self, resource_group): self.cmd('network perimeter profile access-rule delete --name {accessrule_name} --perimeter-name {nsp_name} --profile-name {profile_name} --resource-group {rg} --yes') - @ResourceGroupPreparer(name_prefix='test_nsp_accessrule_inbound', location='eastus2euap') + @ResourceGroupPreparer(name_prefix='test_nsp_accessrule_inbound', location='centraluseuap') def test_nsp_accessrule_inbound(self, resource_group): self.kwargs.update({ 'nsp_name': 'TestNetworkSecurityPerimeter', @@ -87,7 +88,7 @@ def test_nsp_accessrule_inbound(self, resource_group): 'sub': self.get_subscription_id() }) - self.cmd('network perimeter create --name {nsp_name} -l eastus2euap --resource-group {rg}') + self.cmd('network perimeter create --name {nsp_name} -l centraluseuap --resource-group {rg}') self.cmd('network perimeter profile create --name {profile_name} --perimeter-name {nsp_name} --resource-group {rg}') # IP based access rule @@ -102,7 +103,7 @@ def test_nsp_accessrule_inbound(self, resource_group): """ # NSP based access rule - self.cmd('network perimeter create --name nsp_for_rule -l eastus2euap --resource-group {rg}') + self.cmd('network perimeter create --name nsp_for_rule -l centraluseuap --resource-group {rg}') self.cmd('az network perimeter profile access-rule create --name {nsp_accessrule_name} --profile-name {profile_name} --perimeter-name {nsp_name} --resource-group {rg} --nsp [0].id="/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Network/networkSecurityPerimeters/nsp_for_rule"', checks=[ self.check('networkSecurityPerimeters[0].id', "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Network/networkSecurityPerimeters/nsp_for_rule") @@ -120,21 +121,21 @@ def test_nsp_accessrule_inbound(self, resource_group): self.check('serviceTags', "['MicrosoftPublicIPSpace']") ]) - @ResourceGroupPreparer(name_prefix='test_nsp_association_crud', location='eastus2euap') + @ResourceGroupPreparer(name_prefix='test_nsp_association_crud', location='centraluseuap') def test_nsp_association_crud(self, resource_group): self.kwargs.update({ 'nsp_name': 'TestNetworkSecurityPerimeter', 'profile_name': 'TestNspProfile', 'association_name': 'TestNspAssociation', - 'resource_name': 'kvclinsp19-test', + 'resource_name': 'kvclinsp20-test', 'sub': self.get_subscription_id() }) - self.cmd('network perimeter create --name {nsp_name} -l eastus2euap --resource-group {rg}') + self.cmd('network perimeter create --name {nsp_name} -l centraluseuap --resource-group {rg}') self.cmd('network perimeter profile create --name {profile_name} --perimeter-name {nsp_name} --resource-group {rg}') - self.cmd('keyvault create --name {resource_name} -l eastus2euap --resource-group {rg}') + self.cmd('keyvault create --name {resource_name} -l centraluseuap --resource-group {rg}') self.cmd('network perimeter association create --name {association_name} --perimeter-name {nsp_name} --resource-group {rg} --access-mode Learning ' '--private-link-resource id="/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.KeyVault/vaults/{resource_name}" ' @@ -159,9 +160,9 @@ def test_nsp_association_crud(self, resource_group): self.cmd('network perimeter association show --name {association_name} --perimeter-name {nsp_name} --resource-group {rg}', expect_failure=True) self.cmd('keyvault delete --name {resource_name} --resource-group {rg} --no-wait') - self.cmd('keyvault purge --name {resource_name} -l eastus2euap --no-wait') + self.cmd('keyvault purge --name {resource_name} -l centraluseuap --no-wait') - @ResourceGroupPreparer(name_prefix='test_nsp_link_crud', location='eastus2euap') + @ResourceGroupPreparer(name_prefix='test_nsp_link_crud', location='centraluseuap') def test_nsp_link_linkreference_crud(self, resource_group): self.kwargs.update({ @@ -171,8 +172,8 @@ def test_nsp_link_linkreference_crud(self, resource_group): 'link1_name': 'TestNspLink1' }) - self.cmd('network perimeter create --name {nsp1_name} -l eastus2euap --resource-group {rg}') - self.cmd('network perimeter create --name {nsp2_name} -l eastus2euap --resource-group {rg}') + self.cmd('network perimeter create --name {nsp1_name} -l centraluseuap --resource-group {rg}') + self.cmd('network perimeter create --name {nsp2_name} -l centraluseuap --resource-group {rg}') # create nsp link self.cmd('az network perimeter link create --name {link1_name} --perimeter-name {nsp1_name} --resource-group {rg} --auto-remote-nsp-id "/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Network/networkSecurityPerimeters/{nsp2_name}" --local-inbound-profile "[\'*\']" --remote-inbound-profile "[\'*\']" ') @@ -200,7 +201,7 @@ def test_nsp_link_linkreference_crud(self, resource_group): # delete link reference self.cmd('az network perimeter link-reference delete --perimeter-name {nsp2_name} --resource-group {rg} --name {ref2_name} --yes') - @ResourceGroupPreparer(name_prefix='test_nsp_logging_configuration_crud', location='eastus2euap') + @ResourceGroupPreparer(name_prefix='test_nsp_logging_configuration_crud', location='centraluseuap') def test_nsp_logging_configuration_crud(self, resource_group): self.kwargs.update({ 'nsp_name': 'TestNetworkSecurityPerimeter', @@ -208,7 +209,7 @@ def test_nsp_logging_configuration_crud(self, resource_group): }) # Create NSP - self.cmd('network perimeter create --name {nsp_name} -l eastus2euap --resource-group {rg}') + self.cmd('network perimeter create --name {nsp_name} -l centraluseuap --resource-group {rg}') # Create logging configuration self.cmd('network perimeter logging-configuration create --perimeter-name {nsp_name} --resource-group {rg} --enabled-log-categories "[\'NspPublicInboundPerimeterRulesDenied\']"') @@ -231,4 +232,13 @@ def test_nsp_logging_configuration_crud(self, resource_group): # Verify the logging configuration is deleted self.cmd('network perimeter logging-configuration show --perimeter-name {nsp_name} --resource-group {rg}', expect_failure=True) + + @AllowLargeResponse() + @ResourceGroupPreparer(name_prefix='test_nsp_service_tags_crud', location='centraluseuap') + def test_nsp_service_tags_crud(self, resource_group): + + # Show service tags + self.cmd('network perimeter service-tag list -l centraluseuap', checks=[ + self.check("length([?contains(serviceTags, 'MicrosoftPublicIPSpace')])", 1) + ]) diff --git a/src/nsp/setup.py b/src/nsp/setup.py index 729348fd56f..bdb3c6b4605 100644 --- a/src/nsp/setup.py +++ b/src/nsp/setup.py @@ -10,7 +10,7 @@ # HISTORY.rst entry. -VERSION = '1.0.0' +VERSION = '1.1.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers