diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d0e95126197..f15327da3fc 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -94,6 +94,8 @@ /src/maintenance/ @gautamd-ms +/src/managednetworkfabric/ @rahulm-msft + /src/ai-examples/ @mirdaki /src/notification-hub/ @fengzhou-msft diff --git a/linter_exclusions.yml b/linter_exclusions.yml index dfe2b6809c1..fcb739a199c 100644 --- a/linter_exclusions.yml +++ b/linter_exclusions.yml @@ -2095,7 +2095,43 @@ networkcloud virtualmachine create: parameters: isolate_emulator_thread: rule_exclusions: - - option_length_too_long + - option_length_too_long +networkfabric controller create: + parameters: + workload_er_connections: + rule_exclusions: + - option_length_too_long +networkfabric rack create: + rule_exclusions: + - missing_command_test_coverage +networkfabric rack delete: + rule_exclusions: + - missing_command_test_coverage +networkfabric device delete: + rule_exclusions: + - missing_command_test_coverage +networkfabric interface delete: + rule_exclusions: + - missing_command_test_coverage +networkfabric l3domain create: + parameters: + aggregate_route_configuration: + rule_exclusions: + - option_length_too_long + connected_subnet_route_policy: + rule_exclusions: + - option_length_too_long + redistribute_connected_subnets: + rule_exclusions: + - option_length_too_long + redistribute_static_routes: + rule_exclusions: + - option_length_too_long +networkfabric internalnetwork create: + parameters: + static_route_configuration: + rule_exclusions: + - option_length_too_long notification-hub authorization-rule create: parameters: notification_hub_name: diff --git a/src/managednetworkfabric/HISTORY.rst b/src/managednetworkfabric/HISTORY.rst new file mode 100644 index 00000000000..abbff5a61a7 --- /dev/null +++ b/src/managednetworkfabric/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +1.0.0b1 +++++++ +* Initial release. \ No newline at end of file diff --git a/src/managednetworkfabric/README.md b/src/managednetworkfabric/README.md new file mode 100644 index 00000000000..53009b777f4 --- /dev/null +++ b/src/managednetworkfabric/README.md @@ -0,0 +1,41 @@ +# Azure CLI Managednetworkfabric Extension # +This is an extension to Azure CLI to manage Managednetworkfabric resources. + +## How to use ## + +Install the extension: + +``` +az extension add --name managednetworkfabric +``` + +Validate that the extension is installed correctly: + +``` +az networkfabric --help +``` + +## Included Features ## + +Below is a high-level overview of managednetworkfabric commands. + +| Commands | Description| +| ------------- | ------------- | +| az networkfabric acl | Manage Access Control List Resource. | +| az networkfabric controller | Manage Network Fabric Controller Resource. | +| az networkfabric device | Manage Network Device Resource. | +| az networkfabric devicesku | Manage Network Device SKU Resource. | +| az networkfabric externalnetwork | Manage External Network Resource. | +| az networkfabric fabric | Manage Network Fabric Resource. | +| az networkfabric fabricsku | Manage Network Fabric SKU Resource. | +| az networkfabric interface | Manage Network Interface Resource. | +| az networkfabric internalnetwork | Manage Internal Network Resource. | +| az networkfabric ipcommunity | Manage Ip Community Resource. | +| az networkfabric ipextendedcommunity | Manage Ip Extended Community Resource. | +| az networkfabric ipprefix | Manage Ip Prefix Resource. | +| az networkfabric l2domain | Manage L2 Isolation Domain Resource. | +| az networkfabric l3domain | Manage L3 Isolation Domain Resource. | +| az networkfabric nni | Manage Network To Network Interconnect Resource. | +| az networkfabric rack | Manage Network Rack Resource. | +| az networkfabric racksku | Manage Network Rack SKU Resource. | +| az networkfabric routepolicy | Manage Route Policy Resource. | \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/__init__.py new file mode 100644 index 00000000000..7f2b6447119 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/__init__.py @@ -0,0 +1,42 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from azext_managednetworkfabric._help import helps # pylint: disable=unused-import + + +class ManagednetworkfabricCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + custom_command_type = CliCommandType( + operations_tmpl='azext_managednetworkfabric.custom#{}') + super().__init__(cli_ctx=cli_ctx, + custom_command_type=custom_command_type) + + def load_command_table(self, args): + from azext_managednetworkfabric.commands import load_command_table + from azure.cli.core.aaz import load_aaz_command_table + try: + from . import aaz + except ImportError: + aaz = None + if aaz: + load_aaz_command_table( + loader=self, + aaz_pkg_name=aaz.__name__, + args=args + ) + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_managednetworkfabric._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = ManagednetworkfabricCommandsLoader diff --git a/src/managednetworkfabric/azext_managednetworkfabric/_help.py b/src/managednetworkfabric/azext_managednetworkfabric/_help.py new file mode 100644 index 00000000000..126d5d00714 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/_help.py @@ -0,0 +1,11 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + +from knack.help_files import helps # pylint: disable=unused-import diff --git a/src/managednetworkfabric/azext_managednetworkfabric/_params.py b/src/managednetworkfabric/azext_managednetworkfabric/_params.py new file mode 100644 index 00000000000..cfcec717c9c --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/_params.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + + +def load_arguments(self, _): # pylint: disable=unused-argument + pass diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/__cmd_group.py new file mode 100644 index 00000000000..d8432a8994d --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/__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( + "networkfabric", +) +class __CMDGroup(AAZCommandGroup): + """Manage Azure Network Fabric Management Service API + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/__init__.py new file mode 100644 index 00000000000..5a9d61963d6 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/__init__.py @@ -0,0 +1,11 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/__cmd_group.py new file mode 100644 index 00000000000..ec881b4c5a8 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/__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( + "networkfabric acl", +) +class __CMDGroup(AAZCommandGroup): + """Manage Access Control List Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/__init__.py new file mode 100644 index 00000000000..efc3964e3fb --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/__init__.py @@ -0,0 +1,15 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_create.py new file mode 100644 index 00000000000..9fbbf0e57fb --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_create.py @@ -0,0 +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( + "networkfabric acl create", +) +class Create(AAZCommand): + """Create a Access Control List resource + + :example: Creates a Access Control List resource. + az networkfabric acl create --resource-group "example-rg" --location "westus3" --resource-name "example-accesscontrollist" --address-family "ipv4" --conditions "[{sequenceNumber:123,action:allow,destinationAddress:'1.1.10.10',destinationPort:1254,sourceAddress:'1.1.1.0/24',sourcePort:1276,protocol:255,annotation:asdf}]" + + :example: Help text for sub parameters under the specific parent can be viewed by using the shorthand syntax '??'. See https://github.com/Azure/azure-cli/tree/dev/doc/shorthand_syntax.md for more about shorthand syntax. + az networkfabric acl create --conditions ?? + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/accesscontrollists/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Access Control List", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Body", + help="Location of Azure region", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Body", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.address_family = AAZStrArg( + options=["--address-family"], + arg_group="Properties", + help="IP address family. Example: ipv4 | ipv6.", + required=True, + enum={"ipv4": "ipv4", "ipv6": "ipv6"}, + ) + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.conditions = AAZListArg( + options=["--conditions"], + arg_group="Properties", + help="Access Control List conditions.", + required=True, + ) + + conditions = cls._args_schema.conditions + conditions.Element = AAZObjectArg() + + _element = cls._args_schema.conditions.Element + _element.action = AAZStrArg( + options=["action"], + help="action. Example: allow | deny.", + required=True, + enum={"allow": "allow", "deny": "deny"}, + ) + _element.annotation = AAZStrArg( + options=["annotation"], + help="Switch configuration description.", + ) + _element.destination_address = AAZStrArg( + options=["destination-address"], + help="destinationAddress. Example: any | 1.1.1.0/24 | 1.1.10.10", + required=True, + ) + _element.destination_port = AAZStrArg( + options=["destination-port"], + help="destinationPort. Example: any | 1253", + required=True, + ) + _element.protocol = AAZIntArg( + options=["protocol"], + help="TCP/IP protocol as defined in the list of IP protocol numbers. Example: 255 (any) | 0 | 1.", + required=True, + ) + _element.sequence_number = AAZIntArg( + options=["sequence-number"], + help="sequenceNumber of the Access Control List.", + required=True, + ) + _element.source_address = AAZStrArg( + options=["source-address"], + help="sourceAddress. Example: any | 1.1.1.0/24 | 1.1.10.10", + required=True, + ) + _element.source_port = AAZStrArg( + options=["source-port"], + help="sourcePort. Example: any | 1253", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AccessControlListsCreate(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 AccessControlListsCreate(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.ManagedNetworkFabric/accessControlLists/{accessControlListName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accessControlListName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("addressFamily", AAZStrType, ".address_family", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("conditions", AAZListType, ".conditions", typ_kwargs={"flags": {"required": True}}) + + conditions = _builder.get(".properties.conditions") + if conditions is not None: + conditions.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.conditions[]") + if _elements is not None: + _elements.set_prop("action", AAZStrType, ".action", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("annotation", AAZStrType, ".annotation") + _elements.set_prop("destinationAddress", AAZStrType, ".destination_address", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("destinationPort", AAZStrType, ".destination_port", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("protocol", AAZIntType, ".protocol", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("sequenceNumber", AAZIntType, ".sequence_number", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("sourceAddress", AAZStrType, ".source_address", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("sourcePort", AAZStrType, ".source_port", typ_kwargs={"flags": {"required": True}}) + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.address_family = AAZStrType( + serialized_name="addressFamily", + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.conditions = AAZListType( + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + conditions = cls._schema_on_200.properties.conditions + conditions.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.conditions.Element + _element.action = AAZStrType( + flags={"required": True}, + ) + _element.annotation = AAZStrType() + _element.destination_address = AAZStrType( + serialized_name="destinationAddress", + flags={"required": True}, + ) + _element.destination_port = AAZStrType( + serialized_name="destinationPort", + flags={"required": True}, + ) + _element.protocol = AAZIntType( + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + _element.source_address = AAZStrType( + serialized_name="sourceAddress", + flags={"required": True}, + ) + _element.source_port = AAZStrType( + serialized_name="sourcePort", + flags={"required": 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 _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_delete.py new file mode 100644 index 00000000000..b53b431fe14 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_delete.py @@ -0,0 +1,139 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric acl delete", +) +class Delete(AAZCommand): + """Delete the Access Control List resource + + :example: Delete a Access Control List resource + az networkfabric acl delete --resource-group "example-rg" --resource-name "example-acl" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/accesscontrollists/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Access Control List", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AccessControlListsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class AccessControlListsDelete(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.ManagedNetworkFabric/accessControlLists/{accessControlListName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accessControlListName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_list.py new file mode 100644 index 00000000000..fe449f0e53e --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_list.py @@ -0,0 +1,432 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric acl list", +) +class List(AAZCommand): + """List all Access Control Lists in the provided resource group or subscription + + :example: List all Access Control Lists + az networkfabric acl list --resource-group "example-rg" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/accesscontrollists", "2023-02-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/accesscontrollists", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + ) + 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.AccessControlListsListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.AccessControlListsListBySubscription(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 AccessControlListsListByResourceGroup(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.ManagedNetworkFabric/accessControlLists", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.address_family = AAZStrType( + serialized_name="addressFamily", + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.conditions = AAZListType( + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + conditions = cls._schema_on_200.value.Element.properties.conditions + conditions.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.conditions.Element + _element.action = AAZStrType( + flags={"required": True}, + ) + _element.annotation = AAZStrType() + _element.destination_address = AAZStrType( + serialized_name="destinationAddress", + flags={"required": True}, + ) + _element.destination_port = AAZStrType( + serialized_name="destinationPort", + flags={"required": True}, + ) + _element.protocol = AAZIntType( + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + _element.source_address = AAZStrType( + serialized_name="sourceAddress", + flags={"required": True}, + ) + _element.source_port = AAZStrType( + serialized_name="sourcePort", + flags={"required": 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 AccessControlListsListBySubscription(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.ManagedNetworkFabric/accessControlLists", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.address_family = AAZStrType( + serialized_name="addressFamily", + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.conditions = AAZListType( + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + conditions = cls._schema_on_200.value.Element.properties.conditions + conditions.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.conditions.Element + _element.action = AAZStrType( + flags={"required": True}, + ) + _element.annotation = AAZStrType() + _element.destination_address = AAZStrType( + serialized_name="destinationAddress", + flags={"required": True}, + ) + _element.destination_port = AAZStrType( + serialized_name="destinationPort", + flags={"required": True}, + ) + _element.protocol = AAZIntType( + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + _element.source_address = AAZStrType( + serialized_name="sourceAddress", + flags={"required": True}, + ) + _element.source_port = AAZStrType( + serialized_name="sourcePort", + flags={"required": 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_show.py new file mode 100644 index 00000000000..3a8271f8235 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/acl/_show.py @@ -0,0 +1,254 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric acl show", +) +class Show(AAZCommand): + """Show details of the provided Access Control List resource + + :example: Show the Access Control List resource + az networkfabric acl show --resource-group "example-rg" --resource-name "example-acl" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/accesscontrollists/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Access Control List", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.AccessControlListsGet(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 AccessControlListsGet(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.ManagedNetworkFabric/accessControlLists/{accessControlListName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "accessControlListName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.address_family = AAZStrType( + serialized_name="addressFamily", + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.conditions = AAZListType( + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + conditions = cls._schema_on_200.properties.conditions + conditions.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.conditions.Element + _element.action = AAZStrType( + flags={"required": True}, + ) + _element.annotation = AAZStrType() + _element.destination_address = AAZStrType( + serialized_name="destinationAddress", + flags={"required": True}, + ) + _element.destination_port = AAZStrType( + serialized_name="destinationPort", + flags={"required": True}, + ) + _element.protocol = AAZIntType( + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + _element.source_address = AAZStrType( + serialized_name="sourceAddress", + flags={"required": True}, + ) + _element.source_port = AAZStrType( + serialized_name="sourcePort", + flags={"required": 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/__cmd_group.py new file mode 100644 index 00000000000..82612e70310 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/__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( + "networkfabric controller", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Fabric Controller Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/__init__.py new file mode 100644 index 00000000000..2d1a2078686 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_create.py new file mode 100644 index 00000000000..43a7b523f7e --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_create.py @@ -0,0 +1,483 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric controller create", +) +class Create(AAZCommand): + """Create a Network Fabric Controller resource. + + :example: Create a Network Fabric Controller. For RE-PUT with 'mrg' parameter, both name and location properties are required. + az networkfabric controller create --resource-group "example-rg" --location "westus3" --resource-name "example-nfc" --ipv4-address-space "10.0.0.0/19" --infra-er-connections "[{expressRouteCircuitId:'/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-expressRouteCircuit',expressRouteAuthorizationKey:'auth-key'},{expressRouteCircuitId:'/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-expressRouteCircuit',expressRouteAuthorizationKey:'auth-key'}]" --workload-er-connections "[{expressRouteCircuitId:'/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-expressRouteCircuit',expressRouteAuthorizationKey:'auth-key'},{expressRouteCircuitId:'/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-expressRouteCircuit',expressRouteAuthorizationKey:'auth-key'}]" --mrg name=example-mrgName location=eastus + + :example: Help text for sub parameters under the specific parent can be viewed by using the shorthand syntax '??'. See https://github.com/Azure/azure-cli/tree/dev/doc/shorthand_syntax.md for more about shorthand syntax. + az networkfabric controller create --infra-er-connections ?? + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabriccontrollers/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Fabric Controller", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Body", + help="Location of Azure region", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Body", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.infra_er_connections = AAZListArg( + options=["--infra-er-connections"], + arg_group="Properties", + help="Infra ER connections to manage infra resources.", + ) + _args_schema.ipv4_address_space = AAZStrArg( + options=["--ipv4-address-space"], + arg_group="Properties", + help="IPv4 Network Fabric Controller Address Space.", + ) + _args_schema.ipv6_address_space = AAZStrArg( + options=["--ipv6-address-space"], + arg_group="Properties", + help="IPv6 Network Fabric Controller Address Space.", + ) + _args_schema.managed_resource_group_configuration = AAZObjectArg( + options=["--mrg", "--managed-resource-group-configuration"], + arg_group="Properties", + help="Managed Resource Group configuration properties.", + ) + _args_schema.workload_er_connections = AAZListArg( + options=["--workload-er-connections"], + arg_group="Properties", + help="workload management Network for hosting Proxy, NTP and DNS for workloads.", + ) + + infra_er_connections = cls._args_schema.infra_er_connections + infra_er_connections.Element = AAZObjectArg() + cls._build_args_express_route_connection_information_create(infra_er_connections.Element) + + managed_resource_group_configuration = cls._args_schema.managed_resource_group_configuration + managed_resource_group_configuration.location = AAZStrArg( + options=["location"], + help="Managed resource group location.", + ) + managed_resource_group_configuration.name = AAZStrArg( + options=["name"], + help="The NFC service will be hosted in a Managed resource group.", + ) + + workload_er_connections = cls._args_schema.workload_er_connections + workload_er_connections.Element = AAZObjectArg() + cls._build_args_express_route_connection_information_create(workload_er_connections.Element) + return cls._args_schema + + _args_express_route_connection_information_create = None + + @classmethod + def _build_args_express_route_connection_information_create(cls, _schema): + if cls._args_express_route_connection_information_create is not None: + _schema.express_route_authorization_key = cls._args_express_route_connection_information_create.express_route_authorization_key + _schema.express_route_circuit_id = cls._args_express_route_connection_information_create.express_route_circuit_id + return + + cls._args_express_route_connection_information_create = AAZObjectArg() + + express_route_connection_information_create = cls._args_express_route_connection_information_create + express_route_connection_information_create.express_route_authorization_key = AAZStrArg( + options=["express-route-authorization-key"], + help="Authorization key for the circuit, must be of type Microsoft.Network/expressRouteCircuits/authorizations.", + required=True, + ) + express_route_connection_information_create.express_route_circuit_id = AAZStrArg( + options=["express-route-circuit-id"], + help="The name of express route circuit, must be of type Microsoft.NetworkexpressRouteCircuits/circuitName.", + required=True, + ) + + _schema.express_route_authorization_key = cls._args_express_route_connection_information_create.express_route_authorization_key + _schema.express_route_circuit_id = cls._args_express_route_connection_information_create.express_route_circuit_id + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkFabricControllersCreate(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 NetworkFabricControllersCreate(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.ManagedNetworkFabric/networkFabricControllers/{networkFabricControllerName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricControllerName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("infrastructureExpressRouteConnections", AAZListType, ".infra_er_connections") + properties.set_prop("ipv4AddressSpace", AAZStrType, ".ipv4_address_space") + properties.set_prop("ipv6AddressSpace", AAZStrType, ".ipv6_address_space") + properties.set_prop("managedResourceGroupConfiguration", AAZObjectType, ".managed_resource_group_configuration") + properties.set_prop("workloadExpressRouteConnections", AAZListType, ".workload_er_connections") + + infrastructure_express_route_connections = _builder.get(".properties.infrastructureExpressRouteConnections") + if infrastructure_express_route_connections is not None: + _CreateHelper._build_schema_express_route_connection_information_create(infrastructure_express_route_connections.set_elements(AAZObjectType, ".")) + + managed_resource_group_configuration = _builder.get(".properties.managedResourceGroupConfiguration") + if managed_resource_group_configuration is not None: + managed_resource_group_configuration.set_prop("location", AAZStrType, ".location") + managed_resource_group_configuration.set_prop("name", AAZStrType, ".name") + + workload_express_route_connections = _builder.get(".properties.workloadExpressRouteConnections") + if workload_express_route_connections is not None: + _CreateHelper._build_schema_express_route_connection_information_create(workload_express_route_connections.set_elements(AAZObjectType, ".")) + + 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.annotation = AAZStrType() + properties.infrastructure_express_route_connections = AAZListType( + serialized_name="infrastructureExpressRouteConnections", + ) + properties.infrastructure_services = AAZObjectType( + serialized_name="infrastructureServices", + flags={"read_only": True}, + ) + properties.ipv4_address_space = AAZStrType( + serialized_name="ipv4AddressSpace", + ) + properties.ipv6_address_space = AAZStrType( + serialized_name="ipv6AddressSpace", + ) + properties.managed_resource_group_configuration = AAZObjectType( + serialized_name="managedResourceGroupConfiguration", + ) + properties.network_fabric_ids = AAZListType( + serialized_name="networkFabricIds", + flags={"read_only": True}, + ) + properties.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.workload_express_route_connections = AAZListType( + serialized_name="workloadExpressRouteConnections", + ) + properties.workload_management_network = AAZBoolType( + serialized_name="workloadManagementNetwork", + flags={"read_only": True}, + ) + properties.workload_services = AAZObjectType( + serialized_name="workloadServices", + flags={"read_only": True}, + ) + + infrastructure_express_route_connections = cls._schema_on_200_201.properties.infrastructure_express_route_connections + infrastructure_express_route_connections.Element = AAZObjectType() + _CreateHelper._build_schema_express_route_connection_information_read(infrastructure_express_route_connections.Element) + + infrastructure_services = cls._schema_on_200_201.properties.infrastructure_services + infrastructure_services.ipv4_address_spaces = AAZListType( + serialized_name="ipv4AddressSpaces", + ) + infrastructure_services.ipv6_address_spaces = AAZListType( + serialized_name="ipv6AddressSpaces", + ) + + ipv4_address_spaces = cls._schema_on_200_201.properties.infrastructure_services.ipv4_address_spaces + ipv4_address_spaces.Element = AAZStrType() + + ipv6_address_spaces = cls._schema_on_200_201.properties.infrastructure_services.ipv6_address_spaces + ipv6_address_spaces.Element = AAZStrType() + + managed_resource_group_configuration = cls._schema_on_200_201.properties.managed_resource_group_configuration + managed_resource_group_configuration.location = AAZStrType() + managed_resource_group_configuration.name = AAZStrType() + + network_fabric_ids = cls._schema_on_200_201.properties.network_fabric_ids + network_fabric_ids.Element = AAZStrType() + + workload_express_route_connections = cls._schema_on_200_201.properties.workload_express_route_connections + workload_express_route_connections.Element = AAZObjectType() + _CreateHelper._build_schema_express_route_connection_information_read(workload_express_route_connections.Element) + + workload_services = cls._schema_on_200_201.properties.workload_services + workload_services.ipv4_address_spaces = AAZListType( + serialized_name="ipv4AddressSpaces", + ) + workload_services.ipv6_address_spaces = AAZListType( + serialized_name="ipv6AddressSpaces", + ) + + ipv4_address_spaces = cls._schema_on_200_201.properties.workload_services.ipv4_address_spaces + ipv4_address_spaces.Element = AAZStrType() + + ipv6_address_spaces = cls._schema_on_200_201.properties.workload_services.ipv6_address_spaces + ipv6_address_spaces.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", + ) + + tags = cls._schema_on_200_201.tags + tags.Element = AAZStrType() + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + @classmethod + def _build_schema_express_route_connection_information_create(cls, _builder): + if _builder is None: + return + _builder.set_prop("expressRouteAuthorizationKey", AAZStrType, ".express_route_authorization_key", typ_kwargs={"flags": {"required": True, "secret": True}}) + _builder.set_prop("expressRouteCircuitId", AAZStrType, ".express_route_circuit_id", typ_kwargs={"flags": {"required": True}}) + + _schema_express_route_connection_information_read = None + + @classmethod + def _build_schema_express_route_connection_information_read(cls, _schema): + if cls._schema_express_route_connection_information_read is not None: + _schema.express_route_authorization_key = cls._schema_express_route_connection_information_read.express_route_authorization_key + _schema.express_route_circuit_id = cls._schema_express_route_connection_information_read.express_route_circuit_id + return + + cls._schema_express_route_connection_information_read = _schema_express_route_connection_information_read = AAZObjectType() + + express_route_connection_information_read = _schema_express_route_connection_information_read + express_route_connection_information_read.express_route_authorization_key = AAZStrType( + serialized_name="expressRouteAuthorizationKey", + flags={"required": True, "secret": True}, + ) + express_route_connection_information_read.express_route_circuit_id = AAZStrType( + serialized_name="expressRouteCircuitId", + flags={"required": True}, + ) + + _schema.express_route_authorization_key = cls._schema_express_route_connection_information_read.express_route_authorization_key + _schema.express_route_circuit_id = cls._schema_express_route_connection_information_read.express_route_circuit_id + + +__all__ = ["Create"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_delete.py new file mode 100644 index 00000000000..da4bb5f5cd0 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_delete.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric controller delete", +) +class Delete(AAZCommand): + """Delete the Network Fabric Controller resource. + + :example: Delete the Network Fabric Controller + az networkfabric controller delete --resource-group "example-rg" --resource-name "example-nfc" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabriccontrollers/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Fabric Controller", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkFabricControllersDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkFabricControllersDelete(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.ManagedNetworkFabric/networkFabricControllers/{networkFabricControllerName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricControllerName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_list.py new file mode 100644 index 00000000000..c10fb6f53a9 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_list.py @@ -0,0 +1,538 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric controller list", +) +class List(AAZCommand): + """List all Network Fabric Controllers in the provided resource group or subscription. + + :example: List the Network Fabric Controllers for Resource group + az networkfabric controller list --resource-group "example-rg" + az networkfabric controller list -g "example-rg" + + :example: List the Network Fabric Controllers for Subscription. + az networkfabric controller list --subscription "" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/networkfabriccontrollers", "2023-02-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabriccontrollers", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + ) + 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.NetworkFabricControllersListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.NetworkFabricControllersListBySubscription(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 NetworkFabricControllersListByResourceGroup(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.ManagedNetworkFabric/networkFabricControllers", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.infrastructure_express_route_connections = AAZListType( + serialized_name="infrastructureExpressRouteConnections", + ) + properties.infrastructure_services = AAZObjectType( + serialized_name="infrastructureServices", + flags={"read_only": True}, + ) + properties.ipv4_address_space = AAZStrType( + serialized_name="ipv4AddressSpace", + ) + properties.ipv6_address_space = AAZStrType( + serialized_name="ipv6AddressSpace", + ) + properties.managed_resource_group_configuration = AAZObjectType( + serialized_name="managedResourceGroupConfiguration", + ) + properties.network_fabric_ids = AAZListType( + serialized_name="networkFabricIds", + flags={"read_only": True}, + ) + properties.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.workload_express_route_connections = AAZListType( + serialized_name="workloadExpressRouteConnections", + ) + properties.workload_management_network = AAZBoolType( + serialized_name="workloadManagementNetwork", + flags={"read_only": True}, + ) + properties.workload_services = AAZObjectType( + serialized_name="workloadServices", + flags={"read_only": True}, + ) + + infrastructure_express_route_connections = cls._schema_on_200.value.Element.properties.infrastructure_express_route_connections + infrastructure_express_route_connections.Element = AAZObjectType() + _ListHelper._build_schema_express_route_connection_information_read(infrastructure_express_route_connections.Element) + + infrastructure_services = cls._schema_on_200.value.Element.properties.infrastructure_services + infrastructure_services.ipv4_address_spaces = AAZListType( + serialized_name="ipv4AddressSpaces", + ) + infrastructure_services.ipv6_address_spaces = AAZListType( + serialized_name="ipv6AddressSpaces", + ) + + ipv4_address_spaces = cls._schema_on_200.value.Element.properties.infrastructure_services.ipv4_address_spaces + ipv4_address_spaces.Element = AAZStrType() + + ipv6_address_spaces = cls._schema_on_200.value.Element.properties.infrastructure_services.ipv6_address_spaces + ipv6_address_spaces.Element = AAZStrType() + + managed_resource_group_configuration = cls._schema_on_200.value.Element.properties.managed_resource_group_configuration + managed_resource_group_configuration.location = AAZStrType() + managed_resource_group_configuration.name = AAZStrType() + + network_fabric_ids = cls._schema_on_200.value.Element.properties.network_fabric_ids + network_fabric_ids.Element = AAZStrType() + + workload_express_route_connections = cls._schema_on_200.value.Element.properties.workload_express_route_connections + workload_express_route_connections.Element = AAZObjectType() + _ListHelper._build_schema_express_route_connection_information_read(workload_express_route_connections.Element) + + workload_services = cls._schema_on_200.value.Element.properties.workload_services + workload_services.ipv4_address_spaces = AAZListType( + serialized_name="ipv4AddressSpaces", + ) + workload_services.ipv6_address_spaces = AAZListType( + serialized_name="ipv6AddressSpaces", + ) + + ipv4_address_spaces = cls._schema_on_200.value.Element.properties.workload_services.ipv4_address_spaces + ipv4_address_spaces.Element = AAZStrType() + + ipv6_address_spaces = cls._schema_on_200.value.Element.properties.workload_services.ipv6_address_spaces + ipv6_address_spaces.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", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class NetworkFabricControllersListBySubscription(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.ManagedNetworkFabric/networkFabricControllers", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.infrastructure_express_route_connections = AAZListType( + serialized_name="infrastructureExpressRouteConnections", + ) + properties.infrastructure_services = AAZObjectType( + serialized_name="infrastructureServices", + flags={"read_only": True}, + ) + properties.ipv4_address_space = AAZStrType( + serialized_name="ipv4AddressSpace", + ) + properties.ipv6_address_space = AAZStrType( + serialized_name="ipv6AddressSpace", + ) + properties.managed_resource_group_configuration = AAZObjectType( + serialized_name="managedResourceGroupConfiguration", + ) + properties.network_fabric_ids = AAZListType( + serialized_name="networkFabricIds", + flags={"read_only": True}, + ) + properties.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.workload_express_route_connections = AAZListType( + serialized_name="workloadExpressRouteConnections", + ) + properties.workload_management_network = AAZBoolType( + serialized_name="workloadManagementNetwork", + flags={"read_only": True}, + ) + properties.workload_services = AAZObjectType( + serialized_name="workloadServices", + flags={"read_only": True}, + ) + + infrastructure_express_route_connections = cls._schema_on_200.value.Element.properties.infrastructure_express_route_connections + infrastructure_express_route_connections.Element = AAZObjectType() + _ListHelper._build_schema_express_route_connection_information_read(infrastructure_express_route_connections.Element) + + infrastructure_services = cls._schema_on_200.value.Element.properties.infrastructure_services + infrastructure_services.ipv4_address_spaces = AAZListType( + serialized_name="ipv4AddressSpaces", + ) + infrastructure_services.ipv6_address_spaces = AAZListType( + serialized_name="ipv6AddressSpaces", + ) + + ipv4_address_spaces = cls._schema_on_200.value.Element.properties.infrastructure_services.ipv4_address_spaces + ipv4_address_spaces.Element = AAZStrType() + + ipv6_address_spaces = cls._schema_on_200.value.Element.properties.infrastructure_services.ipv6_address_spaces + ipv6_address_spaces.Element = AAZStrType() + + managed_resource_group_configuration = cls._schema_on_200.value.Element.properties.managed_resource_group_configuration + managed_resource_group_configuration.location = AAZStrType() + managed_resource_group_configuration.name = AAZStrType() + + network_fabric_ids = cls._schema_on_200.value.Element.properties.network_fabric_ids + network_fabric_ids.Element = AAZStrType() + + workload_express_route_connections = cls._schema_on_200.value.Element.properties.workload_express_route_connections + workload_express_route_connections.Element = AAZObjectType() + _ListHelper._build_schema_express_route_connection_information_read(workload_express_route_connections.Element) + + workload_services = cls._schema_on_200.value.Element.properties.workload_services + workload_services.ipv4_address_spaces = AAZListType( + serialized_name="ipv4AddressSpaces", + ) + workload_services.ipv6_address_spaces = AAZListType( + serialized_name="ipv6AddressSpaces", + ) + + ipv4_address_spaces = cls._schema_on_200.value.Element.properties.workload_services.ipv4_address_spaces + ipv4_address_spaces.Element = AAZStrType() + + ipv6_address_spaces = cls._schema_on_200.value.Element.properties.workload_services.ipv6_address_spaces + ipv6_address_spaces.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", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + _schema_express_route_connection_information_read = None + + @classmethod + def _build_schema_express_route_connection_information_read(cls, _schema): + if cls._schema_express_route_connection_information_read is not None: + _schema.express_route_authorization_key = cls._schema_express_route_connection_information_read.express_route_authorization_key + _schema.express_route_circuit_id = cls._schema_express_route_connection_information_read.express_route_circuit_id + return + + cls._schema_express_route_connection_information_read = _schema_express_route_connection_information_read = AAZObjectType() + + express_route_connection_information_read = _schema_express_route_connection_information_read + express_route_connection_information_read.express_route_authorization_key = AAZStrType( + serialized_name="expressRouteAuthorizationKey", + flags={"required": True, "secret": True}, + ) + express_route_connection_information_read.express_route_circuit_id = AAZStrType( + serialized_name="expressRouteCircuitId", + flags={"required": True}, + ) + + _schema.express_route_authorization_key = cls._schema_express_route_connection_information_read.express_route_authorization_key + _schema.express_route_circuit_id = cls._schema_express_route_connection_information_read.express_route_circuit_id + + +__all__ = ["List"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_show.py new file mode 100644 index 00000000000..801fe5085e6 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_show.py @@ -0,0 +1,317 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric controller show", +) +class Show(AAZCommand): + """Show details of the provided Network Fabric Controller resource. + + :example: Show the Network Fabric Controller + az networkfabric controller show --resource-group "example-rg" --resource-name "example-nfc" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabriccontrollers/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Fabric Controller", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkFabricControllersGet(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 NetworkFabricControllersGet(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.ManagedNetworkFabric/networkFabricControllers/{networkFabricControllerName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricControllerName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.infrastructure_express_route_connections = AAZListType( + serialized_name="infrastructureExpressRouteConnections", + ) + properties.infrastructure_services = AAZObjectType( + serialized_name="infrastructureServices", + flags={"read_only": True}, + ) + properties.ipv4_address_space = AAZStrType( + serialized_name="ipv4AddressSpace", + ) + properties.ipv6_address_space = AAZStrType( + serialized_name="ipv6AddressSpace", + ) + properties.managed_resource_group_configuration = AAZObjectType( + serialized_name="managedResourceGroupConfiguration", + ) + properties.network_fabric_ids = AAZListType( + serialized_name="networkFabricIds", + flags={"read_only": True}, + ) + properties.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.workload_express_route_connections = AAZListType( + serialized_name="workloadExpressRouteConnections", + ) + properties.workload_management_network = AAZBoolType( + serialized_name="workloadManagementNetwork", + flags={"read_only": True}, + ) + properties.workload_services = AAZObjectType( + serialized_name="workloadServices", + flags={"read_only": True}, + ) + + infrastructure_express_route_connections = cls._schema_on_200.properties.infrastructure_express_route_connections + infrastructure_express_route_connections.Element = AAZObjectType() + _ShowHelper._build_schema_express_route_connection_information_read(infrastructure_express_route_connections.Element) + + infrastructure_services = cls._schema_on_200.properties.infrastructure_services + infrastructure_services.ipv4_address_spaces = AAZListType( + serialized_name="ipv4AddressSpaces", + ) + infrastructure_services.ipv6_address_spaces = AAZListType( + serialized_name="ipv6AddressSpaces", + ) + + ipv4_address_spaces = cls._schema_on_200.properties.infrastructure_services.ipv4_address_spaces + ipv4_address_spaces.Element = AAZStrType() + + ipv6_address_spaces = cls._schema_on_200.properties.infrastructure_services.ipv6_address_spaces + ipv6_address_spaces.Element = AAZStrType() + + managed_resource_group_configuration = cls._schema_on_200.properties.managed_resource_group_configuration + managed_resource_group_configuration.location = AAZStrType() + managed_resource_group_configuration.name = AAZStrType() + + network_fabric_ids = cls._schema_on_200.properties.network_fabric_ids + network_fabric_ids.Element = AAZStrType() + + workload_express_route_connections = cls._schema_on_200.properties.workload_express_route_connections + workload_express_route_connections.Element = AAZObjectType() + _ShowHelper._build_schema_express_route_connection_information_read(workload_express_route_connections.Element) + + workload_services = cls._schema_on_200.properties.workload_services + workload_services.ipv4_address_spaces = AAZListType( + serialized_name="ipv4AddressSpaces", + ) + workload_services.ipv6_address_spaces = AAZListType( + serialized_name="ipv6AddressSpaces", + ) + + ipv4_address_spaces = cls._schema_on_200.properties.workload_services.ipv4_address_spaces + ipv4_address_spaces.Element = AAZStrType() + + ipv6_address_spaces = cls._schema_on_200.properties.workload_services.ipv6_address_spaces + ipv6_address_spaces.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", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + _schema_express_route_connection_information_read = None + + @classmethod + def _build_schema_express_route_connection_information_read(cls, _schema): + if cls._schema_express_route_connection_information_read is not None: + _schema.express_route_authorization_key = cls._schema_express_route_connection_information_read.express_route_authorization_key + _schema.express_route_circuit_id = cls._schema_express_route_connection_information_read.express_route_circuit_id + return + + cls._schema_express_route_connection_information_read = _schema_express_route_connection_information_read = AAZObjectType() + + express_route_connection_information_read = _schema_express_route_connection_information_read + express_route_connection_information_read.express_route_authorization_key = AAZStrType( + serialized_name="expressRouteAuthorizationKey", + flags={"required": True, "secret": True}, + ) + express_route_connection_information_read.express_route_circuit_id = AAZStrType( + serialized_name="expressRouteCircuitId", + flags={"required": True}, + ) + + _schema.express_route_authorization_key = cls._schema_express_route_connection_information_read.express_route_authorization_key + _schema.express_route_circuit_id = cls._schema_express_route_connection_information_read.express_route_circuit_id + + +__all__ = ["Show"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_wait.py new file mode 100644 index 00000000000..e56903fe6d0 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/controller/_wait.py @@ -0,0 +1,313 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric controller 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.managednetworkfabric/networkfabriccontrollers/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Fabric Controller", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkFabricControllersGet(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 NetworkFabricControllersGet(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.ManagedNetworkFabric/networkFabricControllers/{networkFabricControllerName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricControllerName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.infrastructure_express_route_connections = AAZListType( + serialized_name="infrastructureExpressRouteConnections", + ) + properties.infrastructure_services = AAZObjectType( + serialized_name="infrastructureServices", + flags={"read_only": True}, + ) + properties.ipv4_address_space = AAZStrType( + serialized_name="ipv4AddressSpace", + ) + properties.ipv6_address_space = AAZStrType( + serialized_name="ipv6AddressSpace", + ) + properties.managed_resource_group_configuration = AAZObjectType( + serialized_name="managedResourceGroupConfiguration", + ) + properties.network_fabric_ids = AAZListType( + serialized_name="networkFabricIds", + flags={"read_only": True}, + ) + properties.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.workload_express_route_connections = AAZListType( + serialized_name="workloadExpressRouteConnections", + ) + properties.workload_management_network = AAZBoolType( + serialized_name="workloadManagementNetwork", + flags={"read_only": True}, + ) + properties.workload_services = AAZObjectType( + serialized_name="workloadServices", + flags={"read_only": True}, + ) + + infrastructure_express_route_connections = cls._schema_on_200.properties.infrastructure_express_route_connections + infrastructure_express_route_connections.Element = AAZObjectType() + _WaitHelper._build_schema_express_route_connection_information_read(infrastructure_express_route_connections.Element) + + infrastructure_services = cls._schema_on_200.properties.infrastructure_services + infrastructure_services.ipv4_address_spaces = AAZListType( + serialized_name="ipv4AddressSpaces", + ) + infrastructure_services.ipv6_address_spaces = AAZListType( + serialized_name="ipv6AddressSpaces", + ) + + ipv4_address_spaces = cls._schema_on_200.properties.infrastructure_services.ipv4_address_spaces + ipv4_address_spaces.Element = AAZStrType() + + ipv6_address_spaces = cls._schema_on_200.properties.infrastructure_services.ipv6_address_spaces + ipv6_address_spaces.Element = AAZStrType() + + managed_resource_group_configuration = cls._schema_on_200.properties.managed_resource_group_configuration + managed_resource_group_configuration.location = AAZStrType() + managed_resource_group_configuration.name = AAZStrType() + + network_fabric_ids = cls._schema_on_200.properties.network_fabric_ids + network_fabric_ids.Element = AAZStrType() + + workload_express_route_connections = cls._schema_on_200.properties.workload_express_route_connections + workload_express_route_connections.Element = AAZObjectType() + _WaitHelper._build_schema_express_route_connection_information_read(workload_express_route_connections.Element) + + workload_services = cls._schema_on_200.properties.workload_services + workload_services.ipv4_address_spaces = AAZListType( + serialized_name="ipv4AddressSpaces", + ) + workload_services.ipv6_address_spaces = AAZListType( + serialized_name="ipv6AddressSpaces", + ) + + ipv4_address_spaces = cls._schema_on_200.properties.workload_services.ipv4_address_spaces + ipv4_address_spaces.Element = AAZStrType() + + ipv6_address_spaces = cls._schema_on_200.properties.workload_services.ipv6_address_spaces + ipv6_address_spaces.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", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + _schema_express_route_connection_information_read = None + + @classmethod + def _build_schema_express_route_connection_information_read(cls, _schema): + if cls._schema_express_route_connection_information_read is not None: + _schema.express_route_authorization_key = cls._schema_express_route_connection_information_read.express_route_authorization_key + _schema.express_route_circuit_id = cls._schema_express_route_connection_information_read.express_route_circuit_id + return + + cls._schema_express_route_connection_information_read = _schema_express_route_connection_information_read = AAZObjectType() + + express_route_connection_information_read = _schema_express_route_connection_information_read + express_route_connection_information_read.express_route_authorization_key = AAZStrType( + serialized_name="expressRouteAuthorizationKey", + flags={"required": True, "secret": True}, + ) + express_route_connection_information_read.express_route_circuit_id = AAZStrType( + serialized_name="expressRouteCircuitId", + flags={"required": True}, + ) + + _schema.express_route_authorization_key = cls._schema_express_route_connection_information_read.express_route_authorization_key + _schema.express_route_circuit_id = cls._schema_express_route_connection_information_read.express_route_circuit_id + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/__cmd_group.py new file mode 100644 index 00000000000..21a72accce1 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/__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( + "networkfabric device", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Device Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/__init__.py new file mode 100644 index 00000000000..f32b66e3eeb --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._delete import * +from ._list import * +from ._show import * +from ._update import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_delete.py new file mode 100644 index 00000000000..4d242ac3d42 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_delete.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric device delete", +) +class Delete(AAZCommand): + """Delete the Network Device resource. + + :example: Delete the Network Device + az networkfabric device delete --resource-group "example-rg" --resource-name "example-device" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkdevices/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Device", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkDevicesDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkDevicesDelete(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.ManagedNetworkFabric/networkDevices/{networkDeviceName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkDeviceName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_list.py new file mode 100644 index 00000000000..f1547c33df1 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_list.py @@ -0,0 +1,401 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric device list", +) +class List(AAZCommand): + """List all Network Devices in the provided resource group or subscription. + + :example: List the Network Devices for Resource Group + az networkfabric device list --resource-group "example-rg" + + :example: List the Network Devices for Subscription + az networkfabric device list --subscription "" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/networkdevices", "2023-02-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkdevices", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + ) + 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.NetworkDevicesListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.NetworkDevicesListBySubscription(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 NetworkDevicesListByResourceGroup(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.ManagedNetworkFabric/networkDevices", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.host_name = AAZStrType( + serialized_name="hostName", + ) + properties.network_device_role = AAZStrType( + serialized_name="networkDeviceRole", + flags={"required": True}, + ) + properties.network_device_sku = AAZStrType( + serialized_name="networkDeviceSku", + flags={"required": True}, + ) + properties.network_rack_id = AAZStrType( + serialized_name="networkRackId", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.serial_number = AAZStrType( + serialized_name="serialNumber", + flags={"required": True}, + ) + properties.version = AAZStrType( + 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 NetworkDevicesListBySubscription(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.ManagedNetworkFabric/networkDevices", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.host_name = AAZStrType( + serialized_name="hostName", + ) + properties.network_device_role = AAZStrType( + serialized_name="networkDeviceRole", + flags={"required": True}, + ) + properties.network_device_sku = AAZStrType( + serialized_name="networkDeviceSku", + flags={"required": True}, + ) + properties.network_rack_id = AAZStrType( + serialized_name="networkRackId", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.serial_number = AAZStrType( + serialized_name="serialNumber", + flags={"required": True}, + ) + properties.version = AAZStrType( + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_show.py new file mode 100644 index 00000000000..eb1e63cf01f --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_show.py @@ -0,0 +1,237 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric device show", +) +class Show(AAZCommand): + """Show details of the provided Network Device resource. + + :example: Show the Network Device + az networkfabric device show --resource-group "example-rg" --resource-name "example-device" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkdevices/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Device", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkDevicesGet(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 NetworkDevicesGet(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.ManagedNetworkFabric/networkDevices/{networkDeviceName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkDeviceName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.host_name = AAZStrType( + serialized_name="hostName", + ) + properties.network_device_role = AAZStrType( + serialized_name="networkDeviceRole", + flags={"required": True}, + ) + properties.network_device_sku = AAZStrType( + serialized_name="networkDeviceSku", + flags={"required": True}, + ) + properties.network_rack_id = AAZStrType( + serialized_name="networkRackId", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.serial_number = AAZStrType( + serialized_name="serialNumber", + flags={"required": True}, + ) + properties.version = AAZStrType( + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_update.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_update.py new file mode 100644 index 00000000000..ac00a1d604b --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_update.py @@ -0,0 +1,310 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric device update", +) +class Update(AAZCommand): + """Update the properties of the provided Network Device resource. + + :example: Update the Network Device + az networkfabric device update --resource-group "example-rg" --resource-name "example-device" --host-name "AustinNF-AR-CE1" --serial-number "Arista;DCS-7280DR3-24;12.05;JPE21115446" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkdevices/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Device", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Body", + help="Azure resource tags that will replace the existing ones.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.host_name = AAZStrArg( + options=["--host-name"], + arg_group="Properties", + help="The Host Name of the device. All Network Device names should follow the format --. Example: AustinNF-AR-CE1", + ) + _args_schema.serial_number = AAZStrArg( + options=["--serial-number"], + arg_group="Properties", + help="serialNumber of the format Make;Model;HardwareRevisionId;SerialNumber. Example: Arista;DCS-7280DR3-24;12.05;JPE21116969", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkDevicesUpdate(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 NetworkDevicesUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkDevices/{networkDeviceName}", + **self.url_parameters + ) + + @property + def method(self): + return "PATCH" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkDeviceName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("hostName", AAZStrType, ".host_name") + properties.set_prop("serialNumber", AAZStrType, ".serial_number") + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.host_name = AAZStrType( + serialized_name="hostName", + ) + properties.network_device_role = AAZStrType( + serialized_name="networkDeviceRole", + flags={"required": True}, + ) + properties.network_device_sku = AAZStrType( + serialized_name="networkDeviceSku", + flags={"required": True}, + ) + properties.network_rack_id = AAZStrType( + serialized_name="networkRackId", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.serial_number = AAZStrType( + serialized_name="serialNumber", + flags={"required": True}, + ) + properties.version = AAZStrType( + 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 _UpdateHelper: + """Helper class for Update""" + + +__all__ = ["Update"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_wait.py new file mode 100644 index 00000000000..81b174ceca0 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/device/_wait.py @@ -0,0 +1,233 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric device 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.managednetworkfabric/networkdevices/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Device", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkDevicesGet(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 NetworkDevicesGet(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.ManagedNetworkFabric/networkDevices/{networkDeviceName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkDeviceName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.host_name = AAZStrType( + serialized_name="hostName", + ) + properties.network_device_role = AAZStrType( + serialized_name="networkDeviceRole", + flags={"required": True}, + ) + properties.network_device_sku = AAZStrType( + serialized_name="networkDeviceSku", + flags={"required": True}, + ) + properties.network_rack_id = AAZStrType( + serialized_name="networkRackId", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.serial_number = AAZStrType( + serialized_name="serialNumber", + flags={"required": True}, + ) + properties.version = AAZStrType( + 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 _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/__cmd_group.py new file mode 100644 index 00000000000..2fb4cb6bac5 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/__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( + "networkfabric devicesku", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Device SKU Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/__init__.py new file mode 100644 index 00000000000..2df85698253 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/__init__.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._list import * +from ._show import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/_list.py new file mode 100644 index 00000000000..65b43628773 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/_list.py @@ -0,0 +1,272 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric devicesku list", +) +class List(AAZCommand): + """List all Network Device SKUs in the provided subscription. + + :example: List the DeviceSKU for Subscription + az networkfabric devicesku list --subscription + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/networkdeviceskus", "2023-02-01-preview"], + ] + } + + 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 "" + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkDeviceSkusListBySubscription(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 NetworkDeviceSkusListBySubscription(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.ManagedNetworkFabric/networkDeviceSkus", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.interfaces = AAZListType() + properties.limits = AAZObjectType() + properties.manufacturer = AAZStrType() + properties.model = AAZStrType( + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.supported_role_types = AAZListType( + serialized_name="supportedRoleTypes", + ) + properties.supported_versions = AAZListType( + serialized_name="supportedVersions", + ) + + interfaces = cls._schema_on_200.value.Element.properties.interfaces + interfaces.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.interfaces.Element + _element.identifier = AAZStrType() + _element.interface_type = AAZStrType( + serialized_name="interfaceType", + ) + _element.supported_connector_types = AAZListType( + serialized_name="supportedConnectorTypes", + ) + + supported_connector_types = cls._schema_on_200.value.Element.properties.interfaces.Element.supported_connector_types + supported_connector_types.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.interfaces.Element.supported_connector_types.Element + _element.connector_type = AAZStrType( + serialized_name="connectorType", + ) + _element.max_speed_in_mbps = AAZIntType( + serialized_name="maxSpeedInMbps", + ) + + limits = cls._schema_on_200.value.Element.properties.limits + limits.max_bidirectional_forwarding_detection_peers = AAZIntType( + serialized_name="maxBidirectionalForwardingDetectionPeers", + ) + limits.max_border_gateway_protocol_peers = AAZIntType( + serialized_name="maxBorderGatewayProtocolPeers", + ) + limits.max_sub_interfaces = AAZIntType( + serialized_name="maxSubInterfaces", + ) + limits.max_tunnel_interfaces = AAZIntType( + serialized_name="maxTunnelInterfaces", + ) + limits.max_virtual_router_functions = AAZIntType( + serialized_name="maxVirtualRouterFunctions", + ) + limits.physical_interface_count = AAZIntType( + serialized_name="physicalInterfaceCount", + ) + + supported_role_types = cls._schema_on_200.value.Element.properties.supported_role_types + supported_role_types.Element = AAZStrType() + + supported_versions = cls._schema_on_200.value.Element.properties.supported_versions + supported_versions.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.supported_versions.Element + _element.is_current = AAZStrType( + serialized_name="isCurrent", + ) + _element.is_test = AAZStrType( + serialized_name="isTest", + ) + _element.vendor_firmware_version = AAZStrType( + serialized_name="vendorFirmwareVersion", + ) + _element.vendor_os_version = AAZStrType( + serialized_name="vendorOsVersion", + ) + _element.version = 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/_show.py new file mode 100644 index 00000000000..5d15f86e1ea --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/devicesku/_show.py @@ -0,0 +1,272 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric devicesku show", +) +class Show(AAZCommand): + """Show details of the provided Network Device SKU resource. + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/networkdeviceskus/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Device Sku", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkDeviceSkusGet(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 NetworkDeviceSkusGet(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.ManagedNetworkFabric/networkDeviceSkus/{networkDeviceSkuName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkDeviceSkuName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.interfaces = AAZListType() + properties.limits = AAZObjectType() + properties.manufacturer = AAZStrType() + properties.model = AAZStrType( + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.supported_role_types = AAZListType( + serialized_name="supportedRoleTypes", + ) + properties.supported_versions = AAZListType( + serialized_name="supportedVersions", + ) + + interfaces = cls._schema_on_200.properties.interfaces + interfaces.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.interfaces.Element + _element.identifier = AAZStrType() + _element.interface_type = AAZStrType( + serialized_name="interfaceType", + ) + _element.supported_connector_types = AAZListType( + serialized_name="supportedConnectorTypes", + ) + + supported_connector_types = cls._schema_on_200.properties.interfaces.Element.supported_connector_types + supported_connector_types.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.interfaces.Element.supported_connector_types.Element + _element.connector_type = AAZStrType( + serialized_name="connectorType", + ) + _element.max_speed_in_mbps = AAZIntType( + serialized_name="maxSpeedInMbps", + ) + + limits = cls._schema_on_200.properties.limits + limits.max_bidirectional_forwarding_detection_peers = AAZIntType( + serialized_name="maxBidirectionalForwardingDetectionPeers", + ) + limits.max_border_gateway_protocol_peers = AAZIntType( + serialized_name="maxBorderGatewayProtocolPeers", + ) + limits.max_sub_interfaces = AAZIntType( + serialized_name="maxSubInterfaces", + ) + limits.max_tunnel_interfaces = AAZIntType( + serialized_name="maxTunnelInterfaces", + ) + limits.max_virtual_router_functions = AAZIntType( + serialized_name="maxVirtualRouterFunctions", + ) + limits.physical_interface_count = AAZIntType( + serialized_name="physicalInterfaceCount", + ) + + supported_role_types = cls._schema_on_200.properties.supported_role_types + supported_role_types.Element = AAZStrType() + + supported_versions = cls._schema_on_200.properties.supported_versions + supported_versions.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.supported_versions.Element + _element.is_current = AAZStrType( + serialized_name="isCurrent", + ) + _element.is_test = AAZStrType( + serialized_name="isTest", + ) + _element.vendor_firmware_version = AAZStrType( + serialized_name="vendorFirmwareVersion", + ) + _element.vendor_os_version = AAZStrType( + serialized_name="vendorOsVersion", + ) + _element.version = 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/__cmd_group.py new file mode 100644 index 00000000000..522fa739a50 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/__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( + "networkfabric externalnetwork", +) +class __CMDGroup(AAZCommandGroup): + """Manage External Network Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/__init__.py new file mode 100644 index 00000000000..2b037f08f76 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/__init__.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._update_admin_state import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_create.py new file mode 100644 index 00000000000..d929cf8c348 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_create.py @@ -0,0 +1,469 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric externalnetwork create", +) +class Create(AAZCommand): + """Create a External Network resource + + :example: Create a External Network with option B properties + az networkfabric externalnetwork create --resource-group "example-rg" --l3domain "example-l3domain" --resource-name "example-externalNetwork" --peering-option "OptionB" --import-route-policy-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/microsoft.managednetworkfabric/routePolicies/example-routepolicy" --export-route-policy-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/microsoft.managednetworkfabric/routePolicies/example-routepolicy" --option-b-properties "{importRouteTargets:['65541:2001','65542:2002'],exportRouteTargets:['65531:2001','65532:2002']}" + + :example: Create a External Network with option A properties + az networkfabric externalnetwork create --resource-group "example-rg" --l3domain "example-l3domain" --resource-name "example-externalNetwork" --peering-option "OptionA" --import-route-policy-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/microsoft.managednetworkfabric/routePolicies/example-routepolicy" --export-route-policy-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/microsoft.managednetworkfabric/routePolicies/example-routepolicy" --option-a-properties "{peerASN:65234,vlanId:501,mtu:1500,primaryIpv4Prefix:'172.23.1.0/31',secondaryIpv4Prefix:'172.23.1.2/31'}" + + :example: Help text for sub parameters under the specific parent can be viewed by using the shorthand syntax '??'. See https://github.com/Azure/azure-cli/tree/dev/doc/shorthand_syntax.md for more about shorthand syntax. + az networkfabric externalnetwork create --option-a-properties ?? + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/externalnetworks/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the ExternalNetwork", + required=True, + ) + _args_schema.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.export_route_policy_id = AAZStrArg( + options=["--export-route-policy-id"], + arg_group="Properties", + help="ARM resource ID of exportRoutePolicy.", + ) + _args_schema.import_route_policy_id = AAZStrArg( + options=["--import-route-policy-id"], + arg_group="Properties", + help="ARM resource ID of importRoutePolicy.", + ) + _args_schema.option_a_properties = AAZObjectArg( + options=["--option-a-properties"], + arg_group="Properties", + help="option A properties object.", + ) + _args_schema.option_b_properties = AAZObjectArg( + options=["--option-b-properties"], + arg_group="Properties", + help="option B properties object.", + ) + _args_schema.peering_option = AAZStrArg( + options=["--peering-option"], + arg_group="Properties", + help="Peering option list.", + required=True, + enum={"OptionA": "OptionA", "OptionB": "OptionB"}, + ) + + option_a_properties = cls._args_schema.option_a_properties + option_a_properties.mtu = AAZIntArg( + options=["mtu"], + help="MTU to use for option A peering. The value should be between 1500 to 9000.Default Value is 1500. Example : 1650.", + default=1500, + fmt=AAZIntArgFormat( + maximum=9000, + minimum=1500, + ), + ) + option_a_properties.peer_asn = AAZIntArg( + options=["peer-asn"], + help="Peer ASN number. The value should be between 1 to 65535. Example : 65234.", + required=True, + fmt=AAZIntArgFormat( + maximum=65535, + minimum=1, + ), + ) + option_a_properties.primary_ipv4_prefix = AAZStrArg( + options=["primary-ipv4-prefix"], + help="IPv4 Address Prefix of CE-PE interconnect links. Default value is 172.23.1.0/31.", + ) + option_a_properties.primary_ipv6_prefix = AAZStrArg( + options=["primary-ipv6-prefix"], + help="IPv6 Address Prefix of CE-PE interconnect links. Default value is 3FFE:FFFF:0:CD30::a1/126.", + ) + option_a_properties.secondary_ipv4_prefix = AAZStrArg( + options=["secondary-ipv4-prefix"], + help="Secondary IPv4 Address Prefix of CE-PE interconnect links. Default value is 172.23.1.2/31.", + ) + option_a_properties.secondary_ipv6_prefix = AAZStrArg( + options=["secondary-ipv6-prefix"], + help="Secondary IPv6 Address Prefix of CE-PE interconnect links. Default value is 3FFE:FFFF:0:CD30::a1/126.", + ) + option_a_properties.vlan_id = AAZIntArg( + options=["vlan-id"], + help="Vlan identifier. The value should be between 501 to 4095. Example : 501.", + required=True, + fmt=AAZIntArgFormat( + maximum=4095, + minimum=501, + ), + ) + + option_b_properties = cls._args_schema.option_b_properties + option_b_properties.export_route_targets = AAZListArg( + options=["export-route-targets"], + help="Route Targets to be applied for outgoing routes from CE.", + ) + option_b_properties.import_route_targets = AAZListArg( + options=["import-route-targets"], + help="Route Targets to be applied for incoming routes into CE.", + ) + + export_route_targets = cls._args_schema.option_b_properties.export_route_targets + export_route_targets.Element = AAZStrArg() + + import_route_targets = cls._args_schema.option_b_properties.import_route_targets + import_route_targets.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.ExternalNetworksCreate(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 ExternalNetworksCreate(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/externalNetworks/{externalNetworkName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "externalNetworkName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("exportRoutePolicyId", AAZStrType, ".export_route_policy_id") + properties.set_prop("importRoutePolicyId", AAZStrType, ".import_route_policy_id") + properties.set_prop("optionAProperties", AAZObjectType, ".option_a_properties") + properties.set_prop("optionBProperties", AAZObjectType, ".option_b_properties") + properties.set_prop("peeringOption", AAZStrType, ".peering_option", typ_kwargs={"flags": {"required": True}}) + + option_a_properties = _builder.get(".properties.optionAProperties") + if option_a_properties is not None: + option_a_properties.set_prop("mtu", AAZIntType, ".mtu") + option_a_properties.set_prop("peerASN", AAZIntType, ".peer_asn", typ_kwargs={"flags": {"required": True}}) + option_a_properties.set_prop("primaryIpv4Prefix", AAZStrType, ".primary_ipv4_prefix") + option_a_properties.set_prop("primaryIpv6Prefix", AAZStrType, ".primary_ipv6_prefix") + option_a_properties.set_prop("secondaryIpv4Prefix", AAZStrType, ".secondary_ipv4_prefix") + option_a_properties.set_prop("secondaryIpv6Prefix", AAZStrType, ".secondary_ipv6_prefix") + option_a_properties.set_prop("vlanId", AAZIntType, ".vlan_id", typ_kwargs={"flags": {"required": True}}) + + option_b_properties = _builder.get(".properties.optionBProperties") + if option_b_properties is not None: + option_b_properties.set_prop("exportRouteTargets", AAZListType, ".export_route_targets") + option_b_properties.set_prop("importRouteTargets", AAZListType, ".import_route_targets") + + export_route_targets = _builder.get(".properties.optionBProperties.exportRouteTargets") + if export_route_targets is not None: + export_route_targets.set_elements(AAZStrType, ".") + + import_route_targets = _builder.get(".properties.optionBProperties.importRouteTargets") + if import_route_targets is not None: + import_route_targets.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={"required": True, "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.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + properties.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + properties.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + properties.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + properties.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + properties.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + disabled_on_resources = cls._schema_on_200_201.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + option_a_properties = cls._schema_on_200_201.properties.option_a_properties + option_a_properties.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + option_a_properties.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + option_a_properties.mtu = AAZIntType() + option_a_properties.peer_asn = AAZIntType( + serialized_name="peerASN", + flags={"required": True}, + ) + option_a_properties.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + option_a_properties.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + option_a_properties.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + option_a_properties.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + option_a_properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + bfd_configuration = cls._schema_on_200_201.properties.option_a_properties.bfd_configuration + bfd_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + bfd_configuration.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + option_b_properties = cls._schema_on_200_201.properties.option_b_properties + option_b_properties.export_route_targets = AAZListType( + serialized_name="exportRouteTargets", + ) + option_b_properties.import_route_targets = AAZListType( + serialized_name="importRouteTargets", + ) + + export_route_targets = cls._schema_on_200_201.properties.option_b_properties.export_route_targets + export_route_targets.Element = AAZStrType() + + import_route_targets = cls._schema_on_200_201.properties.option_b_properties.import_route_targets + import_route_targets.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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_delete.py new file mode 100644 index 00000000000..01acfcdc8a8 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_delete.py @@ -0,0 +1,173 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric externalnetwork delete", +) +class Delete(AAZCommand): + """Delete the External Network resource. + + :example: Delete the External Network + az networkfabric externalnetwork delete --resource-group "example-rg" --l3domain "example-l3domain" --resource-name "example-externalnetwork" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/externalnetworks/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the ExternalNetwork", + required=True, + id_part="child_name_1", + ) + _args_schema.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.ExternalNetworksDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class ExternalNetworksDelete(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/externalNetworks/{externalNetworkName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "externalNetworkName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_list.py new file mode 100644 index 00000000000..8eafb44ccf3 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_list.py @@ -0,0 +1,303 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric externalnetwork list", +) +class List(AAZCommand): + """List all External Networks in the provided resource group. + + :example: List the External Network for Resource Group + az networkfabric externalnetwork list --resource-group "example-rg" --l3domain "example-l3domain" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/externalnetworks", "2023-02-01-preview"], + ] + } + + 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.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.ExternalNetworksList(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 ExternalNetworksList(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/externalNetworks", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + properties.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + properties.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + properties.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + properties.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + properties.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + disabled_on_resources = cls._schema_on_200.value.Element.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + option_a_properties = cls._schema_on_200.value.Element.properties.option_a_properties + option_a_properties.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + option_a_properties.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + option_a_properties.mtu = AAZIntType() + option_a_properties.peer_asn = AAZIntType( + serialized_name="peerASN", + flags={"required": True}, + ) + option_a_properties.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + option_a_properties.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + option_a_properties.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + option_a_properties.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + option_a_properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + bfd_configuration = cls._schema_on_200.value.Element.properties.option_a_properties.bfd_configuration + bfd_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + bfd_configuration.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + option_b_properties = cls._schema_on_200.value.Element.properties.option_b_properties + option_b_properties.export_route_targets = AAZListType( + serialized_name="exportRouteTargets", + ) + option_b_properties.import_route_targets = AAZListType( + serialized_name="importRouteTargets", + ) + + export_route_targets = cls._schema_on_200.value.Element.properties.option_b_properties.export_route_targets + export_route_targets.Element = AAZStrType() + + import_route_targets = cls._schema_on_200.value.Element.properties.option_b_properties.import_route_targets + import_route_targets.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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_show.py new file mode 100644 index 00000000000..853c8f71844 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_show.py @@ -0,0 +1,305 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric externalnetwork show", +) +class Show(AAZCommand): + """Show details of the provided External Network resource. + + :example: Show the External Network + az networkfabric externalnetwork show --resource-group "example-rg" --l3domain "example-l3domain" --resource-name "example-externalnetwork" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/externalnetworks/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the ExternalNetwork", + required=True, + id_part="child_name_1", + ) + _args_schema.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.ExternalNetworksGet(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 ExternalNetworksGet(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/externalNetworks/{externalNetworkName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "externalNetworkName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + properties.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + properties.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + properties.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + properties.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + properties.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + disabled_on_resources = cls._schema_on_200.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + option_a_properties = cls._schema_on_200.properties.option_a_properties + option_a_properties.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + option_a_properties.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + option_a_properties.mtu = AAZIntType() + option_a_properties.peer_asn = AAZIntType( + serialized_name="peerASN", + flags={"required": True}, + ) + option_a_properties.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + option_a_properties.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + option_a_properties.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + option_a_properties.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + option_a_properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + bfd_configuration = cls._schema_on_200.properties.option_a_properties.bfd_configuration + bfd_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + bfd_configuration.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + option_b_properties = cls._schema_on_200.properties.option_b_properties + option_b_properties.export_route_targets = AAZListType( + serialized_name="exportRouteTargets", + ) + option_b_properties.import_route_targets = AAZListType( + serialized_name="importRouteTargets", + ) + + export_route_targets = cls._schema_on_200.properties.option_b_properties.export_route_targets + export_route_targets.Element = AAZStrType() + + import_route_targets = cls._schema_on_200.properties.option_b_properties.import_route_targets + import_route_targets.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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_update_admin_state.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_update_admin_state.py new file mode 100644 index 00000000000..9d8b7a02b9b --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_update_admin_state.py @@ -0,0 +1,204 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric externalnetwork update-admin-state", +) +class UpdateAdminState(AAZCommand): + """Update the admin state of the provided External Network resource. + + :example: Update admin state of External Network + az networkfabric externalnetwork update-admin-state --resource-group "example-rg" --l3domain "example-l3domain" --resource-name "example-externalNetwork" --state "Enable" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/externalnetworks/{}/updateadministrativestate", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the ExternalNetwork.", + required=True, + id_part="child_name_1", + ) + _args_schema.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.resource_ids = AAZListArg( + options=["--resource-ids"], + arg_group="Body", + help="Network Fabrics or Network Rack resource Id.", + ) + _args_schema.state = AAZStrArg( + options=["--state"], + arg_group="Body", + help="Administrative state.", + enum={"Disable": "Disable", "Enable": "Enable"}, + ) + + resource_ids = cls._args_schema.resource_ids + resource_ids.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.ExternalNetworksUpdateAdministrativeState(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class ExternalNetworksUpdateAdministrativeState(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/externalNetworks/{externalNetworkName}/updateAdministrativeState", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "externalNetworkName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("resourceIds", AAZListType, ".resource_ids") + _builder.set_prop("state", AAZStrType, ".state") + + resource_ids = _builder.get(".resourceIds") + if resource_ids is not None: + resource_ids.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200(self, session): + pass + + +class _UpdateAdminStateHelper: + """Helper class for UpdateAdminState""" + + +__all__ = ["UpdateAdminState"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_wait.py new file mode 100644 index 00000000000..846d2ff72c9 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/externalnetwork/_wait.py @@ -0,0 +1,301 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric externalnetwork 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.managednetworkfabric/l3isolationdomains/{}/externalnetworks/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the ExternalNetwork", + required=True, + id_part="child_name_1", + ) + _args_schema.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.ExternalNetworksGet(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 ExternalNetworksGet(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/externalNetworks/{externalNetworkName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "externalNetworkName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + properties.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + properties.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + properties.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + properties.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + properties.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + disabled_on_resources = cls._schema_on_200.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + option_a_properties = cls._schema_on_200.properties.option_a_properties + option_a_properties.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + option_a_properties.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + option_a_properties.mtu = AAZIntType() + option_a_properties.peer_asn = AAZIntType( + serialized_name="peerASN", + flags={"required": True}, + ) + option_a_properties.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + option_a_properties.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + option_a_properties.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + option_a_properties.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + option_a_properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + bfd_configuration = cls._schema_on_200.properties.option_a_properties.bfd_configuration + bfd_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + bfd_configuration.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + option_b_properties = cls._schema_on_200.properties.option_b_properties + option_b_properties.export_route_targets = AAZListType( + serialized_name="exportRouteTargets", + ) + option_b_properties.import_route_targets = AAZListType( + serialized_name="importRouteTargets", + ) + + export_route_targets = cls._schema_on_200.properties.option_b_properties.export_route_targets + export_route_targets.Element = AAZStrType() + + import_route_targets = cls._schema_on_200.properties.option_b_properties.import_route_targets + import_route_targets.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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/__cmd_group.py new file mode 100644 index 00000000000..9bb85d1ad2c --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/__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( + "networkfabric fabric", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Fabric Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/__init__.py new file mode 100644 index 00000000000..258a2235bbb --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/__init__.py @@ -0,0 +1,18 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._deprovision import * +from ._list import * +from ._provision import * +from ._show import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_create.py new file mode 100644 index 00000000000..0e57224a62e --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_create.py @@ -0,0 +1,825 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric fabric create", +) +class Create(AAZCommand): + """Create a Network Fabric resource. + + :example: Create a Network Fabric with option B Properties + az networkfabric fabric create --resource-group "example-rg" --location "westus3" --resource-name "example-fabric" --nf-sku "fab1" --nfc-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/example-NFC" --fabric-asn 20 --ipv4-prefix 10.1.0.0/19 --rack-count 3 --server-count-per-rack 7 --ts-config "{primaryIpv4Prefix:'172.31.0.0/30',secondaryIpv4Prefix:'172.31.0.20/30',username:'****',password:'*****',serialNumber:'1234'}" --managed-network-config "{infrastructureVpnConfiguration:{peeringOption:OptionB,optionBProperties:{importRouteTargets:['65541:2001','65542:2001'],exportRouteTargets:['65531:1002','65531:1002']}},workloadVpnConfiguration:{peeringOption:OptionB,optionBProperties:{importRouteTargets:['65541:2001','65542:2001'],exportRouteTargets:['65531:1002','65531:1002']}}}" + + :example: Create a Network Fabric with option A Properties + az networkfabric fabric create --resource-group "example-rg" --location "westus3" --resource-name "example-fabric" --nf-sku "fab1" --nfc-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/example-NFC" --fabric-asn 20 --ipv4-prefix "10.1.0.0/19" --rack-count 3 --server-count-per-rack 7 --ts-config "{primaryIpv4Prefix:'172.31.0.0/30',secondaryIpv4Prefix:'172.31.0.20/30',username:'****',password:'*****',serialNumber:1234}" --managed-network-config "{infrastructureVpnConfiguration:{peeringOption:OptionA,optionAProperties:{mtu:1500,vlanId:520,peerASN:65133,primaryIpv4Prefix:'172.31.0.0/31',secondaryIpv4Prefix:'172.31.0.20/31'}},workloadVpnConfiguration:{peeringOption:OptionA,optionAProperties:{mtu:1500,vlanId:520,peerASN:65133,primaryIpv4Prefix:'172.31.0.0/31',secondaryIpv4Prefix:'172.31.0.20/31'}}}" + + :example: Help text for sub parameters under the specific parent can be viewed by using the shorthand syntax '??'. See https://github.com/Azure/azure-cli/tree/dev/doc/shorthand_syntax.md for more about shorthand syntax. + az networkfabric fabric create --ts-config ?? + az networkfabric fabric create --managed-network-config "{infrastructureVpnConfiguration:??" + az networkfabric fabric create --managed-network-config "{infrastructureVpnConfiguration:{option-b-properties:??" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Fabric", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Body", + help="Location of Azure region", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Body", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.fabric_asn = AAZIntArg( + options=["--fabric-asn"], + arg_group="Properties", + help="ASN of CE devices for CE/PE connectivity. The value should be between 1 to 65535. Example : 65123", + fmt=AAZIntArgFormat( + maximum=65535, + minimum=1, + ), + ) + _args_schema.ipv4_prefix = AAZStrArg( + options=["--ipv4-prefix"], + arg_group="Properties", + help="IPv4Prefix for Management Network. Example : 10.1.0.0/19.", + ) + _args_schema.ipv6_prefix = AAZStrArg( + options=["--ipv6-prefix"], + arg_group="Properties", + help="IPv6Prefix for Management Network. Example : 3FFE:FFFF:0:CD40::/59.", + ) + _args_schema.managed_network_config = AAZObjectArg( + options=["--managed-network-config"], + arg_group="Properties", + help="Configuration to be used to setup the management network.", + ) + _args_schema.nfc_id = AAZStrArg( + options=["--nfc-id"], + arg_group="Properties", + help="Network Fabric Controller ARM resource id", + ) + _args_schema.nf_sku = AAZStrArg( + options=["--nf-sku"], + arg_group="Properties", + help="Fabric SKU id based on the SKU of the BoM that was ordered", + ) + _args_schema.rack_count = AAZIntArg( + options=["--rack-count"], + arg_group="Properties", + help="Number of racks associated to Network Fabric.Possible values are from 2-8.", + fmt=AAZIntArgFormat( + maximum=8, + minimum=2, + ), + ) + _args_schema.server_count_per_rack = AAZIntArg( + options=["--server-count-per-rack"], + arg_group="Properties", + help="Number of servers.Possible values are from 1-16.", + fmt=AAZIntArgFormat( + maximum=16, + minimum=1, + ), + ) + _args_schema.ts_config = AAZObjectArg( + options=["--ts-config"], + arg_group="Properties", + help="Network and credentials configuration currently applied to terminal server.", + ) + + managed_network_config = cls._args_schema.managed_network_config + managed_network_config.infrastructure_vpn_configuration = AAZObjectArg( + options=["infrastructure-vpn-configuration"], + help="Configuration for infrastructure vpn.", + required=True, + ) + managed_network_config.workload_vpn_configuration = AAZObjectArg( + options=["workload-vpn-configuration"], + help="Configuration for workload vpn.", + required=True, + ) + + infrastructure_vpn_configuration = cls._args_schema.managed_network_config.infrastructure_vpn_configuration + infrastructure_vpn_configuration.option_a_properties = AAZObjectArg( + options=["option-a-properties"], + help="Peering option A properties.", + ) + cls._build_args_option_a_properties_create(infrastructure_vpn_configuration.option_a_properties) + infrastructure_vpn_configuration.option_b_properties = AAZObjectArg( + options=["option-b-properties"], + help="Option B configuration to be used for management vpn.", + ) + cls._build_args_option_b_properties_create(infrastructure_vpn_configuration.option_b_properties) + infrastructure_vpn_configuration.peering_option = AAZStrArg( + options=["peering-option"], + help="Peering option list.", + required=True, + enum={"OptionA": "OptionA", "OptionB": "OptionB"}, + ) + + workload_vpn_configuration = cls._args_schema.managed_network_config.workload_vpn_configuration + workload_vpn_configuration.option_a_properties = AAZObjectArg( + options=["option-a-properties"], + help="Peering option A properties.", + ) + cls._build_args_option_a_properties_create(workload_vpn_configuration.option_a_properties) + workload_vpn_configuration.option_b_properties = AAZObjectArg( + options=["option-b-properties"], + help="Option B configuration to be used for management vpn.", + ) + cls._build_args_option_b_properties_create(workload_vpn_configuration.option_b_properties) + workload_vpn_configuration.peering_option = AAZStrArg( + options=["peering-option"], + help="Peering option list.", + required=True, + enum={"OptionA": "OptionA", "OptionB": "OptionB"}, + ) + + ts_config = cls._args_schema.ts_config + ts_config.password = AAZStrArg( + options=["password"], + help="Password of terminal server.", + required=True, + ) + ts_config.primary_ipv4_prefix = AAZStrArg( + options=["primary-ipv4-prefix"], + help="IPv4 Address Prefix of CE-PE interconnect links. Example : 172.31.0.0/31.", + required=True, + ) + ts_config.primary_ipv6_prefix = AAZStrArg( + options=["primary-ipv6-prefix"], + help="IPv6 Address Prefix of CE-PE interconnect links. Example : 3FFE:FFFF:0:CD30::a0/126.", + ) + ts_config.secondary_ipv4_prefix = AAZStrArg( + options=["secondary-ipv4-prefix"], + help="Secondary IPv4 Address Prefix of CE-PE interconnect links. Example : 172.31.0.20/31.", + required=True, + ) + ts_config.secondary_ipv6_prefix = AAZStrArg( + options=["secondary-ipv6-prefix"], + help="Secondary IPv6 Address Prefix of CE-PE interconnect links. Example : 3FFE:FFFF:0:CD30::a4/126.", + ) + ts_config.serial_number = AAZStrArg( + options=["serial-number"], + help="Serial Number of Terminal server.", + ) + ts_config.username = AAZStrArg( + options=["username"], + help="Username of terminal server.", + required=True, + ) + return cls._args_schema + + _args_option_a_properties_create = None + + @classmethod + def _build_args_option_a_properties_create(cls, _schema): + if cls._args_option_a_properties_create is not None: + _schema.mtu = cls._args_option_a_properties_create.mtu + _schema.peer_asn = cls._args_option_a_properties_create.peer_asn + _schema.primary_ipv4_prefix = cls._args_option_a_properties_create.primary_ipv4_prefix + _schema.primary_ipv6_prefix = cls._args_option_a_properties_create.primary_ipv6_prefix + _schema.secondary_ipv4_prefix = cls._args_option_a_properties_create.secondary_ipv4_prefix + _schema.secondary_ipv6_prefix = cls._args_option_a_properties_create.secondary_ipv6_prefix + _schema.vlan_id = cls._args_option_a_properties_create.vlan_id + return + + cls._args_option_a_properties_create = AAZObjectArg() + + option_a_properties_create = cls._args_option_a_properties_create + option_a_properties_create.mtu = AAZIntArg( + options=["mtu"], + help="MTU to use for option A peering. The value should be between 1500 to 9000. Default value is 1500.", + fmt=AAZIntArgFormat( + maximum=9000, + minimum=1500, + ), + ) + option_a_properties_create.peer_asn = AAZIntArg( + options=["peer-asn"], + help="Peer ASN number. The value should be between 1 to 65535. Example : 28.", + fmt=AAZIntArgFormat( + maximum=65535, + minimum=1, + ), + ) + option_a_properties_create.primary_ipv4_prefix = AAZStrArg( + options=["primary-ipv4-prefix"], + help="IPv4 Address Prefix of CE-PE interconnect links. Example : 172.31.0.0/31.", + ) + option_a_properties_create.primary_ipv6_prefix = AAZStrArg( + options=["primary-ipv6-prefix"], + help="IPv6 Address Prefix of CE-PE interconnect links. Example : 3FFE:FFFF:0:CD30::a0/126.", + ) + option_a_properties_create.secondary_ipv4_prefix = AAZStrArg( + options=["secondary-ipv4-prefix"], + help="Secondary IPv4 Address Prefix of CE-PE interconnect links. Example : 172.31.0.20/31.", + ) + option_a_properties_create.secondary_ipv6_prefix = AAZStrArg( + options=["secondary-ipv6-prefix"], + help="Secondary IPv6 Address Prefix of CE-PE interconnect links. Example : 3FFE:FFFF:0:CD30::a4/126.", + ) + option_a_properties_create.vlan_id = AAZIntArg( + options=["vlan-id"], + help="Vlan Id. The value should be between 501 to 4095. Example : 501.", + fmt=AAZIntArgFormat( + maximum=4095, + minimum=501, + ), + ) + + _schema.mtu = cls._args_option_a_properties_create.mtu + _schema.peer_asn = cls._args_option_a_properties_create.peer_asn + _schema.primary_ipv4_prefix = cls._args_option_a_properties_create.primary_ipv4_prefix + _schema.primary_ipv6_prefix = cls._args_option_a_properties_create.primary_ipv6_prefix + _schema.secondary_ipv4_prefix = cls._args_option_a_properties_create.secondary_ipv4_prefix + _schema.secondary_ipv6_prefix = cls._args_option_a_properties_create.secondary_ipv6_prefix + _schema.vlan_id = cls._args_option_a_properties_create.vlan_id + + _args_option_b_properties_create = None + + @classmethod + def _build_args_option_b_properties_create(cls, _schema): + if cls._args_option_b_properties_create is not None: + _schema.export_route_targets = cls._args_option_b_properties_create.export_route_targets + _schema.import_route_targets = cls._args_option_b_properties_create.import_route_targets + return + + cls._args_option_b_properties_create = AAZObjectArg() + + option_b_properties_create = cls._args_option_b_properties_create + option_b_properties_create.export_route_targets = AAZListArg( + options=["export-route-targets"], + help="Route Targets to be applied for outgoing routes from CE. Example: 65541:2001.", + required=True, + ) + option_b_properties_create.import_route_targets = AAZListArg( + options=["import-route-targets"], + help="Route Targets to be applied for incoming routes into CE. Example: 65311:2001, 65412:2001.", + required=True, + ) + + export_route_targets = cls._args_option_b_properties_create.export_route_targets + export_route_targets.Element = AAZStrArg() + + import_route_targets = cls._args_option_b_properties_create.import_route_targets + import_route_targets.Element = AAZStrArg() + + _schema.export_route_targets = cls._args_option_b_properties_create.export_route_targets + _schema.import_route_targets = cls._args_option_b_properties_create.import_route_targets + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkFabricsCreate(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 NetworkFabricsCreate(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.ManagedNetworkFabric/networkFabrics/{networkFabricName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("fabricASN", AAZIntType, ".fabric_asn", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("ipv4Prefix", AAZStrType, ".ipv4_prefix") + properties.set_prop("ipv6Prefix", AAZStrType, ".ipv6_prefix") + properties.set_prop("managementNetworkConfiguration", AAZObjectType, ".managed_network_config", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("networkFabricControllerId", AAZStrType, ".nfc_id", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("networkFabricSku", AAZStrType, ".nf_sku", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("rackCount", AAZIntType, ".rack_count", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("serverCountPerRack", AAZIntType, ".server_count_per_rack", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("terminalServerConfiguration", AAZObjectType, ".ts_config", typ_kwargs={"flags": {"required": True}}) + + management_network_configuration = _builder.get(".properties.managementNetworkConfiguration") + if management_network_configuration is not None: + management_network_configuration.set_prop("infrastructureVpnConfiguration", AAZObjectType, ".infrastructure_vpn_configuration", typ_kwargs={"flags": {"required": True}}) + management_network_configuration.set_prop("workloadVpnConfiguration", AAZObjectType, ".workload_vpn_configuration", typ_kwargs={"flags": {"required": True}}) + + infrastructure_vpn_configuration = _builder.get(".properties.managementNetworkConfiguration.infrastructureVpnConfiguration") + if infrastructure_vpn_configuration is not None: + _CreateHelper._build_schema_option_a_properties_create(infrastructure_vpn_configuration.set_prop("optionAProperties", AAZObjectType, ".option_a_properties")) + _CreateHelper._build_schema_option_b_properties_create(infrastructure_vpn_configuration.set_prop("optionBProperties", AAZObjectType, ".option_b_properties")) + infrastructure_vpn_configuration.set_prop("peeringOption", AAZStrType, ".peering_option", typ_kwargs={"flags": {"required": True}}) + + workload_vpn_configuration = _builder.get(".properties.managementNetworkConfiguration.workloadVpnConfiguration") + if workload_vpn_configuration is not None: + _CreateHelper._build_schema_option_a_properties_create(workload_vpn_configuration.set_prop("optionAProperties", AAZObjectType, ".option_a_properties")) + _CreateHelper._build_schema_option_b_properties_create(workload_vpn_configuration.set_prop("optionBProperties", AAZObjectType, ".option_b_properties")) + workload_vpn_configuration.set_prop("peeringOption", AAZStrType, ".peering_option", typ_kwargs={"flags": {"required": True}}) + + terminal_server_configuration = _builder.get(".properties.terminalServerConfiguration") + if terminal_server_configuration is not None: + terminal_server_configuration.set_prop("password", AAZStrType, ".password", typ_kwargs={"flags": {"required": True, "secret": True}}) + terminal_server_configuration.set_prop("primaryIpv4Prefix", AAZStrType, ".primary_ipv4_prefix", typ_kwargs={"flags": {"required": True}}) + terminal_server_configuration.set_prop("primaryIpv6Prefix", AAZStrType, ".primary_ipv6_prefix") + terminal_server_configuration.set_prop("secondaryIpv4Prefix", AAZStrType, ".secondary_ipv4_prefix", typ_kwargs={"flags": {"required": True}}) + terminal_server_configuration.set_prop("secondaryIpv6Prefix", AAZStrType, ".secondary_ipv6_prefix") + terminal_server_configuration.set_prop("serialNumber", AAZStrType, ".serial_number") + terminal_server_configuration.set_prop("username", AAZStrType, ".username", typ_kwargs={"flags": {"required": True}}) + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.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.annotation = AAZStrType() + properties.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"required": True}, + ) + properties.ipv4_prefix = AAZStrType( + serialized_name="ipv4Prefix", + ) + properties.ipv6_prefix = AAZStrType( + serialized_name="ipv6Prefix", + ) + properties.l2_isolation_domains = AAZListType( + serialized_name="l2IsolationDomains", + flags={"read_only": True}, + ) + properties.l3_isolation_domains = AAZListType( + serialized_name="l3IsolationDomains", + flags={"read_only": True}, + ) + properties.management_network_configuration = AAZObjectType( + serialized_name="managementNetworkConfiguration", + flags={"required": True}, + ) + properties.network_fabric_controller_id = AAZStrType( + serialized_name="networkFabricControllerId", + flags={"required": True}, + ) + properties.network_fabric_sku = AAZStrType( + serialized_name="networkFabricSku", + flags={"required": True}, + ) + properties.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.rack_count = AAZIntType( + serialized_name="rackCount", + flags={"required": True}, + ) + properties.racks = AAZListType( + flags={"read_only": True}, + ) + properties.router_id = AAZStrType( + serialized_name="routerId", + flags={"read_only": True}, + ) + properties.server_count_per_rack = AAZIntType( + serialized_name="serverCountPerRack", + flags={"required": True}, + ) + properties.terminal_server_configuration = AAZObjectType( + serialized_name="terminalServerConfiguration", + flags={"required": True}, + ) + + l2_isolation_domains = cls._schema_on_200_201.properties.l2_isolation_domains + l2_isolation_domains.Element = AAZStrType() + + l3_isolation_domains = cls._schema_on_200_201.properties.l3_isolation_domains + l3_isolation_domains.Element = AAZStrType() + + management_network_configuration = cls._schema_on_200_201.properties.management_network_configuration + management_network_configuration.infrastructure_vpn_configuration = AAZObjectType( + serialized_name="infrastructureVpnConfiguration", + flags={"required": True}, + ) + management_network_configuration.workload_vpn_configuration = AAZObjectType( + serialized_name="workloadVpnConfiguration", + flags={"required": True}, + ) + + infrastructure_vpn_configuration = cls._schema_on_200_201.properties.management_network_configuration.infrastructure_vpn_configuration + infrastructure_vpn_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + infrastructure_vpn_configuration.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + infrastructure_vpn_configuration.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + _CreateHelper._build_schema_option_a_properties_read(infrastructure_vpn_configuration.option_a_properties) + infrastructure_vpn_configuration.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + _CreateHelper._build_schema_option_b_properties_read(infrastructure_vpn_configuration.option_b_properties) + infrastructure_vpn_configuration.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + + workload_vpn_configuration = cls._schema_on_200_201.properties.management_network_configuration.workload_vpn_configuration + workload_vpn_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + workload_vpn_configuration.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + workload_vpn_configuration.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + _CreateHelper._build_schema_option_a_properties_read(workload_vpn_configuration.option_a_properties) + workload_vpn_configuration.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + _CreateHelper._build_schema_option_b_properties_read(workload_vpn_configuration.option_b_properties) + workload_vpn_configuration.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + + racks = cls._schema_on_200_201.properties.racks + racks.Element = AAZStrType() + + terminal_server_configuration = cls._schema_on_200_201.properties.terminal_server_configuration + terminal_server_configuration.network_device_id = AAZStrType( + serialized_name="networkDeviceId", + flags={"read_only": True}, + ) + terminal_server_configuration.password = AAZStrType( + flags={"required": True, "secret": True}, + ) + terminal_server_configuration.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + flags={"required": True}, + ) + terminal_server_configuration.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + terminal_server_configuration.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + flags={"required": True}, + ) + terminal_server_configuration.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + terminal_server_configuration.serial_number = AAZStrType( + serialized_name="serialNumber", + ) + terminal_server_configuration.username = AAZStrType( + flags={"required": 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""" + + @classmethod + def _build_schema_option_a_properties_create(cls, _builder): + if _builder is None: + return + _builder.set_prop("mtu", AAZIntType, ".mtu") + _builder.set_prop("peerASN", AAZIntType, ".peer_asn") + _builder.set_prop("primaryIpv4Prefix", AAZStrType, ".primary_ipv4_prefix") + _builder.set_prop("primaryIpv6Prefix", AAZStrType, ".primary_ipv6_prefix") + _builder.set_prop("secondaryIpv4Prefix", AAZStrType, ".secondary_ipv4_prefix") + _builder.set_prop("secondaryIpv6Prefix", AAZStrType, ".secondary_ipv6_prefix") + _builder.set_prop("vlanId", AAZIntType, ".vlan_id") + + @classmethod + def _build_schema_option_b_properties_create(cls, _builder): + if _builder is None: + return + _builder.set_prop("exportRouteTargets", AAZListType, ".export_route_targets", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("importRouteTargets", AAZListType, ".import_route_targets", typ_kwargs={"flags": {"required": True}}) + + export_route_targets = _builder.get(".exportRouteTargets") + if export_route_targets is not None: + export_route_targets.set_elements(AAZStrType, ".") + + import_route_targets = _builder.get(".importRouteTargets") + if import_route_targets is not None: + import_route_targets.set_elements(AAZStrType, ".") + + _schema_option_a_properties_read = None + + @classmethod + def _build_schema_option_a_properties_read(cls, _schema): + if cls._schema_option_a_properties_read is not None: + _schema.bfd_configuration = cls._schema_option_a_properties_read.bfd_configuration + _schema.mtu = cls._schema_option_a_properties_read.mtu + _schema.peer_asn = cls._schema_option_a_properties_read.peer_asn + _schema.primary_ipv4_prefix = cls._schema_option_a_properties_read.primary_ipv4_prefix + _schema.primary_ipv6_prefix = cls._schema_option_a_properties_read.primary_ipv6_prefix + _schema.secondary_ipv4_prefix = cls._schema_option_a_properties_read.secondary_ipv4_prefix + _schema.secondary_ipv6_prefix = cls._schema_option_a_properties_read.secondary_ipv6_prefix + _schema.vlan_id = cls._schema_option_a_properties_read.vlan_id + return + + cls._schema_option_a_properties_read = _schema_option_a_properties_read = AAZObjectType() + + option_a_properties_read = _schema_option_a_properties_read + option_a_properties_read.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + option_a_properties_read.mtu = AAZIntType() + option_a_properties_read.peer_asn = AAZIntType( + serialized_name="peerASN", + ) + option_a_properties_read.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + option_a_properties_read.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + option_a_properties_read.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + option_a_properties_read.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + option_a_properties_read.vlan_id = AAZIntType( + serialized_name="vlanId", + ) + + bfd_configuration = _schema_option_a_properties_read.bfd_configuration + bfd_configuration.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + _schema.bfd_configuration = cls._schema_option_a_properties_read.bfd_configuration + _schema.mtu = cls._schema_option_a_properties_read.mtu + _schema.peer_asn = cls._schema_option_a_properties_read.peer_asn + _schema.primary_ipv4_prefix = cls._schema_option_a_properties_read.primary_ipv4_prefix + _schema.primary_ipv6_prefix = cls._schema_option_a_properties_read.primary_ipv6_prefix + _schema.secondary_ipv4_prefix = cls._schema_option_a_properties_read.secondary_ipv4_prefix + _schema.secondary_ipv6_prefix = cls._schema_option_a_properties_read.secondary_ipv6_prefix + _schema.vlan_id = cls._schema_option_a_properties_read.vlan_id + + _schema_option_b_properties_read = None + + @classmethod + def _build_schema_option_b_properties_read(cls, _schema): + if cls._schema_option_b_properties_read is not None: + _schema.export_route_targets = cls._schema_option_b_properties_read.export_route_targets + _schema.import_route_targets = cls._schema_option_b_properties_read.import_route_targets + return + + cls._schema_option_b_properties_read = _schema_option_b_properties_read = AAZObjectType() + + option_b_properties_read = _schema_option_b_properties_read + option_b_properties_read.export_route_targets = AAZListType( + serialized_name="exportRouteTargets", + flags={"required": True}, + ) + option_b_properties_read.import_route_targets = AAZListType( + serialized_name="importRouteTargets", + flags={"required": True}, + ) + + export_route_targets = _schema_option_b_properties_read.export_route_targets + export_route_targets.Element = AAZStrType() + + import_route_targets = _schema_option_b_properties_read.import_route_targets + import_route_targets.Element = AAZStrType() + + _schema.export_route_targets = cls._schema_option_b_properties_read.export_route_targets + _schema.import_route_targets = cls._schema_option_b_properties_read.import_route_targets + + +__all__ = ["Create"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_delete.py new file mode 100644 index 00000000000..a7016e16619 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_delete.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric fabric delete", +) +class Delete(AAZCommand): + """Delete the Network Fabric resource. + + :example: Delete the Network Fabric + az networkfabric fabric delete --resource-group "example-rg" --resource-name "example-fabric" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Fabric", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkFabricsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkFabricsDelete(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.ManagedNetworkFabric/networkFabrics/{networkFabricName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_deprovision.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_deprovision.py new file mode 100644 index 00000000000..eeed40f1263 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_deprovision.py @@ -0,0 +1,151 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric fabric deprovision", +) +class Deprovision(AAZCommand): + """Deprovisions the underlying hardware. + + :example: Deprovision the Network Fabric + az networkfabric fabric deprovision --resource-group "example-rg" --resource-name "example-fabric" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}/deprovision", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the NetworkFabric.", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkFabricsDeprovision(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkFabricsDeprovision(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}/deprovision", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + +class _DeprovisionHelper: + """Helper class for Deprovision""" + + +__all__ = ["Deprovision"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_list.py new file mode 100644 index 00000000000..438a39db43f --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_list.py @@ -0,0 +1,735 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric fabric list", +) +class List(AAZCommand): + """List all Network Fabrics in the provided resource group or subscription. + + :example: List the Network Fabrics for Resource Group + az networkfabric fabric list --resource-group "example-rg" + + :example: List the Network Fabrics for Subscription + az networkfabric fabric list --subscription "" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/networkfabrics", "2023-02-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + ) + 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.NetworkFabricsListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.NetworkFabricsListBySubscription(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 NetworkFabricsListByResourceGroup(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.ManagedNetworkFabric/networkFabrics", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"required": True}, + ) + properties.ipv4_prefix = AAZStrType( + serialized_name="ipv4Prefix", + ) + properties.ipv6_prefix = AAZStrType( + serialized_name="ipv6Prefix", + ) + properties.l2_isolation_domains = AAZListType( + serialized_name="l2IsolationDomains", + flags={"read_only": True}, + ) + properties.l3_isolation_domains = AAZListType( + serialized_name="l3IsolationDomains", + flags={"read_only": True}, + ) + properties.management_network_configuration = AAZObjectType( + serialized_name="managementNetworkConfiguration", + flags={"required": True}, + ) + properties.network_fabric_controller_id = AAZStrType( + serialized_name="networkFabricControllerId", + flags={"required": True}, + ) + properties.network_fabric_sku = AAZStrType( + serialized_name="networkFabricSku", + flags={"required": True}, + ) + properties.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.rack_count = AAZIntType( + serialized_name="rackCount", + flags={"required": True}, + ) + properties.racks = AAZListType( + flags={"read_only": True}, + ) + properties.router_id = AAZStrType( + serialized_name="routerId", + flags={"read_only": True}, + ) + properties.server_count_per_rack = AAZIntType( + serialized_name="serverCountPerRack", + flags={"required": True}, + ) + properties.terminal_server_configuration = AAZObjectType( + serialized_name="terminalServerConfiguration", + flags={"required": True}, + ) + + l2_isolation_domains = cls._schema_on_200.value.Element.properties.l2_isolation_domains + l2_isolation_domains.Element = AAZStrType() + + l3_isolation_domains = cls._schema_on_200.value.Element.properties.l3_isolation_domains + l3_isolation_domains.Element = AAZStrType() + + management_network_configuration = cls._schema_on_200.value.Element.properties.management_network_configuration + management_network_configuration.infrastructure_vpn_configuration = AAZObjectType( + serialized_name="infrastructureVpnConfiguration", + flags={"required": True}, + ) + management_network_configuration.workload_vpn_configuration = AAZObjectType( + serialized_name="workloadVpnConfiguration", + flags={"required": True}, + ) + + infrastructure_vpn_configuration = cls._schema_on_200.value.Element.properties.management_network_configuration.infrastructure_vpn_configuration + infrastructure_vpn_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + infrastructure_vpn_configuration.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + infrastructure_vpn_configuration.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + _ListHelper._build_schema_option_a_properties_read(infrastructure_vpn_configuration.option_a_properties) + infrastructure_vpn_configuration.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + _ListHelper._build_schema_option_b_properties_read(infrastructure_vpn_configuration.option_b_properties) + infrastructure_vpn_configuration.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + + workload_vpn_configuration = cls._schema_on_200.value.Element.properties.management_network_configuration.workload_vpn_configuration + workload_vpn_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + workload_vpn_configuration.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + workload_vpn_configuration.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + _ListHelper._build_schema_option_a_properties_read(workload_vpn_configuration.option_a_properties) + workload_vpn_configuration.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + _ListHelper._build_schema_option_b_properties_read(workload_vpn_configuration.option_b_properties) + workload_vpn_configuration.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + + racks = cls._schema_on_200.value.Element.properties.racks + racks.Element = AAZStrType() + + terminal_server_configuration = cls._schema_on_200.value.Element.properties.terminal_server_configuration + terminal_server_configuration.network_device_id = AAZStrType( + serialized_name="networkDeviceId", + flags={"read_only": True}, + ) + terminal_server_configuration.password = AAZStrType( + flags={"required": True, "secret": True}, + ) + terminal_server_configuration.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + flags={"required": True}, + ) + terminal_server_configuration.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + terminal_server_configuration.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + flags={"required": True}, + ) + terminal_server_configuration.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + terminal_server_configuration.serial_number = AAZStrType( + serialized_name="serialNumber", + ) + terminal_server_configuration.username = AAZStrType( + flags={"required": 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 NetworkFabricsListBySubscription(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.ManagedNetworkFabric/networkFabrics", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"required": True}, + ) + properties.ipv4_prefix = AAZStrType( + serialized_name="ipv4Prefix", + ) + properties.ipv6_prefix = AAZStrType( + serialized_name="ipv6Prefix", + ) + properties.l2_isolation_domains = AAZListType( + serialized_name="l2IsolationDomains", + flags={"read_only": True}, + ) + properties.l3_isolation_domains = AAZListType( + serialized_name="l3IsolationDomains", + flags={"read_only": True}, + ) + properties.management_network_configuration = AAZObjectType( + serialized_name="managementNetworkConfiguration", + flags={"required": True}, + ) + properties.network_fabric_controller_id = AAZStrType( + serialized_name="networkFabricControllerId", + flags={"required": True}, + ) + properties.network_fabric_sku = AAZStrType( + serialized_name="networkFabricSku", + flags={"required": True}, + ) + properties.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.rack_count = AAZIntType( + serialized_name="rackCount", + flags={"required": True}, + ) + properties.racks = AAZListType( + flags={"read_only": True}, + ) + properties.router_id = AAZStrType( + serialized_name="routerId", + flags={"read_only": True}, + ) + properties.server_count_per_rack = AAZIntType( + serialized_name="serverCountPerRack", + flags={"required": True}, + ) + properties.terminal_server_configuration = AAZObjectType( + serialized_name="terminalServerConfiguration", + flags={"required": True}, + ) + + l2_isolation_domains = cls._schema_on_200.value.Element.properties.l2_isolation_domains + l2_isolation_domains.Element = AAZStrType() + + l3_isolation_domains = cls._schema_on_200.value.Element.properties.l3_isolation_domains + l3_isolation_domains.Element = AAZStrType() + + management_network_configuration = cls._schema_on_200.value.Element.properties.management_network_configuration + management_network_configuration.infrastructure_vpn_configuration = AAZObjectType( + serialized_name="infrastructureVpnConfiguration", + flags={"required": True}, + ) + management_network_configuration.workload_vpn_configuration = AAZObjectType( + serialized_name="workloadVpnConfiguration", + flags={"required": True}, + ) + + infrastructure_vpn_configuration = cls._schema_on_200.value.Element.properties.management_network_configuration.infrastructure_vpn_configuration + infrastructure_vpn_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + infrastructure_vpn_configuration.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + infrastructure_vpn_configuration.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + _ListHelper._build_schema_option_a_properties_read(infrastructure_vpn_configuration.option_a_properties) + infrastructure_vpn_configuration.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + _ListHelper._build_schema_option_b_properties_read(infrastructure_vpn_configuration.option_b_properties) + infrastructure_vpn_configuration.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + + workload_vpn_configuration = cls._schema_on_200.value.Element.properties.management_network_configuration.workload_vpn_configuration + workload_vpn_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + workload_vpn_configuration.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + workload_vpn_configuration.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + _ListHelper._build_schema_option_a_properties_read(workload_vpn_configuration.option_a_properties) + workload_vpn_configuration.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + _ListHelper._build_schema_option_b_properties_read(workload_vpn_configuration.option_b_properties) + workload_vpn_configuration.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + + racks = cls._schema_on_200.value.Element.properties.racks + racks.Element = AAZStrType() + + terminal_server_configuration = cls._schema_on_200.value.Element.properties.terminal_server_configuration + terminal_server_configuration.network_device_id = AAZStrType( + serialized_name="networkDeviceId", + flags={"read_only": True}, + ) + terminal_server_configuration.password = AAZStrType( + flags={"required": True, "secret": True}, + ) + terminal_server_configuration.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + flags={"required": True}, + ) + terminal_server_configuration.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + terminal_server_configuration.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + flags={"required": True}, + ) + terminal_server_configuration.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + terminal_server_configuration.serial_number = AAZStrType( + serialized_name="serialNumber", + ) + terminal_server_configuration.username = AAZStrType( + flags={"required": 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""" + + _schema_option_a_properties_read = None + + @classmethod + def _build_schema_option_a_properties_read(cls, _schema): + if cls._schema_option_a_properties_read is not None: + _schema.bfd_configuration = cls._schema_option_a_properties_read.bfd_configuration + _schema.mtu = cls._schema_option_a_properties_read.mtu + _schema.peer_asn = cls._schema_option_a_properties_read.peer_asn + _schema.primary_ipv4_prefix = cls._schema_option_a_properties_read.primary_ipv4_prefix + _schema.primary_ipv6_prefix = cls._schema_option_a_properties_read.primary_ipv6_prefix + _schema.secondary_ipv4_prefix = cls._schema_option_a_properties_read.secondary_ipv4_prefix + _schema.secondary_ipv6_prefix = cls._schema_option_a_properties_read.secondary_ipv6_prefix + _schema.vlan_id = cls._schema_option_a_properties_read.vlan_id + return + + cls._schema_option_a_properties_read = _schema_option_a_properties_read = AAZObjectType() + + option_a_properties_read = _schema_option_a_properties_read + option_a_properties_read.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + option_a_properties_read.mtu = AAZIntType() + option_a_properties_read.peer_asn = AAZIntType( + serialized_name="peerASN", + ) + option_a_properties_read.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + option_a_properties_read.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + option_a_properties_read.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + option_a_properties_read.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + option_a_properties_read.vlan_id = AAZIntType( + serialized_name="vlanId", + ) + + bfd_configuration = _schema_option_a_properties_read.bfd_configuration + bfd_configuration.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + _schema.bfd_configuration = cls._schema_option_a_properties_read.bfd_configuration + _schema.mtu = cls._schema_option_a_properties_read.mtu + _schema.peer_asn = cls._schema_option_a_properties_read.peer_asn + _schema.primary_ipv4_prefix = cls._schema_option_a_properties_read.primary_ipv4_prefix + _schema.primary_ipv6_prefix = cls._schema_option_a_properties_read.primary_ipv6_prefix + _schema.secondary_ipv4_prefix = cls._schema_option_a_properties_read.secondary_ipv4_prefix + _schema.secondary_ipv6_prefix = cls._schema_option_a_properties_read.secondary_ipv6_prefix + _schema.vlan_id = cls._schema_option_a_properties_read.vlan_id + + _schema_option_b_properties_read = None + + @classmethod + def _build_schema_option_b_properties_read(cls, _schema): + if cls._schema_option_b_properties_read is not None: + _schema.export_route_targets = cls._schema_option_b_properties_read.export_route_targets + _schema.import_route_targets = cls._schema_option_b_properties_read.import_route_targets + return + + cls._schema_option_b_properties_read = _schema_option_b_properties_read = AAZObjectType() + + option_b_properties_read = _schema_option_b_properties_read + option_b_properties_read.export_route_targets = AAZListType( + serialized_name="exportRouteTargets", + flags={"required": True}, + ) + option_b_properties_read.import_route_targets = AAZListType( + serialized_name="importRouteTargets", + flags={"required": True}, + ) + + export_route_targets = _schema_option_b_properties_read.export_route_targets + export_route_targets.Element = AAZStrType() + + import_route_targets = _schema_option_b_properties_read.import_route_targets + import_route_targets.Element = AAZStrType() + + _schema.export_route_targets = cls._schema_option_b_properties_read.export_route_targets + _schema.import_route_targets = cls._schema_option_b_properties_read.import_route_targets + + +__all__ = ["List"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_provision.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_provision.py new file mode 100644 index 00000000000..5201acdeea3 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_provision.py @@ -0,0 +1,151 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric fabric provision", +) +class Provision(AAZCommand): + """Provisions the underlying hardware. + + :example: Provision the Network Fabric + az networkfabric fabric provision --resource-group "example-rg" --resource-name "example-fabric" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}/provision", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the NetworkFabric.", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkFabricsProvision(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkFabricsProvision(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkFabrics/{networkFabricName}/provision", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + +class _ProvisionHelper: + """Helper class for Provision""" + + +__all__ = ["Provision"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_show.py new file mode 100644 index 00000000000..de5970c0d84 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_show.py @@ -0,0 +1,448 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric fabric show", +) +class Show(AAZCommand): + """Show details of the provided Network Fabric resource. + + :example: Show the Network Fabric + az networkfabric fabric show --resource-group "example-rg" --resource-name "example-fabric" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Fabric", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkFabricsGet(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 NetworkFabricsGet(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.ManagedNetworkFabric/networkFabrics/{networkFabricName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"required": True}, + ) + properties.ipv4_prefix = AAZStrType( + serialized_name="ipv4Prefix", + ) + properties.ipv6_prefix = AAZStrType( + serialized_name="ipv6Prefix", + ) + properties.l2_isolation_domains = AAZListType( + serialized_name="l2IsolationDomains", + flags={"read_only": True}, + ) + properties.l3_isolation_domains = AAZListType( + serialized_name="l3IsolationDomains", + flags={"read_only": True}, + ) + properties.management_network_configuration = AAZObjectType( + serialized_name="managementNetworkConfiguration", + flags={"required": True}, + ) + properties.network_fabric_controller_id = AAZStrType( + serialized_name="networkFabricControllerId", + flags={"required": True}, + ) + properties.network_fabric_sku = AAZStrType( + serialized_name="networkFabricSku", + flags={"required": True}, + ) + properties.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.rack_count = AAZIntType( + serialized_name="rackCount", + flags={"required": True}, + ) + properties.racks = AAZListType( + flags={"read_only": True}, + ) + properties.router_id = AAZStrType( + serialized_name="routerId", + flags={"read_only": True}, + ) + properties.server_count_per_rack = AAZIntType( + serialized_name="serverCountPerRack", + flags={"required": True}, + ) + properties.terminal_server_configuration = AAZObjectType( + serialized_name="terminalServerConfiguration", + flags={"required": True}, + ) + + l2_isolation_domains = cls._schema_on_200.properties.l2_isolation_domains + l2_isolation_domains.Element = AAZStrType() + + l3_isolation_domains = cls._schema_on_200.properties.l3_isolation_domains + l3_isolation_domains.Element = AAZStrType() + + management_network_configuration = cls._schema_on_200.properties.management_network_configuration + management_network_configuration.infrastructure_vpn_configuration = AAZObjectType( + serialized_name="infrastructureVpnConfiguration", + flags={"required": True}, + ) + management_network_configuration.workload_vpn_configuration = AAZObjectType( + serialized_name="workloadVpnConfiguration", + flags={"required": True}, + ) + + infrastructure_vpn_configuration = cls._schema_on_200.properties.management_network_configuration.infrastructure_vpn_configuration + infrastructure_vpn_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + infrastructure_vpn_configuration.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + infrastructure_vpn_configuration.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + _ShowHelper._build_schema_option_a_properties_read(infrastructure_vpn_configuration.option_a_properties) + infrastructure_vpn_configuration.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + _ShowHelper._build_schema_option_b_properties_read(infrastructure_vpn_configuration.option_b_properties) + infrastructure_vpn_configuration.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + + workload_vpn_configuration = cls._schema_on_200.properties.management_network_configuration.workload_vpn_configuration + workload_vpn_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + workload_vpn_configuration.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + workload_vpn_configuration.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + _ShowHelper._build_schema_option_a_properties_read(workload_vpn_configuration.option_a_properties) + workload_vpn_configuration.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + _ShowHelper._build_schema_option_b_properties_read(workload_vpn_configuration.option_b_properties) + workload_vpn_configuration.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + + racks = cls._schema_on_200.properties.racks + racks.Element = AAZStrType() + + terminal_server_configuration = cls._schema_on_200.properties.terminal_server_configuration + terminal_server_configuration.network_device_id = AAZStrType( + serialized_name="networkDeviceId", + flags={"read_only": True}, + ) + terminal_server_configuration.password = AAZStrType( + flags={"required": True, "secret": True}, + ) + terminal_server_configuration.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + flags={"required": True}, + ) + terminal_server_configuration.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + terminal_server_configuration.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + flags={"required": True}, + ) + terminal_server_configuration.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + terminal_server_configuration.serial_number = AAZStrType( + serialized_name="serialNumber", + ) + terminal_server_configuration.username = AAZStrType( + flags={"required": 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""" + + _schema_option_a_properties_read = None + + @classmethod + def _build_schema_option_a_properties_read(cls, _schema): + if cls._schema_option_a_properties_read is not None: + _schema.bfd_configuration = cls._schema_option_a_properties_read.bfd_configuration + _schema.mtu = cls._schema_option_a_properties_read.mtu + _schema.peer_asn = cls._schema_option_a_properties_read.peer_asn + _schema.primary_ipv4_prefix = cls._schema_option_a_properties_read.primary_ipv4_prefix + _schema.primary_ipv6_prefix = cls._schema_option_a_properties_read.primary_ipv6_prefix + _schema.secondary_ipv4_prefix = cls._schema_option_a_properties_read.secondary_ipv4_prefix + _schema.secondary_ipv6_prefix = cls._schema_option_a_properties_read.secondary_ipv6_prefix + _schema.vlan_id = cls._schema_option_a_properties_read.vlan_id + return + + cls._schema_option_a_properties_read = _schema_option_a_properties_read = AAZObjectType() + + option_a_properties_read = _schema_option_a_properties_read + option_a_properties_read.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + option_a_properties_read.mtu = AAZIntType() + option_a_properties_read.peer_asn = AAZIntType( + serialized_name="peerASN", + ) + option_a_properties_read.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + option_a_properties_read.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + option_a_properties_read.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + option_a_properties_read.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + option_a_properties_read.vlan_id = AAZIntType( + serialized_name="vlanId", + ) + + bfd_configuration = _schema_option_a_properties_read.bfd_configuration + bfd_configuration.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + _schema.bfd_configuration = cls._schema_option_a_properties_read.bfd_configuration + _schema.mtu = cls._schema_option_a_properties_read.mtu + _schema.peer_asn = cls._schema_option_a_properties_read.peer_asn + _schema.primary_ipv4_prefix = cls._schema_option_a_properties_read.primary_ipv4_prefix + _schema.primary_ipv6_prefix = cls._schema_option_a_properties_read.primary_ipv6_prefix + _schema.secondary_ipv4_prefix = cls._schema_option_a_properties_read.secondary_ipv4_prefix + _schema.secondary_ipv6_prefix = cls._schema_option_a_properties_read.secondary_ipv6_prefix + _schema.vlan_id = cls._schema_option_a_properties_read.vlan_id + + _schema_option_b_properties_read = None + + @classmethod + def _build_schema_option_b_properties_read(cls, _schema): + if cls._schema_option_b_properties_read is not None: + _schema.export_route_targets = cls._schema_option_b_properties_read.export_route_targets + _schema.import_route_targets = cls._schema_option_b_properties_read.import_route_targets + return + + cls._schema_option_b_properties_read = _schema_option_b_properties_read = AAZObjectType() + + option_b_properties_read = _schema_option_b_properties_read + option_b_properties_read.export_route_targets = AAZListType( + serialized_name="exportRouteTargets", + flags={"required": True}, + ) + option_b_properties_read.import_route_targets = AAZListType( + serialized_name="importRouteTargets", + flags={"required": True}, + ) + + export_route_targets = _schema_option_b_properties_read.export_route_targets + export_route_targets.Element = AAZStrType() + + import_route_targets = _schema_option_b_properties_read.import_route_targets + import_route_targets.Element = AAZStrType() + + _schema.export_route_targets = cls._schema_option_b_properties_read.export_route_targets + _schema.import_route_targets = cls._schema_option_b_properties_read.import_route_targets + + +__all__ = ["Show"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_wait.py new file mode 100644 index 00000000000..32dc647225b --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabric/_wait.py @@ -0,0 +1,444 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric fabric 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.managednetworkfabric/networkfabrics/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Fabric", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkFabricsGet(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 NetworkFabricsGet(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.ManagedNetworkFabric/networkFabrics/{networkFabricName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"required": True}, + ) + properties.ipv4_prefix = AAZStrType( + serialized_name="ipv4Prefix", + ) + properties.ipv6_prefix = AAZStrType( + serialized_name="ipv6Prefix", + ) + properties.l2_isolation_domains = AAZListType( + serialized_name="l2IsolationDomains", + flags={"read_only": True}, + ) + properties.l3_isolation_domains = AAZListType( + serialized_name="l3IsolationDomains", + flags={"read_only": True}, + ) + properties.management_network_configuration = AAZObjectType( + serialized_name="managementNetworkConfiguration", + flags={"required": True}, + ) + properties.network_fabric_controller_id = AAZStrType( + serialized_name="networkFabricControllerId", + flags={"required": True}, + ) + properties.network_fabric_sku = AAZStrType( + serialized_name="networkFabricSku", + flags={"required": True}, + ) + properties.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.rack_count = AAZIntType( + serialized_name="rackCount", + flags={"required": True}, + ) + properties.racks = AAZListType( + flags={"read_only": True}, + ) + properties.router_id = AAZStrType( + serialized_name="routerId", + flags={"read_only": True}, + ) + properties.server_count_per_rack = AAZIntType( + serialized_name="serverCountPerRack", + flags={"required": True}, + ) + properties.terminal_server_configuration = AAZObjectType( + serialized_name="terminalServerConfiguration", + flags={"required": True}, + ) + + l2_isolation_domains = cls._schema_on_200.properties.l2_isolation_domains + l2_isolation_domains.Element = AAZStrType() + + l3_isolation_domains = cls._schema_on_200.properties.l3_isolation_domains + l3_isolation_domains.Element = AAZStrType() + + management_network_configuration = cls._schema_on_200.properties.management_network_configuration + management_network_configuration.infrastructure_vpn_configuration = AAZObjectType( + serialized_name="infrastructureVpnConfiguration", + flags={"required": True}, + ) + management_network_configuration.workload_vpn_configuration = AAZObjectType( + serialized_name="workloadVpnConfiguration", + flags={"required": True}, + ) + + infrastructure_vpn_configuration = cls._schema_on_200.properties.management_network_configuration.infrastructure_vpn_configuration + infrastructure_vpn_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + infrastructure_vpn_configuration.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + infrastructure_vpn_configuration.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + _WaitHelper._build_schema_option_a_properties_read(infrastructure_vpn_configuration.option_a_properties) + infrastructure_vpn_configuration.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + _WaitHelper._build_schema_option_b_properties_read(infrastructure_vpn_configuration.option_b_properties) + infrastructure_vpn_configuration.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + + workload_vpn_configuration = cls._schema_on_200.properties.management_network_configuration.workload_vpn_configuration + workload_vpn_configuration.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + workload_vpn_configuration.network_to_network_interconnect_id = AAZStrType( + serialized_name="networkToNetworkInterconnectId", + flags={"read_only": True}, + ) + workload_vpn_configuration.option_a_properties = AAZObjectType( + serialized_name="optionAProperties", + ) + _WaitHelper._build_schema_option_a_properties_read(workload_vpn_configuration.option_a_properties) + workload_vpn_configuration.option_b_properties = AAZObjectType( + serialized_name="optionBProperties", + ) + _WaitHelper._build_schema_option_b_properties_read(workload_vpn_configuration.option_b_properties) + workload_vpn_configuration.peering_option = AAZStrType( + serialized_name="peeringOption", + flags={"required": True}, + ) + + racks = cls._schema_on_200.properties.racks + racks.Element = AAZStrType() + + terminal_server_configuration = cls._schema_on_200.properties.terminal_server_configuration + terminal_server_configuration.network_device_id = AAZStrType( + serialized_name="networkDeviceId", + flags={"read_only": True}, + ) + terminal_server_configuration.password = AAZStrType( + flags={"required": True, "secret": True}, + ) + terminal_server_configuration.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + flags={"required": True}, + ) + terminal_server_configuration.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + terminal_server_configuration.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + flags={"required": True}, + ) + terminal_server_configuration.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + terminal_server_configuration.serial_number = AAZStrType( + serialized_name="serialNumber", + ) + terminal_server_configuration.username = AAZStrType( + flags={"required": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + _schema_option_a_properties_read = None + + @classmethod + def _build_schema_option_a_properties_read(cls, _schema): + if cls._schema_option_a_properties_read is not None: + _schema.bfd_configuration = cls._schema_option_a_properties_read.bfd_configuration + _schema.mtu = cls._schema_option_a_properties_read.mtu + _schema.peer_asn = cls._schema_option_a_properties_read.peer_asn + _schema.primary_ipv4_prefix = cls._schema_option_a_properties_read.primary_ipv4_prefix + _schema.primary_ipv6_prefix = cls._schema_option_a_properties_read.primary_ipv6_prefix + _schema.secondary_ipv4_prefix = cls._schema_option_a_properties_read.secondary_ipv4_prefix + _schema.secondary_ipv6_prefix = cls._schema_option_a_properties_read.secondary_ipv6_prefix + _schema.vlan_id = cls._schema_option_a_properties_read.vlan_id + return + + cls._schema_option_a_properties_read = _schema_option_a_properties_read = AAZObjectType() + + option_a_properties_read = _schema_option_a_properties_read + option_a_properties_read.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + option_a_properties_read.mtu = AAZIntType() + option_a_properties_read.peer_asn = AAZIntType( + serialized_name="peerASN", + ) + option_a_properties_read.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + option_a_properties_read.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + option_a_properties_read.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + option_a_properties_read.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + option_a_properties_read.vlan_id = AAZIntType( + serialized_name="vlanId", + ) + + bfd_configuration = _schema_option_a_properties_read.bfd_configuration + bfd_configuration.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + _schema.bfd_configuration = cls._schema_option_a_properties_read.bfd_configuration + _schema.mtu = cls._schema_option_a_properties_read.mtu + _schema.peer_asn = cls._schema_option_a_properties_read.peer_asn + _schema.primary_ipv4_prefix = cls._schema_option_a_properties_read.primary_ipv4_prefix + _schema.primary_ipv6_prefix = cls._schema_option_a_properties_read.primary_ipv6_prefix + _schema.secondary_ipv4_prefix = cls._schema_option_a_properties_read.secondary_ipv4_prefix + _schema.secondary_ipv6_prefix = cls._schema_option_a_properties_read.secondary_ipv6_prefix + _schema.vlan_id = cls._schema_option_a_properties_read.vlan_id + + _schema_option_b_properties_read = None + + @classmethod + def _build_schema_option_b_properties_read(cls, _schema): + if cls._schema_option_b_properties_read is not None: + _schema.export_route_targets = cls._schema_option_b_properties_read.export_route_targets + _schema.import_route_targets = cls._schema_option_b_properties_read.import_route_targets + return + + cls._schema_option_b_properties_read = _schema_option_b_properties_read = AAZObjectType() + + option_b_properties_read = _schema_option_b_properties_read + option_b_properties_read.export_route_targets = AAZListType( + serialized_name="exportRouteTargets", + flags={"required": True}, + ) + option_b_properties_read.import_route_targets = AAZListType( + serialized_name="importRouteTargets", + flags={"required": True}, + ) + + export_route_targets = _schema_option_b_properties_read.export_route_targets + export_route_targets.Element = AAZStrType() + + import_route_targets = _schema_option_b_properties_read.import_route_targets + import_route_targets.Element = AAZStrType() + + _schema.export_route_targets = cls._schema_option_b_properties_read.export_route_targets + _schema.import_route_targets = cls._schema_option_b_properties_read.import_route_targets + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/__cmd_group.py new file mode 100644 index 00000000000..d8fa0089af2 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/__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( + "networkfabric fabricsku", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Fabric SKU Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/__init__.py new file mode 100644 index 00000000000..2df85698253 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/__init__.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._list import * +from ._show import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/_list.py new file mode 100644 index 00000000000..2817932e28c --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/_list.py @@ -0,0 +1,214 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric fabricsku list", +) +class List(AAZCommand): + """List all Network Fabric SKUs in the provided subscription. + + :example: List the FabricSKU for Subscription + az networkfabric fabricsku list --subscription + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/networkfabricskus", "2023-02-01-preview"], + ] + } + + 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 "" + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkFabricSkusListBySubscription(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 NetworkFabricSkusListBySubscription(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.ManagedNetworkFabric/networkFabricSkus", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.details_uri = AAZStrType( + serialized_name="detailsUri", + flags={"read_only": True}, + ) + properties.max_compute_racks = AAZIntType( + serialized_name="maxComputeRacks", + ) + properties.max_supported_ver = AAZStrType( + serialized_name="maxSupportedVer", + flags={"read_only": True}, + ) + properties.min_supported_ver = AAZStrType( + serialized_name="minSupportedVer", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.type = AAZStrType( + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/_show.py new file mode 100644 index 00000000000..cd9e9c94a12 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/fabricsku/_show.py @@ -0,0 +1,214 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric fabricsku show", +) +class Show(AAZCommand): + """Show details of the provided Network Fabric SKU resource. + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/networkfabricskus/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Fabric Sku", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkFabricSkusGet(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 NetworkFabricSkusGet(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.ManagedNetworkFabric/networkFabricSkus/{networkFabricSkuName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricSkuName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.details_uri = AAZStrType( + serialized_name="detailsUri", + flags={"read_only": True}, + ) + properties.max_compute_racks = AAZIntType( + serialized_name="maxComputeRacks", + ) + properties.max_supported_ver = AAZStrType( + serialized_name="maxSupportedVer", + flags={"read_only": True}, + ) + properties.min_supported_ver = AAZStrType( + serialized_name="minSupportedVer", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.type = AAZStrType( + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/__cmd_group.py new file mode 100644 index 00000000000..a8e50985e3b --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/__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( + "networkfabric interface", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Interface Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/__init__.py new file mode 100644 index 00000000000..f57c4ff856e --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._delete import * +from ._list import * +from ._show import * +from ._update_admin_state import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_delete.py new file mode 100644 index 00000000000..3706bd665a4 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_delete.py @@ -0,0 +1,173 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric interface delete", +) +class Delete(AAZCommand): + """Delete the Network Interface resource. + + :example: Delete the Network Interface + az networkfabric interface delete -g "example-rg" --network-device-name "example-device" --resource-name "example-interface" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkdevices/{}/networkinterfaces/{}", "2023-02-01-preview"], + ] + } + + 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.network_device_name = AAZStrArg( + options=["--device", "--network-device-name"], + help="Name of the Network Device", + required=True, + id_part="name", + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the NetworkInterfaceName", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkInterfacesDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkInterfacesDelete(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.ManagedNetworkFabric/networkDevices/{networkDeviceName}/networkInterfaces/{networkInterfaceName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkDeviceName", self.ctx.args.network_device_name, + required=True, + ), + **self.serialize_url_param( + "networkInterfaceName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_list.py new file mode 100644 index 00000000000..c9058b601b5 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_list.py @@ -0,0 +1,240 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric interface list", +) +class List(AAZCommand): + """List all Network Interfaces in the provided resource group. + + :example: List the Network Interfaces for Resource Group + az networkfabric interface list -g "example-rg" --network-device-name "example-device" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkdevices/{}/networkinterfaces", "2023-02-01-preview"], + ] + } + + 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.network_device_name = AAZStrArg( + options=["--device", "--network-device-name"], + help="Name of the Network Device", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkInterfacesList(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 NetworkInterfacesList(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.ManagedNetworkFabric/networkDevices/{networkDeviceName}/networkInterfaces", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkDeviceName", self.ctx.args.network_device_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.connected_to = AAZStrType( + serialized_name="connectedTo", + flags={"read_only": True}, + ) + properties.interface_type = AAZStrType( + serialized_name="interfaceType", + flags={"read_only": True}, + ) + properties.ipv4_address = AAZStrType( + serialized_name="ipv4Address", + flags={"read_only": True}, + ) + properties.ipv6_address = AAZStrType( + serialized_name="ipv6Address", + flags={"read_only": True}, + ) + properties.physical_identifier = AAZStrType( + serialized_name="physicalIdentifier", + 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", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_show.py new file mode 100644 index 00000000000..8d12ac81328 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_show.py @@ -0,0 +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( + "networkfabric interface show", +) +class Show(AAZCommand): + """Show details of the provided Network Interface resource. + + :example: Show the Network Interface + az networkfabric interface show -g "example-rg" --network-device-name "example-device" --resource-name "example-interface" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkdevices/{}/networkinterfaces/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.network_device_name = AAZStrArg( + options=["--device", "--network-device-name"], + help="Name of the Network Device", + required=True, + id_part="name", + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the NetworkInterfaceName", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkInterfacesGet(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 NetworkInterfacesGet(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.ManagedNetworkFabric/networkDevices/{networkDeviceName}/networkInterfaces/{networkInterfaceName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkDeviceName", self.ctx.args.network_device_name, + required=True, + ), + **self.serialize_url_param( + "networkInterfaceName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.connected_to = AAZStrType( + serialized_name="connectedTo", + flags={"read_only": True}, + ) + properties.interface_type = AAZStrType( + serialized_name="interfaceType", + flags={"read_only": True}, + ) + properties.ipv4_address = AAZStrType( + serialized_name="ipv4Address", + flags={"read_only": True}, + ) + properties.ipv6_address = AAZStrType( + serialized_name="ipv6Address", + flags={"read_only": True}, + ) + properties.physical_identifier = AAZStrType( + serialized_name="physicalIdentifier", + 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", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_update_admin_state.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_update_admin_state.py new file mode 100644 index 00000000000..97b2a2092c8 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_update_admin_state.py @@ -0,0 +1,204 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric interface update-admin-state", +) +class UpdateAdminState(AAZCommand): + """Update the admin state of the provided Network Interface resource. + + :example: Update admin state of Network Interface + az networkfabric interface update-admin-state -g "example-rg" --network-device-name "example-device" --resource-name "example-interface" --state "Enable" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkdevices/{}/networkinterfaces/{}/updateadministrativestate", "2023-02-01-preview"], + ] + } + + 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.network_device_name = AAZStrArg( + options=["--device", "--network-device-name"], + help="Name of the Network Device", + required=True, + id_part="name", + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the NetworkInterface", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.resource_ids = AAZListArg( + options=["--resource-ids"], + arg_group="Body", + help="Network Fabrics or Network Rack resource Id.", + ) + _args_schema.state = AAZStrArg( + options=["--state"], + arg_group="Body", + help="Administrative state.", + enum={"Disable": "Disable", "Enable": "Enable"}, + ) + + resource_ids = cls._args_schema.resource_ids + resource_ids.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkInterfacesUpdateAdministrativeState(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkInterfacesUpdateAdministrativeState(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/networkDevices/{networkDeviceName}/networkInterfaces/{networkInterfaceName}/updateAdministrativeState", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkDeviceName", self.ctx.args.network_device_name, + required=True, + ), + **self.serialize_url_param( + "networkInterfaceName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("resourceIds", AAZListType, ".resource_ids") + _builder.set_prop("state", AAZStrType, ".state") + + resource_ids = _builder.get(".resourceIds") + if resource_ids is not None: + resource_ids.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200(self, session): + pass + + +class _UpdateAdminStateHelper: + """Helper class for UpdateAdminState""" + + +__all__ = ["UpdateAdminState"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_wait.py new file mode 100644 index 00000000000..f9b186bb091 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/interface/_wait.py @@ -0,0 +1,238 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric interface 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.managednetworkfabric/networkdevices/{}/networkinterfaces/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.network_device_name = AAZStrArg( + options=["--device", "--network-device-name"], + help="Name of the Network Device", + required=True, + id_part="name", + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the NetworkInterfaceName", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkInterfacesGet(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 NetworkInterfacesGet(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.ManagedNetworkFabric/networkDevices/{networkDeviceName}/networkInterfaces/{networkInterfaceName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkDeviceName", self.ctx.args.network_device_name, + required=True, + ), + **self.serialize_url_param( + "networkInterfaceName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.connected_to = AAZStrType( + serialized_name="connectedTo", + flags={"read_only": True}, + ) + properties.interface_type = AAZStrType( + serialized_name="interfaceType", + flags={"read_only": True}, + ) + properties.ipv4_address = AAZStrType( + serialized_name="ipv4Address", + flags={"read_only": True}, + ) + properties.ipv6_address = AAZStrType( + serialized_name="ipv6Address", + flags={"read_only": True}, + ) + properties.physical_identifier = AAZStrType( + serialized_name="physicalIdentifier", + 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", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/__cmd_group.py new file mode 100644 index 00000000000..25db67bbd03 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/__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( + "networkfabric internalnetwork", +) +class __CMDGroup(AAZCommandGroup): + """Manage Internal Network Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/__init__.py new file mode 100644 index 00000000000..2b037f08f76 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/__init__.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._update_admin_state import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_create.py new file mode 100644 index 00000000000..3dd6ddfce4e --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_create.py @@ -0,0 +1,753 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric internalnetwork create", +) +class Create(AAZCommand): + """Create a Internal Network resource. + + :example: Create a Internal Network + az networkfabric internalnetwork create --resource-group "example-rg" --l3-isolation-domain-name "example-l3domain" --resource-name "example-internalNetwork" --vlan-id 2600 --mtu 1500 --connected-ipv4-subnets "[{prefix:'10.0.0.1/21'},{prefix:'10.0.0.1/22'}]" --static-route-configuration "{ipv4Routes:[{prefix:'10.1.0.0/24',nextHop:['10.0.0.1','10.0.0.2']},{prefix:'10.1.0.0/24',nextHop:['10.0.0.1','10.0.0.2']}]}" --bgp-configuration "{defaultRouteOriginate:True,allowAS:2,allowASOverride:Enable,peerASN:65047,ipv4ListenRangePrefixes:['10.1.0.0/28','10.1.0.1/28'],ipv4NeighborAddress:[{address:'10.0.0.11'},{address:'10.0.0.12'}]}" --export-route-policy-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/microsoft.managednetworkfabric/routePolicies/example-routepolicy" --import-route-policy-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/microsoft.managednetworkfabric/routePolicies/example-routepolicy" + + :example: Help text for sub parameters under the specific parent can be viewed by using the shorthand syntax '??'. See https://github.com/Azure/azure-cli/tree/dev/doc/shorthand_syntax.md for more about shorthand syntax. + az networkfabric internalnetwork create --static-route-configuration ?? + az networkfabric internalnetwork create --static-route-configuration "{ipv4-routes:??" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/internalnetworks/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the InternalNetwork", + required=True, + ) + _args_schema.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.bgp_configuration = AAZObjectArg( + options=["--bgp-configuration"], + arg_group="Properties", + help="BGP configuration properties", + ) + _args_schema.connected_ipv4_subnets = AAZListArg( + options=["--connected-ipv4-subnets"], + arg_group="Properties", + help="List with object connectedIPv4Subnets.", + ) + _args_schema.connected_ipv6_subnets = AAZListArg( + options=["--connected-ipv6-subnets"], + arg_group="Properties", + help="List with object connectedIPv6Subnets.", + ) + _args_schema.export_route_policy_id = AAZStrArg( + options=["--export-route-policy-id"], + arg_group="Properties", + help="ARM resource ID of importRoutePolicy.", + ) + _args_schema.import_route_policy_id = AAZStrArg( + options=["--import-route-policy-id"], + arg_group="Properties", + help="ARM resource ID of importRoutePolicy.", + ) + _args_schema.mtu = AAZIntArg( + options=["--mtu"], + arg_group="Properties", + help="Maximum transmission unit: The value should be between 1500-9000. Default value is 1500", + fmt=AAZIntArgFormat( + maximum=9000, + minimum=1500, + ), + ) + _args_schema.static_route_configuration = AAZObjectArg( + options=["--static-route-configuration"], + arg_group="Properties", + help="staticRouteConfiguration model.", + ) + _args_schema.vlan_id = AAZIntArg( + options=["--vlan-id"], + arg_group="Properties", + help="Vlan identifier value. The value should be between 501-4095. Example: 501.", + required=True, + fmt=AAZIntArgFormat( + maximum=4095, + minimum=100, + ), + ) + + bgp_configuration = cls._args_schema.bgp_configuration + bgp_configuration.allow_as = AAZIntArg( + options=["allow-as"], + help="Allows for routes to be received and processed even if the router detects its own ASN in the AS-Path. 0 is disable, Possible values are 1-10, default is 2.", + default=2, + fmt=AAZIntArgFormat( + maximum=10, + minimum=0, + ), + ) + bgp_configuration.allow_as_override = AAZStrArg( + options=["allow-as-override"], + help="Enable Or Disable state.", + enum={"Disable": "Disable", "Enable": "Enable"}, + ) + bgp_configuration.annotation = AAZStrArg( + options=["annotation"], + help="Switch configuration description.", + ) + bgp_configuration.default_route_originate = AAZStrArg( + options=["default-route-originate"], + help="Enables default route to be originated when advertising routes via BGP.", + enum={"False": "False", "True": "True"}, + ) + bgp_configuration.ipv4_listen_range_prefixes = AAZListArg( + options=["ipv4-listen-range-prefixes"], + help="BGP Ipv4 ListenRange. Example: 10.1.0.0/28.", + ) + bgp_configuration.ipv4_neighbor_address = AAZListArg( + options=["ipv4-neighbor-address"], + help="Specific IPv4 address for peering.", + ) + bgp_configuration.ipv6_listen_range_prefixes = AAZListArg( + options=["ipv6-listen-range-prefixes"], + help="BGP Ipv6 ListenRange.", + ) + bgp_configuration.ipv6_neighbor_address = AAZListArg( + options=["ipv6-neighbor-address"], + help="Specific IPv6 address for peering.", + ) + bgp_configuration.peer_asn = AAZIntArg( + options=["peer-asn"], + help="Peer ASN of Network Function. The value should be between 1 to 65535. Example: 65047.", + required=True, + fmt=AAZIntArgFormat( + maximum=65535, + minimum=1, + ), + ) + + ipv4_listen_range_prefixes = cls._args_schema.bgp_configuration.ipv4_listen_range_prefixes + ipv4_listen_range_prefixes.Element = AAZStrArg() + + ipv4_neighbor_address = cls._args_schema.bgp_configuration.ipv4_neighbor_address + ipv4_neighbor_address.Element = AAZObjectArg() + + _element = cls._args_schema.bgp_configuration.ipv4_neighbor_address.Element + _element.address = AAZStrArg( + options=["address"], + help="IP Address of the IPv4NeighborAddress. Example: \"10.0.0.11\".", + ) + + ipv6_listen_range_prefixes = cls._args_schema.bgp_configuration.ipv6_listen_range_prefixes + ipv6_listen_range_prefixes.Element = AAZStrArg() + + ipv6_neighbor_address = cls._args_schema.bgp_configuration.ipv6_neighbor_address + ipv6_neighbor_address.Element = AAZObjectArg() + + _element = cls._args_schema.bgp_configuration.ipv6_neighbor_address.Element + _element.address = AAZStrArg( + options=["address"], + help="IP address of the ipv6NeighborAddress. Example: \"3FFE:FFFF:0:CD31::a4\"", + ) + + connected_ipv4_subnets = cls._args_schema.connected_ipv4_subnets + connected_ipv4_subnets.Element = AAZObjectArg() + + _element = cls._args_schema.connected_ipv4_subnets.Element + _element.annotation = AAZStrArg( + options=["annotation"], + help="Switch configuration description.", + ) + _element.prefix = AAZStrArg( + options=["prefix"], + help="IPv4 Prefix of the subnet in the VLAN. Subnet length range should be from 8 to 28. Example: \"10.0.0.1/21\"", + ) + + connected_ipv6_subnets = cls._args_schema.connected_ipv6_subnets + connected_ipv6_subnets.Element = AAZObjectArg() + + _element = cls._args_schema.connected_ipv6_subnets.Element + _element.annotation = AAZStrArg( + options=["annotation"], + help="Switch configuration description.", + ) + _element.prefix = AAZStrArg( + options=["prefix"], + help="IPv6 Prefix of the subnet in the VLAN. Subnet length range should be from 16 to 124. Example: \"3FFE:FFFF:0:CD30::a4/121\"", + ) + + static_route_configuration = cls._args_schema.static_route_configuration + static_route_configuration.ipv4_routes = AAZListArg( + options=["ipv4-routes"], + help="Static IPv4 routes configuration.", + ) + static_route_configuration.ipv6_routes = AAZListArg( + options=["ipv6-routes"], + help="Static IPv6 routes configuration.", + ) + + ipv4_routes = cls._args_schema.static_route_configuration.ipv4_routes + ipv4_routes.Element = AAZObjectArg() + + _element = cls._args_schema.static_route_configuration.ipv4_routes.Element + _element.next_hop = AAZListArg( + options=["next-hop"], + help="List of next hop IPv4 addresses. Example: \"10.0.0.1\"", + required=True, + ) + _element.prefix = AAZStrArg( + options=["prefix"], + help="IPv4 prefix of the staticIpv4Route. Example: \"10.1.0.0/24\"", + required=True, + ) + + next_hop = cls._args_schema.static_route_configuration.ipv4_routes.Element.next_hop + next_hop.Element = AAZStrArg() + + ipv6_routes = cls._args_schema.static_route_configuration.ipv6_routes + ipv6_routes.Element = AAZObjectArg() + + _element = cls._args_schema.static_route_configuration.ipv6_routes.Element + _element.next_hop = AAZListArg( + options=["next-hop"], + help="List of next hop IPv6 addresses. Example: \"2ffe::1\"", + required=True, + ) + _element.prefix = AAZStrArg( + options=["prefix"], + help="IPv6 prefix of the staticIPv6Route. Example: \"2fff::/64\"", + required=True, + ) + + next_hop = cls._args_schema.static_route_configuration.ipv6_routes.Element.next_hop + next_hop.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.InternalNetworksCreate(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 InternalNetworksCreate(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/internalNetworks/{internalNetworkName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "internalNetworkName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("bgpConfiguration", AAZObjectType, ".bgp_configuration") + properties.set_prop("connectedIPv4Subnets", AAZListType, ".connected_ipv4_subnets") + properties.set_prop("connectedIPv6Subnets", AAZListType, ".connected_ipv6_subnets") + properties.set_prop("exportRoutePolicyId", AAZStrType, ".export_route_policy_id") + properties.set_prop("importRoutePolicyId", AAZStrType, ".import_route_policy_id") + properties.set_prop("mtu", AAZIntType, ".mtu") + properties.set_prop("staticRouteConfiguration", AAZObjectType, ".static_route_configuration") + properties.set_prop("vlanId", AAZIntType, ".vlan_id", typ_kwargs={"flags": {"required": True}}) + + bgp_configuration = _builder.get(".properties.bgpConfiguration") + if bgp_configuration is not None: + bgp_configuration.set_prop("allowAS", AAZIntType, ".allow_as") + bgp_configuration.set_prop("allowASOverride", AAZStrType, ".allow_as_override") + bgp_configuration.set_prop("annotation", AAZStrType, ".annotation") + bgp_configuration.set_prop("defaultRouteOriginate", AAZStrType, ".default_route_originate") + bgp_configuration.set_prop("ipv4ListenRangePrefixes", AAZListType, ".ipv4_listen_range_prefixes") + bgp_configuration.set_prop("ipv4NeighborAddress", AAZListType, ".ipv4_neighbor_address") + bgp_configuration.set_prop("ipv6ListenRangePrefixes", AAZListType, ".ipv6_listen_range_prefixes") + bgp_configuration.set_prop("ipv6NeighborAddress", AAZListType, ".ipv6_neighbor_address") + bgp_configuration.set_prop("peerASN", AAZIntType, ".peer_asn", typ_kwargs={"flags": {"required": True}}) + + ipv4_listen_range_prefixes = _builder.get(".properties.bgpConfiguration.ipv4ListenRangePrefixes") + if ipv4_listen_range_prefixes is not None: + ipv4_listen_range_prefixes.set_elements(AAZStrType, ".") + + ipv4_neighbor_address = _builder.get(".properties.bgpConfiguration.ipv4NeighborAddress") + if ipv4_neighbor_address is not None: + ipv4_neighbor_address.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.bgpConfiguration.ipv4NeighborAddress[]") + if _elements is not None: + _elements.set_prop("address", AAZStrType, ".address") + + ipv6_listen_range_prefixes = _builder.get(".properties.bgpConfiguration.ipv6ListenRangePrefixes") + if ipv6_listen_range_prefixes is not None: + ipv6_listen_range_prefixes.set_elements(AAZStrType, ".") + + ipv6_neighbor_address = _builder.get(".properties.bgpConfiguration.ipv6NeighborAddress") + if ipv6_neighbor_address is not None: + ipv6_neighbor_address.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.bgpConfiguration.ipv6NeighborAddress[]") + if _elements is not None: + _elements.set_prop("address", AAZStrType, ".address") + + connected_i_pv4_subnets = _builder.get(".properties.connectedIPv4Subnets") + if connected_i_pv4_subnets is not None: + connected_i_pv4_subnets.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.connectedIPv4Subnets[]") + if _elements is not None: + _elements.set_prop("annotation", AAZStrType, ".annotation") + _elements.set_prop("prefix", AAZStrType, ".prefix") + + connected_i_pv6_subnets = _builder.get(".properties.connectedIPv6Subnets") + if connected_i_pv6_subnets is not None: + connected_i_pv6_subnets.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.connectedIPv6Subnets[]") + if _elements is not None: + _elements.set_prop("annotation", AAZStrType, ".annotation") + _elements.set_prop("prefix", AAZStrType, ".prefix") + + static_route_configuration = _builder.get(".properties.staticRouteConfiguration") + if static_route_configuration is not None: + static_route_configuration.set_prop("ipv4Routes", AAZListType, ".ipv4_routes") + static_route_configuration.set_prop("ipv6Routes", AAZListType, ".ipv6_routes") + + ipv4_routes = _builder.get(".properties.staticRouteConfiguration.ipv4Routes") + if ipv4_routes is not None: + ipv4_routes.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.staticRouteConfiguration.ipv4Routes[]") + if _elements is not None: + _elements.set_prop("nextHop", AAZListType, ".next_hop", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("prefix", AAZStrType, ".prefix", typ_kwargs={"flags": {"required": True}}) + + next_hop = _builder.get(".properties.staticRouteConfiguration.ipv4Routes[].nextHop") + if next_hop is not None: + next_hop.set_elements(AAZStrType, ".") + + ipv6_routes = _builder.get(".properties.staticRouteConfiguration.ipv6Routes") + if ipv6_routes is not None: + ipv6_routes.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.staticRouteConfiguration.ipv6Routes[]") + if _elements is not None: + _elements.set_prop("nextHop", AAZListType, ".next_hop", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("prefix", AAZStrType, ".prefix", typ_kwargs={"flags": {"required": True}}) + + next_hop = _builder.get(".properties.staticRouteConfiguration.ipv6Routes[].nextHop") + if next_hop is not None: + next_hop.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={"required": True, "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.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.bfd_disabled_on_resources = AAZListType( + serialized_name="bfdDisabledOnResources", + flags={"read_only": True}, + ) + properties.bfd_for_static_routes_disabled_on_resources = AAZListType( + serialized_name="bfdForStaticRoutesDisabledOnResources", + flags={"read_only": True}, + ) + properties.bgp_configuration = AAZObjectType( + serialized_name="bgpConfiguration", + ) + properties.bgp_disabled_on_resources = AAZListType( + serialized_name="bgpDisabledOnResources", + flags={"read_only": True}, + ) + properties.connected_i_pv4_subnets = AAZListType( + serialized_name="connectedIPv4Subnets", + ) + properties.connected_i_pv6_subnets = AAZListType( + serialized_name="connectedIPv6Subnets", + ) + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + properties.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + properties.mtu = AAZIntType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.static_route_configuration = AAZObjectType( + serialized_name="staticRouteConfiguration", + ) + properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + bfd_disabled_on_resources = cls._schema_on_200_201.properties.bfd_disabled_on_resources + bfd_disabled_on_resources.Element = AAZStrType() + + bfd_for_static_routes_disabled_on_resources = cls._schema_on_200_201.properties.bfd_for_static_routes_disabled_on_resources + bfd_for_static_routes_disabled_on_resources.Element = AAZStrType() + + bgp_configuration = cls._schema_on_200_201.properties.bgp_configuration + bgp_configuration.allow_as = AAZIntType( + serialized_name="allowAS", + ) + bgp_configuration.allow_as_override = AAZStrType( + serialized_name="allowASOverride", + ) + bgp_configuration.annotation = AAZStrType() + bgp_configuration.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + _CreateHelper._build_schema_bfd_configuration_read(bgp_configuration.bfd_configuration) + bgp_configuration.default_route_originate = AAZStrType( + serialized_name="defaultRouteOriginate", + ) + bgp_configuration.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + bgp_configuration.ipv4_listen_range_prefixes = AAZListType( + serialized_name="ipv4ListenRangePrefixes", + ) + bgp_configuration.ipv4_neighbor_address = AAZListType( + serialized_name="ipv4NeighborAddress", + ) + bgp_configuration.ipv6_listen_range_prefixes = AAZListType( + serialized_name="ipv6ListenRangePrefixes", + ) + bgp_configuration.ipv6_neighbor_address = AAZListType( + serialized_name="ipv6NeighborAddress", + ) + bgp_configuration.peer_asn = AAZIntType( + serialized_name="peerASN", + flags={"required": True}, + ) + + ipv4_listen_range_prefixes = cls._schema_on_200_201.properties.bgp_configuration.ipv4_listen_range_prefixes + ipv4_listen_range_prefixes.Element = AAZStrType() + + ipv4_neighbor_address = cls._schema_on_200_201.properties.bgp_configuration.ipv4_neighbor_address + ipv4_neighbor_address.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.bgp_configuration.ipv4_neighbor_address.Element + _element.address = AAZStrType() + _element.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + + ipv6_listen_range_prefixes = cls._schema_on_200_201.properties.bgp_configuration.ipv6_listen_range_prefixes + ipv6_listen_range_prefixes.Element = AAZStrType() + + ipv6_neighbor_address = cls._schema_on_200_201.properties.bgp_configuration.ipv6_neighbor_address + ipv6_neighbor_address.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.bgp_configuration.ipv6_neighbor_address.Element + _element.address = AAZStrType() + _element.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + + bgp_disabled_on_resources = cls._schema_on_200_201.properties.bgp_disabled_on_resources + bgp_disabled_on_resources.Element = AAZStrType() + + connected_i_pv4_subnets = cls._schema_on_200_201.properties.connected_i_pv4_subnets + connected_i_pv4_subnets.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.connected_i_pv4_subnets.Element + _element.annotation = AAZStrType() + _element.prefix = AAZStrType() + + connected_i_pv6_subnets = cls._schema_on_200_201.properties.connected_i_pv6_subnets + connected_i_pv6_subnets.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.connected_i_pv6_subnets.Element + _element.annotation = AAZStrType() + _element.prefix = AAZStrType() + + disabled_on_resources = cls._schema_on_200_201.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + static_route_configuration = cls._schema_on_200_201.properties.static_route_configuration + static_route_configuration.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + _CreateHelper._build_schema_bfd_configuration_read(static_route_configuration.bfd_configuration) + static_route_configuration.ipv4_routes = AAZListType( + serialized_name="ipv4Routes", + ) + static_route_configuration.ipv6_routes = AAZListType( + serialized_name="ipv6Routes", + ) + + ipv4_routes = cls._schema_on_200_201.properties.static_route_configuration.ipv4_routes + ipv4_routes.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.static_route_configuration.ipv4_routes.Element + _element.next_hop = AAZListType( + serialized_name="nextHop", + flags={"required": True}, + ) + _element.prefix = AAZStrType( + flags={"required": True}, + ) + + next_hop = cls._schema_on_200_201.properties.static_route_configuration.ipv4_routes.Element.next_hop + next_hop.Element = AAZStrType() + + ipv6_routes = cls._schema_on_200_201.properties.static_route_configuration.ipv6_routes + ipv6_routes.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.static_route_configuration.ipv6_routes.Element + _element.next_hop = AAZListType( + serialized_name="nextHop", + flags={"required": True}, + ) + _element.prefix = AAZStrType( + flags={"required": True}, + ) + + next_hop = cls._schema_on_200_201.properties.static_route_configuration.ipv6_routes.Element.next_hop + next_hop.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""" + + _schema_bfd_configuration_read = None + + @classmethod + def _build_schema_bfd_configuration_read(cls, _schema): + if cls._schema_bfd_configuration_read is not None: + _schema.administrative_state = cls._schema_bfd_configuration_read.administrative_state + _schema.interval = cls._schema_bfd_configuration_read.interval + _schema.multiplier = cls._schema_bfd_configuration_read.multiplier + return + + cls._schema_bfd_configuration_read = _schema_bfd_configuration_read = AAZObjectType() + + bfd_configuration_read = _schema_bfd_configuration_read + bfd_configuration_read.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + bfd_configuration_read.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration_read.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + _schema.administrative_state = cls._schema_bfd_configuration_read.administrative_state + _schema.interval = cls._schema_bfd_configuration_read.interval + _schema.multiplier = cls._schema_bfd_configuration_read.multiplier + + +__all__ = ["Create"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_delete.py new file mode 100644 index 00000000000..f42daa052fe --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_delete.py @@ -0,0 +1,173 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric internalnetwork delete", +) +class Delete(AAZCommand): + """Delete the Internal Network resource. + + :example: Delete the Internal Network + az networkfabric internalnetwork delete --resource-group "example-rg" --l3domain "example-l3domain" --resource-name "example-internalnetwork" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/internalnetworks/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the InternalNetwork", + required=True, + id_part="child_name_1", + ) + _args_schema.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.InternalNetworksDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class InternalNetworksDelete(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/internalNetworks/{internalNetworkName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "internalNetworkName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_list.py new file mode 100644 index 00000000000..f6e341001a9 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_list.py @@ -0,0 +1,417 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric internalnetwork list", +) +class List(AAZCommand): + """List all Internal Networks in the provided resource group. + + :example: List the Internal Networks for Resource Group + az networkfabric internalnetwork list --resource-group "example-rg" --l3domain "example-l3domain" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/internalnetworks", "2023-02-01-preview"], + ] + } + + 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.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.InternalNetworksList(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 InternalNetworksList(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/internalNetworks", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.bfd_disabled_on_resources = AAZListType( + serialized_name="bfdDisabledOnResources", + flags={"read_only": True}, + ) + properties.bfd_for_static_routes_disabled_on_resources = AAZListType( + serialized_name="bfdForStaticRoutesDisabledOnResources", + flags={"read_only": True}, + ) + properties.bgp_configuration = AAZObjectType( + serialized_name="bgpConfiguration", + ) + properties.bgp_disabled_on_resources = AAZListType( + serialized_name="bgpDisabledOnResources", + flags={"read_only": True}, + ) + properties.connected_i_pv4_subnets = AAZListType( + serialized_name="connectedIPv4Subnets", + ) + properties.connected_i_pv6_subnets = AAZListType( + serialized_name="connectedIPv6Subnets", + ) + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + properties.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + properties.mtu = AAZIntType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.static_route_configuration = AAZObjectType( + serialized_name="staticRouteConfiguration", + ) + properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + bfd_disabled_on_resources = cls._schema_on_200.value.Element.properties.bfd_disabled_on_resources + bfd_disabled_on_resources.Element = AAZStrType() + + bfd_for_static_routes_disabled_on_resources = cls._schema_on_200.value.Element.properties.bfd_for_static_routes_disabled_on_resources + bfd_for_static_routes_disabled_on_resources.Element = AAZStrType() + + bgp_configuration = cls._schema_on_200.value.Element.properties.bgp_configuration + bgp_configuration.allow_as = AAZIntType( + serialized_name="allowAS", + ) + bgp_configuration.allow_as_override = AAZStrType( + serialized_name="allowASOverride", + ) + bgp_configuration.annotation = AAZStrType() + bgp_configuration.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + _ListHelper._build_schema_bfd_configuration_read(bgp_configuration.bfd_configuration) + bgp_configuration.default_route_originate = AAZStrType( + serialized_name="defaultRouteOriginate", + ) + bgp_configuration.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + bgp_configuration.ipv4_listen_range_prefixes = AAZListType( + serialized_name="ipv4ListenRangePrefixes", + ) + bgp_configuration.ipv4_neighbor_address = AAZListType( + serialized_name="ipv4NeighborAddress", + ) + bgp_configuration.ipv6_listen_range_prefixes = AAZListType( + serialized_name="ipv6ListenRangePrefixes", + ) + bgp_configuration.ipv6_neighbor_address = AAZListType( + serialized_name="ipv6NeighborAddress", + ) + bgp_configuration.peer_asn = AAZIntType( + serialized_name="peerASN", + flags={"required": True}, + ) + + ipv4_listen_range_prefixes = cls._schema_on_200.value.Element.properties.bgp_configuration.ipv4_listen_range_prefixes + ipv4_listen_range_prefixes.Element = AAZStrType() + + ipv4_neighbor_address = cls._schema_on_200.value.Element.properties.bgp_configuration.ipv4_neighbor_address + ipv4_neighbor_address.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.bgp_configuration.ipv4_neighbor_address.Element + _element.address = AAZStrType() + _element.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + + ipv6_listen_range_prefixes = cls._schema_on_200.value.Element.properties.bgp_configuration.ipv6_listen_range_prefixes + ipv6_listen_range_prefixes.Element = AAZStrType() + + ipv6_neighbor_address = cls._schema_on_200.value.Element.properties.bgp_configuration.ipv6_neighbor_address + ipv6_neighbor_address.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.bgp_configuration.ipv6_neighbor_address.Element + _element.address = AAZStrType() + _element.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + + bgp_disabled_on_resources = cls._schema_on_200.value.Element.properties.bgp_disabled_on_resources + bgp_disabled_on_resources.Element = AAZStrType() + + connected_i_pv4_subnets = cls._schema_on_200.value.Element.properties.connected_i_pv4_subnets + connected_i_pv4_subnets.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.connected_i_pv4_subnets.Element + _element.annotation = AAZStrType() + _element.prefix = AAZStrType() + + connected_i_pv6_subnets = cls._schema_on_200.value.Element.properties.connected_i_pv6_subnets + connected_i_pv6_subnets.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.connected_i_pv6_subnets.Element + _element.annotation = AAZStrType() + _element.prefix = AAZStrType() + + disabled_on_resources = cls._schema_on_200.value.Element.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + static_route_configuration = cls._schema_on_200.value.Element.properties.static_route_configuration + static_route_configuration.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + _ListHelper._build_schema_bfd_configuration_read(static_route_configuration.bfd_configuration) + static_route_configuration.ipv4_routes = AAZListType( + serialized_name="ipv4Routes", + ) + static_route_configuration.ipv6_routes = AAZListType( + serialized_name="ipv6Routes", + ) + + ipv4_routes = cls._schema_on_200.value.Element.properties.static_route_configuration.ipv4_routes + ipv4_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.static_route_configuration.ipv4_routes.Element + _element.next_hop = AAZListType( + serialized_name="nextHop", + flags={"required": True}, + ) + _element.prefix = AAZStrType( + flags={"required": True}, + ) + + next_hop = cls._schema_on_200.value.Element.properties.static_route_configuration.ipv4_routes.Element.next_hop + next_hop.Element = AAZStrType() + + ipv6_routes = cls._schema_on_200.value.Element.properties.static_route_configuration.ipv6_routes + ipv6_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.static_route_configuration.ipv6_routes.Element + _element.next_hop = AAZListType( + serialized_name="nextHop", + flags={"required": True}, + ) + _element.prefix = AAZStrType( + flags={"required": True}, + ) + + next_hop = cls._schema_on_200.value.Element.properties.static_route_configuration.ipv6_routes.Element.next_hop + next_hop.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""" + + _schema_bfd_configuration_read = None + + @classmethod + def _build_schema_bfd_configuration_read(cls, _schema): + if cls._schema_bfd_configuration_read is not None: + _schema.administrative_state = cls._schema_bfd_configuration_read.administrative_state + _schema.interval = cls._schema_bfd_configuration_read.interval + _schema.multiplier = cls._schema_bfd_configuration_read.multiplier + return + + cls._schema_bfd_configuration_read = _schema_bfd_configuration_read = AAZObjectType() + + bfd_configuration_read = _schema_bfd_configuration_read + bfd_configuration_read.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + bfd_configuration_read.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration_read.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + _schema.administrative_state = cls._schema_bfd_configuration_read.administrative_state + _schema.interval = cls._schema_bfd_configuration_read.interval + _schema.multiplier = cls._schema_bfd_configuration_read.multiplier + + +__all__ = ["List"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_show.py new file mode 100644 index 00000000000..67300f33ba7 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_show.py @@ -0,0 +1,419 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric internalnetwork show", +) +class Show(AAZCommand): + """Show details of the provided Internal Network resource. + + :example: Show the Internal Network + az networkfabric internalnetwork show --resource-group "example-rg" --resource-name "example-internalnetwork" --l3domain "example-l3domain" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/internalnetworks/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the InternalNetwork", + required=True, + id_part="child_name_1", + ) + _args_schema.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.InternalNetworksGet(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 InternalNetworksGet(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/internalNetworks/{internalNetworkName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "internalNetworkName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.bfd_disabled_on_resources = AAZListType( + serialized_name="bfdDisabledOnResources", + flags={"read_only": True}, + ) + properties.bfd_for_static_routes_disabled_on_resources = AAZListType( + serialized_name="bfdForStaticRoutesDisabledOnResources", + flags={"read_only": True}, + ) + properties.bgp_configuration = AAZObjectType( + serialized_name="bgpConfiguration", + ) + properties.bgp_disabled_on_resources = AAZListType( + serialized_name="bgpDisabledOnResources", + flags={"read_only": True}, + ) + properties.connected_i_pv4_subnets = AAZListType( + serialized_name="connectedIPv4Subnets", + ) + properties.connected_i_pv6_subnets = AAZListType( + serialized_name="connectedIPv6Subnets", + ) + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + properties.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + properties.mtu = AAZIntType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.static_route_configuration = AAZObjectType( + serialized_name="staticRouteConfiguration", + ) + properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + bfd_disabled_on_resources = cls._schema_on_200.properties.bfd_disabled_on_resources + bfd_disabled_on_resources.Element = AAZStrType() + + bfd_for_static_routes_disabled_on_resources = cls._schema_on_200.properties.bfd_for_static_routes_disabled_on_resources + bfd_for_static_routes_disabled_on_resources.Element = AAZStrType() + + bgp_configuration = cls._schema_on_200.properties.bgp_configuration + bgp_configuration.allow_as = AAZIntType( + serialized_name="allowAS", + ) + bgp_configuration.allow_as_override = AAZStrType( + serialized_name="allowASOverride", + ) + bgp_configuration.annotation = AAZStrType() + bgp_configuration.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + _ShowHelper._build_schema_bfd_configuration_read(bgp_configuration.bfd_configuration) + bgp_configuration.default_route_originate = AAZStrType( + serialized_name="defaultRouteOriginate", + ) + bgp_configuration.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + bgp_configuration.ipv4_listen_range_prefixes = AAZListType( + serialized_name="ipv4ListenRangePrefixes", + ) + bgp_configuration.ipv4_neighbor_address = AAZListType( + serialized_name="ipv4NeighborAddress", + ) + bgp_configuration.ipv6_listen_range_prefixes = AAZListType( + serialized_name="ipv6ListenRangePrefixes", + ) + bgp_configuration.ipv6_neighbor_address = AAZListType( + serialized_name="ipv6NeighborAddress", + ) + bgp_configuration.peer_asn = AAZIntType( + serialized_name="peerASN", + flags={"required": True}, + ) + + ipv4_listen_range_prefixes = cls._schema_on_200.properties.bgp_configuration.ipv4_listen_range_prefixes + ipv4_listen_range_prefixes.Element = AAZStrType() + + ipv4_neighbor_address = cls._schema_on_200.properties.bgp_configuration.ipv4_neighbor_address + ipv4_neighbor_address.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.bgp_configuration.ipv4_neighbor_address.Element + _element.address = AAZStrType() + _element.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + + ipv6_listen_range_prefixes = cls._schema_on_200.properties.bgp_configuration.ipv6_listen_range_prefixes + ipv6_listen_range_prefixes.Element = AAZStrType() + + ipv6_neighbor_address = cls._schema_on_200.properties.bgp_configuration.ipv6_neighbor_address + ipv6_neighbor_address.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.bgp_configuration.ipv6_neighbor_address.Element + _element.address = AAZStrType() + _element.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + + bgp_disabled_on_resources = cls._schema_on_200.properties.bgp_disabled_on_resources + bgp_disabled_on_resources.Element = AAZStrType() + + connected_i_pv4_subnets = cls._schema_on_200.properties.connected_i_pv4_subnets + connected_i_pv4_subnets.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.connected_i_pv4_subnets.Element + _element.annotation = AAZStrType() + _element.prefix = AAZStrType() + + connected_i_pv6_subnets = cls._schema_on_200.properties.connected_i_pv6_subnets + connected_i_pv6_subnets.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.connected_i_pv6_subnets.Element + _element.annotation = AAZStrType() + _element.prefix = AAZStrType() + + disabled_on_resources = cls._schema_on_200.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + static_route_configuration = cls._schema_on_200.properties.static_route_configuration + static_route_configuration.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + _ShowHelper._build_schema_bfd_configuration_read(static_route_configuration.bfd_configuration) + static_route_configuration.ipv4_routes = AAZListType( + serialized_name="ipv4Routes", + ) + static_route_configuration.ipv6_routes = AAZListType( + serialized_name="ipv6Routes", + ) + + ipv4_routes = cls._schema_on_200.properties.static_route_configuration.ipv4_routes + ipv4_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.static_route_configuration.ipv4_routes.Element + _element.next_hop = AAZListType( + serialized_name="nextHop", + flags={"required": True}, + ) + _element.prefix = AAZStrType( + flags={"required": True}, + ) + + next_hop = cls._schema_on_200.properties.static_route_configuration.ipv4_routes.Element.next_hop + next_hop.Element = AAZStrType() + + ipv6_routes = cls._schema_on_200.properties.static_route_configuration.ipv6_routes + ipv6_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.static_route_configuration.ipv6_routes.Element + _element.next_hop = AAZListType( + serialized_name="nextHop", + flags={"required": True}, + ) + _element.prefix = AAZStrType( + flags={"required": True}, + ) + + next_hop = cls._schema_on_200.properties.static_route_configuration.ipv6_routes.Element.next_hop + next_hop.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""" + + _schema_bfd_configuration_read = None + + @classmethod + def _build_schema_bfd_configuration_read(cls, _schema): + if cls._schema_bfd_configuration_read is not None: + _schema.administrative_state = cls._schema_bfd_configuration_read.administrative_state + _schema.interval = cls._schema_bfd_configuration_read.interval + _schema.multiplier = cls._schema_bfd_configuration_read.multiplier + return + + cls._schema_bfd_configuration_read = _schema_bfd_configuration_read = AAZObjectType() + + bfd_configuration_read = _schema_bfd_configuration_read + bfd_configuration_read.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + bfd_configuration_read.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration_read.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + _schema.administrative_state = cls._schema_bfd_configuration_read.administrative_state + _schema.interval = cls._schema_bfd_configuration_read.interval + _schema.multiplier = cls._schema_bfd_configuration_read.multiplier + + +__all__ = ["Show"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_update_admin_state.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_update_admin_state.py new file mode 100644 index 00000000000..07882eab323 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_update_admin_state.py @@ -0,0 +1,204 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric internalnetwork update-admin-state", +) +class UpdateAdminState(AAZCommand): + """Update the admin state of the provided Internal Network resource. + + :example: Update admin state of Internal Network + az networkfabric internalnetwork update-admin-state --resource-group "example-rg" --l3domain "example-l3domain" --resource-name "example-internalNetwork" --state "Enable" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/internalnetworks/{}/updateadministrativestate", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the InternalNetwork.", + required=True, + id_part="child_name_1", + ) + _args_schema.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.resource_ids = AAZListArg( + options=["--resource-ids"], + arg_group="Body", + help="Network Fabrics or Network Rack resource Id.", + ) + _args_schema.state = AAZStrArg( + options=["--state"], + arg_group="Body", + help="Administrative state.", + enum={"Disable": "Disable", "Enable": "Enable"}, + ) + + resource_ids = cls._args_schema.resource_ids + resource_ids.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.InternalNetworksUpdateAdministrativeState(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class InternalNetworksUpdateAdministrativeState(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/internalNetworks/{internalNetworkName}/updateAdministrativeState", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "internalNetworkName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("resourceIds", AAZListType, ".resource_ids") + _builder.set_prop("state", AAZStrType, ".state") + + resource_ids = _builder.get(".resourceIds") + if resource_ids is not None: + resource_ids.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200(self, session): + pass + + +class _UpdateAdminStateHelper: + """Helper class for UpdateAdminState""" + + +__all__ = ["UpdateAdminState"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_wait.py new file mode 100644 index 00000000000..157a5b63405 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/internalnetwork/_wait.py @@ -0,0 +1,415 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric internalnetwork 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.managednetworkfabric/l3isolationdomains/{}/internalnetworks/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the InternalNetwork", + required=True, + id_part="child_name_1", + ) + _args_schema.l3_isolation_domain_name = AAZStrArg( + options=["--l3domain", "--l3-isolation-domain-name"], + help="Name of the L3IsolationDomain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.InternalNetworksGet(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 InternalNetworksGet(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/internalNetworks/{internalNetworkName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "internalNetworkName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.l3_isolation_domain_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.bfd_disabled_on_resources = AAZListType( + serialized_name="bfdDisabledOnResources", + flags={"read_only": True}, + ) + properties.bfd_for_static_routes_disabled_on_resources = AAZListType( + serialized_name="bfdForStaticRoutesDisabledOnResources", + flags={"read_only": True}, + ) + properties.bgp_configuration = AAZObjectType( + serialized_name="bgpConfiguration", + ) + properties.bgp_disabled_on_resources = AAZListType( + serialized_name="bgpDisabledOnResources", + flags={"read_only": True}, + ) + properties.connected_i_pv4_subnets = AAZListType( + serialized_name="connectedIPv4Subnets", + ) + properties.connected_i_pv6_subnets = AAZListType( + serialized_name="connectedIPv6Subnets", + ) + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + properties.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + properties.mtu = AAZIntType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.static_route_configuration = AAZObjectType( + serialized_name="staticRouteConfiguration", + ) + properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + bfd_disabled_on_resources = cls._schema_on_200.properties.bfd_disabled_on_resources + bfd_disabled_on_resources.Element = AAZStrType() + + bfd_for_static_routes_disabled_on_resources = cls._schema_on_200.properties.bfd_for_static_routes_disabled_on_resources + bfd_for_static_routes_disabled_on_resources.Element = AAZStrType() + + bgp_configuration = cls._schema_on_200.properties.bgp_configuration + bgp_configuration.allow_as = AAZIntType( + serialized_name="allowAS", + ) + bgp_configuration.allow_as_override = AAZStrType( + serialized_name="allowASOverride", + ) + bgp_configuration.annotation = AAZStrType() + bgp_configuration.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + _WaitHelper._build_schema_bfd_configuration_read(bgp_configuration.bfd_configuration) + bgp_configuration.default_route_originate = AAZStrType( + serialized_name="defaultRouteOriginate", + ) + bgp_configuration.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + bgp_configuration.ipv4_listen_range_prefixes = AAZListType( + serialized_name="ipv4ListenRangePrefixes", + ) + bgp_configuration.ipv4_neighbor_address = AAZListType( + serialized_name="ipv4NeighborAddress", + ) + bgp_configuration.ipv6_listen_range_prefixes = AAZListType( + serialized_name="ipv6ListenRangePrefixes", + ) + bgp_configuration.ipv6_neighbor_address = AAZListType( + serialized_name="ipv6NeighborAddress", + ) + bgp_configuration.peer_asn = AAZIntType( + serialized_name="peerASN", + flags={"required": True}, + ) + + ipv4_listen_range_prefixes = cls._schema_on_200.properties.bgp_configuration.ipv4_listen_range_prefixes + ipv4_listen_range_prefixes.Element = AAZStrType() + + ipv4_neighbor_address = cls._schema_on_200.properties.bgp_configuration.ipv4_neighbor_address + ipv4_neighbor_address.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.bgp_configuration.ipv4_neighbor_address.Element + _element.address = AAZStrType() + _element.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + + ipv6_listen_range_prefixes = cls._schema_on_200.properties.bgp_configuration.ipv6_listen_range_prefixes + ipv6_listen_range_prefixes.Element = AAZStrType() + + ipv6_neighbor_address = cls._schema_on_200.properties.bgp_configuration.ipv6_neighbor_address + ipv6_neighbor_address.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.bgp_configuration.ipv6_neighbor_address.Element + _element.address = AAZStrType() + _element.operational_state = AAZStrType( + serialized_name="operationalState", + flags={"read_only": True}, + ) + + bgp_disabled_on_resources = cls._schema_on_200.properties.bgp_disabled_on_resources + bgp_disabled_on_resources.Element = AAZStrType() + + connected_i_pv4_subnets = cls._schema_on_200.properties.connected_i_pv4_subnets + connected_i_pv4_subnets.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.connected_i_pv4_subnets.Element + _element.annotation = AAZStrType() + _element.prefix = AAZStrType() + + connected_i_pv6_subnets = cls._schema_on_200.properties.connected_i_pv6_subnets + connected_i_pv6_subnets.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.connected_i_pv6_subnets.Element + _element.annotation = AAZStrType() + _element.prefix = AAZStrType() + + disabled_on_resources = cls._schema_on_200.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + static_route_configuration = cls._schema_on_200.properties.static_route_configuration + static_route_configuration.bfd_configuration = AAZObjectType( + serialized_name="bfdConfiguration", + ) + _WaitHelper._build_schema_bfd_configuration_read(static_route_configuration.bfd_configuration) + static_route_configuration.ipv4_routes = AAZListType( + serialized_name="ipv4Routes", + ) + static_route_configuration.ipv6_routes = AAZListType( + serialized_name="ipv6Routes", + ) + + ipv4_routes = cls._schema_on_200.properties.static_route_configuration.ipv4_routes + ipv4_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.static_route_configuration.ipv4_routes.Element + _element.next_hop = AAZListType( + serialized_name="nextHop", + flags={"required": True}, + ) + _element.prefix = AAZStrType( + flags={"required": True}, + ) + + next_hop = cls._schema_on_200.properties.static_route_configuration.ipv4_routes.Element.next_hop + next_hop.Element = AAZStrType() + + ipv6_routes = cls._schema_on_200.properties.static_route_configuration.ipv6_routes + ipv6_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.static_route_configuration.ipv6_routes.Element + _element.next_hop = AAZListType( + serialized_name="nextHop", + flags={"required": True}, + ) + _element.prefix = AAZStrType( + flags={"required": True}, + ) + + next_hop = cls._schema_on_200.properties.static_route_configuration.ipv6_routes.Element.next_hop + next_hop.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""" + + _schema_bfd_configuration_read = None + + @classmethod + def _build_schema_bfd_configuration_read(cls, _schema): + if cls._schema_bfd_configuration_read is not None: + _schema.administrative_state = cls._schema_bfd_configuration_read.administrative_state + _schema.interval = cls._schema_bfd_configuration_read.interval + _schema.multiplier = cls._schema_bfd_configuration_read.multiplier + return + + cls._schema_bfd_configuration_read = _schema_bfd_configuration_read = AAZObjectType() + + bfd_configuration_read = _schema_bfd_configuration_read + bfd_configuration_read.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + bfd_configuration_read.interval = AAZIntType( + flags={"read_only": True}, + ) + bfd_configuration_read.multiplier = AAZIntType( + flags={"read_only": True}, + ) + + _schema.administrative_state = cls._schema_bfd_configuration_read.administrative_state + _schema.interval = cls._schema_bfd_configuration_read.interval + _schema.multiplier = cls._schema_bfd_configuration_read.multiplier + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/__cmd_group.py new file mode 100644 index 00000000000..d10e0a7b81b --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/__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( + "networkfabric ipcommunity", +) +class __CMDGroup(AAZCommandGroup): + """Manage Ip Community Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/__init__.py new file mode 100644 index 00000000000..2d1a2078686 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_create.py new file mode 100644 index 00000000000..1df43ed2f82 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_create.py @@ -0,0 +1,338 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric ipcommunity create", +) +class Create(AAZCommand): + """Create a Ip Community resource. + + :example: Create a Ip Community + az networkfabric ipcommunity create --resource-group "example-rg" --location "westus3" --resource-name "example-ipcommunity" --action "Deny" --well-known-communities "LocalAS" "GShut" --community-members "100:200" "101:201" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipcommunities/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Community", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Body", + help="Location of Azure region", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Body", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.action = AAZStrArg( + options=["--action"], + arg_group="Properties", + help="Action to be taken on the configuration. Example: Permit | Deny.", + enum={"Deny": "Deny", "Permit": "Permit"}, + ) + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.community_members = AAZListArg( + options=["--community-members"], + arg_group="Properties", + help="List the communityMembers of IP Community.", + ) + _args_schema.well_known_communities = AAZListArg( + options=["--well-known-communities"], + arg_group="Properties", + help="Supported well known Community List.", + fmt=AAZListArgFormat( + unique=True, + ), + ) + + community_members = cls._args_schema.community_members + community_members.Element = AAZStrArg() + + well_known_communities = cls._args_schema.well_known_communities + well_known_communities.Element = AAZStrArg( + enum={"GShut": "GShut", "Internet": "Internet", "LocalAS": "LocalAS", "NoAdvertise": "NoAdvertise", "NoExport": "NoExport"}, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.IpCommunitiesCreate(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 IpCommunitiesCreate(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.ManagedNetworkFabric/ipCommunities/{ipCommunityName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipCommunityName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("action", AAZStrType, ".action", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("communityMembers", AAZListType, ".community_members", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("wellKnownCommunities", AAZListType, ".well_known_communities") + + community_members = _builder.get(".properties.communityMembers") + if community_members is not None: + community_members.set_elements(AAZStrType, ".") + + well_known_communities = _builder.get(".properties.wellKnownCommunities") + if well_known_communities is not None: + well_known_communities.set_elements(AAZStrType, ".") + + 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.action = AAZStrType( + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.community_members = AAZListType( + serialized_name="communityMembers", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.well_known_communities = AAZListType( + serialized_name="wellKnownCommunities", + ) + + community_members = cls._schema_on_200_201.properties.community_members + community_members.Element = AAZStrType() + + well_known_communities = cls._schema_on_200_201.properties.well_known_communities + well_known_communities.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_delete.py new file mode 100644 index 00000000000..74e5728f64c --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_delete.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric ipcommunity delete", +) +class Delete(AAZCommand): + """Delete the Ip Community resource. + + :example: Delete the Ip Community + az networkfabric ipcommunity delete --resource-group "example-rg" --resource-name "example-ipcommunity" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipcommunities/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Community", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.IpCommunitiesDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class IpCommunitiesDelete(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.ManagedNetworkFabric/ipCommunities/{ipCommunityName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipCommunityName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_list.py new file mode 100644 index 00000000000..fce3604ddd5 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_list.py @@ -0,0 +1,389 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric ipcommunity list", +) +class List(AAZCommand): + """List all Ip Communities in the provided resource group or subscription. + + :example: List the Ip Communities for Resource Group + az networkfabric ipcommunity list --resource-group "example-rg" + + :example: List the Ip Communities for Subscription + az networkfabric ipcommunity list --subscription "" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/ipcommunities", "2023-02-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipcommunities", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + ) + 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.IpCommunitiesListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.IpCommunitiesListBySubscription(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 IpCommunitiesListByResourceGroup(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.ManagedNetworkFabric/ipCommunities", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.action = AAZStrType( + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.community_members = AAZListType( + serialized_name="communityMembers", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.well_known_communities = AAZListType( + serialized_name="wellKnownCommunities", + ) + + community_members = cls._schema_on_200.value.Element.properties.community_members + community_members.Element = AAZStrType() + + well_known_communities = cls._schema_on_200.value.Element.properties.well_known_communities + well_known_communities.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", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class IpCommunitiesListBySubscription(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.ManagedNetworkFabric/ipCommunities", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.action = AAZStrType( + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.community_members = AAZListType( + serialized_name="communityMembers", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.well_known_communities = AAZListType( + serialized_name="wellKnownCommunities", + ) + + community_members = cls._schema_on_200.value.Element.properties.community_members + community_members.Element = AAZStrType() + + well_known_communities = cls._schema_on_200.value.Element.properties.well_known_communities + well_known_communities.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_show.py new file mode 100644 index 00000000000..901fdf39a87 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_show.py @@ -0,0 +1,231 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric ipcommunity show", +) +class Show(AAZCommand): + """Show details of the provided Ip Community resource. + + :example: Show the Ip Community + az networkfabric ipcommunity show --resource-group "example-rg" --resource-name "example-ipcommunity" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipcommunities/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Community", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.IpCommunitiesGet(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 IpCommunitiesGet(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.ManagedNetworkFabric/ipCommunities/{ipCommunityName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipCommunityName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.action = AAZStrType( + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.community_members = AAZListType( + serialized_name="communityMembers", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.well_known_communities = AAZListType( + serialized_name="wellKnownCommunities", + ) + + community_members = cls._schema_on_200.properties.community_members + community_members.Element = AAZStrType() + + well_known_communities = cls._schema_on_200.properties.well_known_communities + well_known_communities.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_wait.py new file mode 100644 index 00000000000..bfd25640ed8 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipcommunity/_wait.py @@ -0,0 +1,227 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric ipcommunity 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.managednetworkfabric/ipcommunities/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Community", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.IpCommunitiesGet(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 IpCommunitiesGet(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.ManagedNetworkFabric/ipCommunities/{ipCommunityName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipCommunityName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.action = AAZStrType( + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.community_members = AAZListType( + serialized_name="communityMembers", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.well_known_communities = AAZListType( + serialized_name="wellKnownCommunities", + ) + + community_members = cls._schema_on_200.properties.community_members + community_members.Element = AAZStrType() + + well_known_communities = cls._schema_on_200.properties.well_known_communities + well_known_communities.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", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/__cmd_group.py new file mode 100644 index 00000000000..ebd5b468807 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/__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( + "networkfabric ipextendedcommunity", +) +class __CMDGroup(AAZCommandGroup): + """Manage Ip Extended Community Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/__init__.py new file mode 100644 index 00000000000..2d1a2078686 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_create.py new file mode 100644 index 00000000000..51d844609d5 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_create.py @@ -0,0 +1,314 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric ipextendedcommunity create", +) +class Create(AAZCommand): + """Create a Ip Extended Community resource. + + :example: Create a Ip Extended Community + az networkfabric ipextendedcommunity create --resource-group "example-rg" --location "westus3" --resource-name "example-ipextendedcommunity" --action "Deny" --route-targets "1024:219" "1001:200" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipextendedcommunities/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Extended Community", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Body", + help="Location of Azure region", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Body", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.action = AAZStrArg( + options=["--action"], + arg_group="Properties", + help="Action to be taken on the configuration. Example: Permit | Deny.", + enum={"Deny": "Deny", "Permit": "Permit"}, + ) + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.route_targets = AAZListArg( + options=["--route-targets"], + arg_group="Properties", + help="Route Target List.The expected formats are ASN(plain):NN >> example 4294967294:50, ASN.ASN:NN >> example 65533.65333:40, IP-address:NN >> example 10.10.10.10:65535. The possible values of ASN,NN are in range of 0-65535, ASN(plain) is in range of 0-4294967295.", + ) + + route_targets = cls._args_schema.route_targets + route_targets.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.IpExtendedCommunitiesCreate(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 IpExtendedCommunitiesCreate(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.ManagedNetworkFabric/ipExtendedCommunities/{ipExtendedCommunityName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipExtendedCommunityName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("action", AAZStrType, ".action", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("routeTargets", AAZListType, ".route_targets", typ_kwargs={"flags": {"required": True}}) + + route_targets = _builder.get(".properties.routeTargets") + if route_targets is not None: + route_targets.set_elements(AAZStrType, ".") + + 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.action = AAZStrType( + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.route_targets = AAZListType( + serialized_name="routeTargets", + flags={"required": True}, + ) + + route_targets = cls._schema_on_200_201.properties.route_targets + route_targets.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_delete.py new file mode 100644 index 00000000000..81de3dfa820 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_delete.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric ipextendedcommunity delete", +) +class Delete(AAZCommand): + """Delete the Ip Extended Community resource. + + :example: Delete the Ip Extended Community + az networkfabric ipextendedcommunity delete --resource-group "example-rg" --resource-name "example-ipextendedcommunity" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipextendedcommunities/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Extended Community", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.IpExtendedCommunitiesDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class IpExtendedCommunitiesDelete(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.ManagedNetworkFabric/ipExtendedCommunities/{ipExtendedCommunityName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipExtendedCommunityName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_list.py new file mode 100644 index 00000000000..bb4a8cab654 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_list.py @@ -0,0 +1,377 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric ipextendedcommunity list", +) +class List(AAZCommand): + """List all Ip Extended Communities in the provided resource group or subscription. + + :example: List the Ip Extended Communities for Resource Group + az networkfabric ipextendedcommunity list --resource-group "example-rg" + + :example: List the Ip Extended Communities for Subscription + az networkfabric ipextendedcommunity list --subscription "" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/ipextendedcommunities", "2023-02-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipextendedcommunities", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + ) + 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.IpExtendedCommunitiesListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.IpExtendedCommunitiesListBySubscription(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 IpExtendedCommunitiesListByResourceGroup(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.ManagedNetworkFabric/ipExtendedCommunities", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.action = AAZStrType( + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.route_targets = AAZListType( + serialized_name="routeTargets", + flags={"required": True}, + ) + + route_targets = cls._schema_on_200.value.Element.properties.route_targets + route_targets.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", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class IpExtendedCommunitiesListBySubscription(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.ManagedNetworkFabric/ipExtendedCommunities", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.action = AAZStrType( + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.route_targets = AAZListType( + serialized_name="routeTargets", + flags={"required": True}, + ) + + route_targets = cls._schema_on_200.value.Element.properties.route_targets + route_targets.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_show.py new file mode 100644 index 00000000000..5d53469804f --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_show.py @@ -0,0 +1,225 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric ipextendedcommunity show", +) +class Show(AAZCommand): + """Show details of the provided Ip Extended Community resource. + + :example: Show the Ip Community + az networkfabric ipextendedcommunity show --resource-group "example-rg" --resource-name "example-ipextendedcommunity" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipextendedcommunities/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Extended Community", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.IpExtendedCommunitiesGet(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 IpExtendedCommunitiesGet(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.ManagedNetworkFabric/ipExtendedCommunities/{ipExtendedCommunityName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipExtendedCommunityName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.action = AAZStrType( + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.route_targets = AAZListType( + serialized_name="routeTargets", + flags={"required": True}, + ) + + route_targets = cls._schema_on_200.properties.route_targets + route_targets.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_wait.py new file mode 100644 index 00000000000..d5a38a24527 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipextendedcommunity/_wait.py @@ -0,0 +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( + "networkfabric ipextendedcommunity 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.managednetworkfabric/ipextendedcommunities/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Extended Community", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.IpExtendedCommunitiesGet(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 IpExtendedCommunitiesGet(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.ManagedNetworkFabric/ipExtendedCommunities/{ipExtendedCommunityName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipExtendedCommunityName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.action = AAZStrType( + flags={"required": True}, + ) + properties.annotation = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.route_targets = AAZListType( + serialized_name="routeTargets", + flags={"required": True}, + ) + + route_targets = cls._schema_on_200.properties.route_targets + route_targets.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", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/__cmd_group.py new file mode 100644 index 00000000000..4b50c432451 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/__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( + "networkfabric ipprefix", +) +class __CMDGroup(AAZCommandGroup): + """Manage Ip Prefix Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/__init__.py new file mode 100644 index 00000000000..2d1a2078686 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_create.py new file mode 100644 index 00000000000..64700557bc5 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_create.py @@ -0,0 +1,368 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric ipprefix create", +) +class Create(AAZCommand): + """Create a Ip Prefix resource. + + :example: Create a Ip Prefix + az networkfabric ipprefix create --resource-group "example-rg" --location "westus3" --resource-name "example-ipprefix" --ip-prefix-rules "[{action:Permit,sequenceNumber:1234,networkPrefix:'1.1.1.0/24',condition:EqualTo,subnetMaskLength:24}]" + + :example: Help text for sub parameters under the specific parent can be viewed by using the shorthand syntax '??'. See https://github.com/Azure/azure-cli/tree/dev/doc/shorthand_syntax.md for more about shorthand syntax. + az networkfabric ipprefix create --ip-prefix-rules ?? + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipprefixes/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Prefix", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Body", + help="Location of Azure region", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Body", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.ip_prefix_rules = AAZListArg( + options=["--ip-prefix-rules"], + arg_group="Properties", + help="IpPrefix contains the list of IP PrefixRules objects.", + required=True, + ) + + ip_prefix_rules = cls._args_schema.ip_prefix_rules + ip_prefix_rules.Element = AAZObjectArg() + + _element = cls._args_schema.ip_prefix_rules.Element + _element.action = AAZStrArg( + options=["action"], + help="Action to be taken on the configuration. Example: Permit | Deny.", + required=True, + enum={"Deny": "Deny", "Permit": "Permit"}, + ) + _element.condition = AAZStrArg( + options=["condition"], + help="Specify prefix-list bounds.", + enum={"EqualTo": "EqualTo", "GreaterThanOrEqualTo": "GreaterThanOrEqualTo", "LesserThanOrEqualTo": "LesserThanOrEqualTo"}, + ) + _element.network_prefix = AAZStrArg( + options=["network-prefix"], + help="Network Prefix specifying IPv4/IPv6 packets to be permitted or denied. Example: 1.1.1.0/24 | 3FFE:FFFF:0:CD30::/126 ", + required=True, + ) + _element.sequence_number = AAZIntArg( + options=["sequence-number"], + help="Sequence to insert to/delete from existing route. Prefix lists are evaluated starting with the lowest sequence number and continue down the list until a match is made. Once a match is made, the permit or deny statement is applied to that network and the rest of the list is ignored. The value should be between 1 to 4294967295.", + required=True, + fmt=AAZIntArgFormat( + maximum=4294967295, + minimum=1, + ), + ) + _element.subnet_mask_length = AAZIntArg( + options=["subnet-mask-length"], + help="SubnetMaskLength gives the minimum NetworkPrefix length to be matched.Possible values for IPv4 are 1 - 32. Possible values of IPv6 are 1 - 128.", + fmt=AAZIntArgFormat( + maximum=128, + minimum=1, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.IpPrefixesCreate(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 IpPrefixesCreate(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.ManagedNetworkFabric/ipPrefixes/{ipPrefixName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipPrefixName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("ipPrefixRules", AAZListType, ".ip_prefix_rules", typ_kwargs={"flags": {"required": True}}) + + ip_prefix_rules = _builder.get(".properties.ipPrefixRules") + if ip_prefix_rules is not None: + ip_prefix_rules.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.ipPrefixRules[]") + if _elements is not None: + _elements.set_prop("action", AAZStrType, ".action", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("condition", AAZStrType, ".condition") + _elements.set_prop("networkPrefix", AAZStrType, ".network_prefix", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("sequenceNumber", AAZIntType, ".sequence_number", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("subnetMaskLength", AAZIntType, ".subnet_mask_length") + + 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={"required": True, "client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.tags = AAZDictType() + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.annotation = AAZStrType() + properties.ip_prefix_rules = AAZListType( + serialized_name="ipPrefixRules", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + ip_prefix_rules = cls._schema_on_200_201.properties.ip_prefix_rules + ip_prefix_rules.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.ip_prefix_rules.Element + _element.action = AAZStrType( + flags={"required": True}, + ) + _element.condition = AAZStrType() + _element.network_prefix = AAZStrType( + serialized_name="networkPrefix", + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + _element.subnet_mask_length = AAZIntType( + serialized_name="subnetMaskLength", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_delete.py new file mode 100644 index 00000000000..ab1276fe386 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_delete.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric ipprefix delete", +) +class Delete(AAZCommand): + """Delete the Ip Prefix resource. + + :example: Delete the Ip Prefix + az networkfabric ipprefix delete --resource-group "example-rg" --resource-name "example-ipprefix" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipprefixes/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Prefix", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.IpPrefixesDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class IpPrefixesDelete(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.ManagedNetworkFabric/ipPrefixes/{ipPrefixName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipPrefixName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_list.py new file mode 100644 index 00000000000..2f8de8f162a --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_list.py @@ -0,0 +1,405 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric ipprefix list", +) +class List(AAZCommand): + """List all Ip Prefixes in the provided resource group or subscription. + + :example: List the Ip Prefixes for Resource Group + az networkfabric ipprefix list --resource-group "example-rg" + + :example: List the Ip Prefixes for Subscription + az networkfabric ipprefix list --subscription "" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/ipprefixes", "2023-02-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipprefixes", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + ) + 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.IpPrefixesListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.IpPrefixesListBySubscription(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 IpPrefixesListByResourceGroup(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.ManagedNetworkFabric/ipPrefixes", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.ip_prefix_rules = AAZListType( + serialized_name="ipPrefixRules", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + ip_prefix_rules = cls._schema_on_200.value.Element.properties.ip_prefix_rules + ip_prefix_rules.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.ip_prefix_rules.Element + _element.action = AAZStrType( + flags={"required": True}, + ) + _element.condition = AAZStrType() + _element.network_prefix = AAZStrType( + serialized_name="networkPrefix", + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + _element.subnet_mask_length = AAZIntType( + serialized_name="subnetMaskLength", + ) + + 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 IpPrefixesListBySubscription(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.ManagedNetworkFabric/ipPrefixes", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.ip_prefix_rules = AAZListType( + serialized_name="ipPrefixRules", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + ip_prefix_rules = cls._schema_on_200.value.Element.properties.ip_prefix_rules + ip_prefix_rules.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.ip_prefix_rules.Element + _element.action = AAZStrType( + flags={"required": True}, + ) + _element.condition = AAZStrType() + _element.network_prefix = AAZStrType( + serialized_name="networkPrefix", + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + _element.subnet_mask_length = AAZIntType( + serialized_name="subnetMaskLength", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_show.py new file mode 100644 index 00000000000..0322df6859d --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_show.py @@ -0,0 +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( + "networkfabric ipprefix show", +) +class Show(AAZCommand): + """Show details of the provided Ip Prefix resource. + + :example: Show the Ip Prefix + az networkfabric ipprefix show --resource-group "example-rg" --resource-name "example-ipprefix" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/ipprefixes/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Prefix", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.IpPrefixesGet(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 IpPrefixesGet(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.ManagedNetworkFabric/ipPrefixes/{ipPrefixName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipPrefixName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.ip_prefix_rules = AAZListType( + serialized_name="ipPrefixRules", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + ip_prefix_rules = cls._schema_on_200.properties.ip_prefix_rules + ip_prefix_rules.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.ip_prefix_rules.Element + _element.action = AAZStrType( + flags={"required": True}, + ) + _element.condition = AAZStrType() + _element.network_prefix = AAZStrType( + serialized_name="networkPrefix", + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + _element.subnet_mask_length = AAZIntType( + serialized_name="subnetMaskLength", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_wait.py new file mode 100644 index 00000000000..9c8f863d142 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/ipprefix/_wait.py @@ -0,0 +1,235 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric ipprefix 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.managednetworkfabric/ipprefixes/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the IP Prefix", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.IpPrefixesGet(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 IpPrefixesGet(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.ManagedNetworkFabric/ipPrefixes/{ipPrefixName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "ipPrefixName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.ip_prefix_rules = AAZListType( + serialized_name="ipPrefixRules", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + ip_prefix_rules = cls._schema_on_200.properties.ip_prefix_rules + ip_prefix_rules.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.ip_prefix_rules.Element + _element.action = AAZStrType( + flags={"required": True}, + ) + _element.condition = AAZStrType() + _element.network_prefix = AAZStrType( + serialized_name="networkPrefix", + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + _element.subnet_mask_length = AAZIntType( + serialized_name="subnetMaskLength", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/__cmd_group.py new file mode 100644 index 00000000000..452a509a456 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/__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( + "networkfabric l2domain", +) +class __CMDGroup(AAZCommandGroup): + """Manage L2 Isolation Domain Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/__init__.py new file mode 100644 index 00000000000..2b037f08f76 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/__init__.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._update_admin_state import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_create.py new file mode 100644 index 00000000000..5b35efabdca --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_create.py @@ -0,0 +1,322 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric l2domain create", +) +class Create(AAZCommand): + """Create a L2 Isolation Domain resource. + + :example: Create a L2 Isolation Domain + az networkfabric l2domain create --resource-group "example-rg" --resource-name "example-l2domain" --location "westus3" --nf-id "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/NetworkFabrics/example-fabricName" --vlan-id 501 --mtu 1500 + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l2isolationdomains/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the L2 Isolation Domain", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Body", + help="Location of Azure region", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Body", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.mtu = AAZIntArg( + options=["--mtu"], + arg_group="Properties", + help="Maximum transmission unit: The value should be between 1500-9000. Default value is 1500", + ) + _args_schema.nf_id = AAZStrArg( + options=["--nf-id"], + arg_group="Properties", + help="Resource ID of the Network Fabric resource", + ) + _args_schema.vlan_id = AAZIntArg( + options=["--vlan-id"], + arg_group="Properties", + help="Vlan identifier value. The value should be between 501-4095. Example: 501.", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.L2IsolationDomainsCreate(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 L2IsolationDomainsCreate(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.ManagedNetworkFabric/l2IsolationDomains/{l2IsolationDomainName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l2IsolationDomainName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("mtu", AAZIntType, ".mtu") + properties.set_prop("networkFabricId", AAZStrType, ".nf_id", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("vlanId", AAZIntType, ".vlan_id", typ_kwargs={"flags": {"required": True}}) + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.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.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.mtu = AAZIntType() + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + disabled_on_resources = cls._schema_on_200_201.properties.disabled_on_resources + disabled_on_resources.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_delete.py new file mode 100644 index 00000000000..14cfe307877 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_delete.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric l2domain delete", +) +class Delete(AAZCommand): + """Delete the L2 Isolation Domain resource. + + :example: Delete the L2 Isolation Domain + az networkfabric l2domain delete --resource-group "example-rg" --resource-name "example-l2domain" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l2isolationdomains/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the L2 Isolation Domain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.L2IsolationDomainsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class L2IsolationDomainsDelete(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.ManagedNetworkFabric/l2IsolationDomains/{l2IsolationDomainName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l2IsolationDomainName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_list.py new file mode 100644 index 00000000000..bcf75a9fee5 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_list.py @@ -0,0 +1,397 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric l2domain list", +) +class List(AAZCommand): + """List all L2 Isolation Domains in the provided resource group or subscription. + + :example: List the L2 Isolation Domains for Resource Group + az networkfabric l2domain list --resource-group "example-rg" + + :example: List the L2 Isolation Domains for Subscription + az networkfabric l2domain list --subscription "" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/l2isolationdomains", "2023-02-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l2isolationdomains", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + ) + 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.L2IsolationDomainsListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.L2IsolationDomainsListBySubscription(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 L2IsolationDomainsListByResourceGroup(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.ManagedNetworkFabric/l2IsolationDomains", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.mtu = AAZIntType() + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + disabled_on_resources = cls._schema_on_200.value.Element.properties.disabled_on_resources + disabled_on_resources.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", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class L2IsolationDomainsListBySubscription(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.ManagedNetworkFabric/l2IsolationDomains", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.mtu = AAZIntType() + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + disabled_on_resources = cls._schema_on_200.value.Element.properties.disabled_on_resources + disabled_on_resources.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_show.py new file mode 100644 index 00000000000..5afae145a3e --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_show.py @@ -0,0 +1,235 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric l2domain show", +) +class Show(AAZCommand): + """Show details of the provided L2 Isolation Domain resource. + + :example: Show the L2 Isolation Domain + az networkfabric l2domain show --resource-group "example-rg" --resource-name "example-l2domain" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l2isolationdomains/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the L2 Isolation Domain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.L2IsolationDomainsGet(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 L2IsolationDomainsGet(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.ManagedNetworkFabric/l2IsolationDomains/{l2IsolationDomainName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l2IsolationDomainName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.mtu = AAZIntType() + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + disabled_on_resources = cls._schema_on_200.properties.disabled_on_resources + disabled_on_resources.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_update_admin_state.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_update_admin_state.py new file mode 100644 index 00000000000..866910fa59f --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_update_admin_state.py @@ -0,0 +1,194 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric l2domain update-admin-state", +) +class UpdateAdminState(AAZCommand): + """Enables isolation domain across the fabric or on specified racks. + + :example: Update admin state of L2 Isolation Domain + az networkfabric l2domain update-admin-state --resource-group "example-rg" --resource-name "example-l2domain" --state "Enable" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l2isolationdomains/{}/updateadministrativestate", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the L2IsolationDomain.", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.resource_ids = AAZListArg( + options=["--resource-ids"], + arg_group="Body", + help="Network Fabrics or Network Rack resource Id.", + ) + _args_schema.state = AAZStrArg( + options=["--state"], + arg_group="Body", + help="Administrative state.", + enum={"Disable": "Disable", "Enable": "Enable"}, + ) + + resource_ids = cls._args_schema.resource_ids + resource_ids.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.L2IsolationDomainsUpdateAdministrativeState(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class L2IsolationDomainsUpdateAdministrativeState(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/{l2IsolationDomainName}/updateAdministrativeState", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l2IsolationDomainName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("resourceIds", AAZListType, ".resource_ids") + _builder.set_prop("state", AAZStrType, ".state") + + resource_ids = _builder.get(".resourceIds") + if resource_ids is not None: + resource_ids.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200(self, session): + pass + + +class _UpdateAdminStateHelper: + """Helper class for UpdateAdminState""" + + +__all__ = ["UpdateAdminState"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_wait.py new file mode 100644 index 00000000000..aee06eed985 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l2domain/_wait.py @@ -0,0 +1,231 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric l2domain 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.managednetworkfabric/l2isolationdomains/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the L2 Isolation Domain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.L2IsolationDomainsGet(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 L2IsolationDomainsGet(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.ManagedNetworkFabric/l2IsolationDomains/{l2IsolationDomainName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l2IsolationDomainName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.annotation = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.mtu = AAZIntType() + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.vlan_id = AAZIntType( + serialized_name="vlanId", + flags={"required": True}, + ) + + disabled_on_resources = cls._schema_on_200.properties.disabled_on_resources + disabled_on_resources.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", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/__cmd_group.py new file mode 100644 index 00000000000..c4a1d581873 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/__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( + "networkfabric l3domain", +) +class __CMDGroup(AAZCommandGroup): + """Manage L3 Isolation Domain Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/__init__.py new file mode 100644 index 00000000000..2b037f08f76 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/__init__.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._update_admin_state import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_create.py new file mode 100644 index 00000000000..192eaf5edef --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_create.py @@ -0,0 +1,448 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric l3domain create", +) +class Create(AAZCommand): + """Create a L3 Isolation Domain resource. + + :example: Create a L3 Isolation Domain + az networkfabric l3domain create --resource-group "example-rg" --resource-name "example-l3domain" --location "westus3" --nf-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-fabricName" --redistribute-connected-subnets "True" --redistribute-static-routes "True" --aggregate-route-configuration "{ipv4Routes:[{prefix:'10.0.0.1/28'},{prefix:'10.0.0.2/28'}],ipv6Routes:[{prefix:'2fff::/64'},{prefix:'2fff::/65'}]}" --connected-subnet-route-policy "{exportRoutePolicyId:'exportRoutePolicyId'}" + + :example: Help text for sub parameters under the specific parent can be viewed by using the shorthand syntax '??'. See https://github.com/Azure/azure-cli/tree/dev/doc/shorthand_syntax.md for more about shorthand syntax. + az networkfabric l3domain create --connected-subnet-route-policy ?? + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the L3 Isolation Domain", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Body", + help="Location of Azure region", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Body", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.aggregate_route_configuration = AAZObjectArg( + options=["--aggregate-route-configuration"], + arg_group="Properties", + help="List of Ipv4 and Ipv6 route configurations.", + ) + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.connected_subnet_route_policy = AAZObjectArg( + options=["--connected-subnet-route-policy"], + arg_group="Properties", + help="Connected Subnet RoutePolicy", + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="L3 Isolation Domain description.", + ) + _args_schema.nf_id = AAZStrArg( + options=["--nf-id"], + arg_group="Properties", + help="Resource ID of the Network Fabric resource", + ) + _args_schema.redistribute_connected_subnets = AAZStrArg( + options=["--redistribute-connected-subnets"], + arg_group="Properties", + help="Advertise Connected Subnets. Default Value is True. Ex: \"True\" | \"False\".", + enum={"False": "False", "True": "True"}, + ) + _args_schema.redistribute_static_routes = AAZStrArg( + options=["--redistribute-static-routes"], + arg_group="Properties", + help="Advertise Static Routes. Default Value is False. Ex: \"True\" | \"False\".", + enum={"False": "False", "True": "True"}, + ) + + aggregate_route_configuration = cls._args_schema.aggregate_route_configuration + aggregate_route_configuration.ipv4_routes = AAZListArg( + options=["ipv4-routes"], + help="List of Ipv4Route prefixes.", + ) + aggregate_route_configuration.ipv6_routes = AAZListArg( + options=["ipv6-routes"], + help="List of Ipv6Routes prefixes.", + ) + + ipv4_routes = cls._args_schema.aggregate_route_configuration.ipv4_routes + ipv4_routes.Element = AAZObjectArg() + + _element = cls._args_schema.aggregate_route_configuration.ipv4_routes.Element + _element.prefix = AAZStrArg( + options=["prefix"], + help="IPv4 Prefix of the aggregate Ipv4Route.", + ) + + ipv6_routes = cls._args_schema.aggregate_route_configuration.ipv6_routes + ipv6_routes.Element = AAZObjectArg() + + _element = cls._args_schema.aggregate_route_configuration.ipv6_routes.Element + _element.prefix = AAZStrArg( + options=["prefix"], + help="IPv6 Prefix of the aggregate IPv6 Route.", + ) + + connected_subnet_route_policy = cls._args_schema.connected_subnet_route_policy + connected_subnet_route_policy.export_route_policy_id = AAZStrArg( + options=["export-route-policy-id"], + help="exportRoutePolicyId value.", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.L3IsolationDomainsCreate(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 L3IsolationDomainsCreate(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("aggregateRouteConfiguration", AAZObjectType, ".aggregate_route_configuration") + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("connectedSubnetRoutePolicy", AAZObjectType, ".connected_subnet_route_policy") + properties.set_prop("description", AAZStrType, ".description") + properties.set_prop("networkFabricId", AAZStrType, ".nf_id", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("redistributeConnectedSubnets", AAZStrType, ".redistribute_connected_subnets") + properties.set_prop("redistributeStaticRoutes", AAZStrType, ".redistribute_static_routes") + + aggregate_route_configuration = _builder.get(".properties.aggregateRouteConfiguration") + if aggregate_route_configuration is not None: + aggregate_route_configuration.set_prop("ipv4Routes", AAZListType, ".ipv4_routes") + aggregate_route_configuration.set_prop("ipv6Routes", AAZListType, ".ipv6_routes") + + ipv4_routes = _builder.get(".properties.aggregateRouteConfiguration.ipv4Routes") + if ipv4_routes is not None: + ipv4_routes.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.aggregateRouteConfiguration.ipv4Routes[]") + if _elements is not None: + _elements.set_prop("prefix", AAZStrType, ".prefix") + + ipv6_routes = _builder.get(".properties.aggregateRouteConfiguration.ipv6Routes") + if ipv6_routes is not None: + ipv6_routes.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.aggregateRouteConfiguration.ipv6Routes[]") + if _elements is not None: + _elements.set_prop("prefix", AAZStrType, ".prefix") + + connected_subnet_route_policy = _builder.get(".properties.connectedSubnetRoutePolicy") + if connected_subnet_route_policy is not None: + connected_subnet_route_policy.set_prop("exportRoutePolicyId", AAZStrType, ".export_route_policy_id") + + 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.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.aggregate_route_configuration = AAZObjectType( + serialized_name="aggregateRouteConfiguration", + ) + properties.annotation = AAZStrType() + properties.connected_subnet_route_policy = AAZObjectType( + serialized_name="connectedSubnetRoutePolicy", + ) + properties.description = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.option_b_disabled_on_resources = AAZListType( + serialized_name="optionBDisabledOnResources", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.redistribute_connected_subnets = AAZStrType( + serialized_name="redistributeConnectedSubnets", + ) + properties.redistribute_static_routes = AAZStrType( + serialized_name="redistributeStaticRoutes", + ) + + aggregate_route_configuration = cls._schema_on_200_201.properties.aggregate_route_configuration + aggregate_route_configuration.ipv4_routes = AAZListType( + serialized_name="ipv4Routes", + ) + aggregate_route_configuration.ipv6_routes = AAZListType( + serialized_name="ipv6Routes", + ) + + ipv4_routes = cls._schema_on_200_201.properties.aggregate_route_configuration.ipv4_routes + ipv4_routes.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.aggregate_route_configuration.ipv4_routes.Element + _element.prefix = AAZStrType() + + ipv6_routes = cls._schema_on_200_201.properties.aggregate_route_configuration.ipv6_routes + ipv6_routes.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.aggregate_route_configuration.ipv6_routes.Element + _element.prefix = AAZStrType() + + connected_subnet_route_policy = cls._schema_on_200_201.properties.connected_subnet_route_policy + connected_subnet_route_policy.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + connected_subnet_route_policy.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + + disabled_on_resources = cls._schema_on_200_201.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + option_b_disabled_on_resources = cls._schema_on_200_201.properties.option_b_disabled_on_resources + option_b_disabled_on_resources.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_delete.py new file mode 100644 index 00000000000..09c9a2132bd --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_delete.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric l3domain delete", +) +class Delete(AAZCommand): + """Delete the L3 Isolation Domain resource. + + :example: Delete the L3 Isolation Domain + az networkfabric l3domain delete --resource-group "example-rg" --resource-name "example-l3domain" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the L3 Isolation Domain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.L3IsolationDomainsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class L3IsolationDomainsDelete(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_list.py new file mode 100644 index 00000000000..d7ce742dea1 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_list.py @@ -0,0 +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( + "networkfabric l3domain list", +) +class List(AAZCommand): + """List all L3 Isolation Domains in the provided resource group or subscription. + + :example: List the L3 Isolation Domains for Resource Group + az networkfabric l3domain list --resource-group "example-rg" + + :example: List the L3 Isolation Domains for Subscription + az networkfabric l3domain list --subscription "" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/l3isolationdomains", "2023-02-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + ) + 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.L3IsolationDomainsListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.L3IsolationDomainsListBySubscription(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 L3IsolationDomainsListByResourceGroup(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.ManagedNetworkFabric/l3IsolationDomains", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.aggregate_route_configuration = AAZObjectType( + serialized_name="aggregateRouteConfiguration", + ) + properties.annotation = AAZStrType() + properties.connected_subnet_route_policy = AAZObjectType( + serialized_name="connectedSubnetRoutePolicy", + ) + properties.description = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.option_b_disabled_on_resources = AAZListType( + serialized_name="optionBDisabledOnResources", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.redistribute_connected_subnets = AAZStrType( + serialized_name="redistributeConnectedSubnets", + ) + properties.redistribute_static_routes = AAZStrType( + serialized_name="redistributeStaticRoutes", + ) + + aggregate_route_configuration = cls._schema_on_200.value.Element.properties.aggregate_route_configuration + aggregate_route_configuration.ipv4_routes = AAZListType( + serialized_name="ipv4Routes", + ) + aggregate_route_configuration.ipv6_routes = AAZListType( + serialized_name="ipv6Routes", + ) + + ipv4_routes = cls._schema_on_200.value.Element.properties.aggregate_route_configuration.ipv4_routes + ipv4_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.aggregate_route_configuration.ipv4_routes.Element + _element.prefix = AAZStrType() + + ipv6_routes = cls._schema_on_200.value.Element.properties.aggregate_route_configuration.ipv6_routes + ipv6_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.aggregate_route_configuration.ipv6_routes.Element + _element.prefix = AAZStrType() + + connected_subnet_route_policy = cls._schema_on_200.value.Element.properties.connected_subnet_route_policy + connected_subnet_route_policy.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + connected_subnet_route_policy.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + + disabled_on_resources = cls._schema_on_200.value.Element.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + option_b_disabled_on_resources = cls._schema_on_200.value.Element.properties.option_b_disabled_on_resources + option_b_disabled_on_resources.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", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class L3IsolationDomainsListBySubscription(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.ManagedNetworkFabric/l3IsolationDomains", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.aggregate_route_configuration = AAZObjectType( + serialized_name="aggregateRouteConfiguration", + ) + properties.annotation = AAZStrType() + properties.connected_subnet_route_policy = AAZObjectType( + serialized_name="connectedSubnetRoutePolicy", + ) + properties.description = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.option_b_disabled_on_resources = AAZListType( + serialized_name="optionBDisabledOnResources", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.redistribute_connected_subnets = AAZStrType( + serialized_name="redistributeConnectedSubnets", + ) + properties.redistribute_static_routes = AAZStrType( + serialized_name="redistributeStaticRoutes", + ) + + aggregate_route_configuration = cls._schema_on_200.value.Element.properties.aggregate_route_configuration + aggregate_route_configuration.ipv4_routes = AAZListType( + serialized_name="ipv4Routes", + ) + aggregate_route_configuration.ipv6_routes = AAZListType( + serialized_name="ipv6Routes", + ) + + ipv4_routes = cls._schema_on_200.value.Element.properties.aggregate_route_configuration.ipv4_routes + ipv4_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.aggregate_route_configuration.ipv4_routes.Element + _element.prefix = AAZStrType() + + ipv6_routes = cls._schema_on_200.value.Element.properties.aggregate_route_configuration.ipv6_routes + ipv6_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.aggregate_route_configuration.ipv6_routes.Element + _element.prefix = AAZStrType() + + connected_subnet_route_policy = cls._schema_on_200.value.Element.properties.connected_subnet_route_policy + connected_subnet_route_policy.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + connected_subnet_route_policy.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + + disabled_on_resources = cls._schema_on_200.value.Element.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + option_b_disabled_on_resources = cls._schema_on_200.value.Element.properties.option_b_disabled_on_resources + option_b_disabled_on_resources.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_show.py new file mode 100644 index 00000000000..27f45f36bd0 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_show.py @@ -0,0 +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( + "networkfabric l3domain show", +) +class Show(AAZCommand): + """Show details of the provided L3 Isolation Domain resource. + + :example: Show the L3 Isolation Domain + az networkfabric l3domain show --resource-group "example-rg" --resource-name "example-l3domain" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the L3 Isolation Domain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.L3IsolationDomainsGet(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 L3IsolationDomainsGet(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.aggregate_route_configuration = AAZObjectType( + serialized_name="aggregateRouteConfiguration", + ) + properties.annotation = AAZStrType() + properties.connected_subnet_route_policy = AAZObjectType( + serialized_name="connectedSubnetRoutePolicy", + ) + properties.description = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.option_b_disabled_on_resources = AAZListType( + serialized_name="optionBDisabledOnResources", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.redistribute_connected_subnets = AAZStrType( + serialized_name="redistributeConnectedSubnets", + ) + properties.redistribute_static_routes = AAZStrType( + serialized_name="redistributeStaticRoutes", + ) + + aggregate_route_configuration = cls._schema_on_200.properties.aggregate_route_configuration + aggregate_route_configuration.ipv4_routes = AAZListType( + serialized_name="ipv4Routes", + ) + aggregate_route_configuration.ipv6_routes = AAZListType( + serialized_name="ipv6Routes", + ) + + ipv4_routes = cls._schema_on_200.properties.aggregate_route_configuration.ipv4_routes + ipv4_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.aggregate_route_configuration.ipv4_routes.Element + _element.prefix = AAZStrType() + + ipv6_routes = cls._schema_on_200.properties.aggregate_route_configuration.ipv6_routes + ipv6_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.aggregate_route_configuration.ipv6_routes.Element + _element.prefix = AAZStrType() + + connected_subnet_route_policy = cls._schema_on_200.properties.connected_subnet_route_policy + connected_subnet_route_policy.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + connected_subnet_route_policy.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + + disabled_on_resources = cls._schema_on_200.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + option_b_disabled_on_resources = cls._schema_on_200.properties.option_b_disabled_on_resources + option_b_disabled_on_resources.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_update_admin_state.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_update_admin_state.py new file mode 100644 index 00000000000..4fc68b749cf --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_update_admin_state.py @@ -0,0 +1,194 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric l3domain update-admin-state", +) +class UpdateAdminState(AAZCommand): + """Enables racks for this Isolation Domain. + + :example: Update admin state of L3 Isolation Domain + az networkfabric l3domain update-admin-state --resource-group "example-rg" --resource-name "example-l3domain" --state "Enable" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/l3isolationdomains/{}/updateadministrativestate", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the L3IsolationDomain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.resource_ids = AAZListArg( + options=["--resource-ids"], + arg_group="Body", + help="Network Fabrics or Network Rack resource Id.", + ) + _args_schema.state = AAZStrArg( + options=["--state"], + arg_group="Body", + help="Administrative state.", + enum={"Disable": "Disable", "Enable": "Enable"}, + ) + + resource_ids = cls._args_schema.resource_ids + resource_ids.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.L3IsolationDomainsUpdateAdministrativeState(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class L3IsolationDomainsUpdateAdministrativeState(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}/updateAdministrativeState", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("resourceIds", AAZListType, ".resource_ids") + _builder.set_prop("state", AAZStrType, ".state") + + resource_ids = _builder.get(".resourceIds") + if resource_ids is not None: + resource_ids.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200(self, session): + pass + + +class _UpdateAdminStateHelper: + """Helper class for UpdateAdminState""" + + +__all__ = ["UpdateAdminState"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_wait.py new file mode 100644 index 00000000000..0c83413c50f --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/l3domain/_wait.py @@ -0,0 +1,275 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric l3domain 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.managednetworkfabric/l3isolationdomains/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the L3 Isolation Domain", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.L3IsolationDomainsGet(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 L3IsolationDomainsGet(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.ManagedNetworkFabric/l3IsolationDomains/{l3IsolationDomainName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "l3IsolationDomainName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.aggregate_route_configuration = AAZObjectType( + serialized_name="aggregateRouteConfiguration", + ) + properties.annotation = AAZStrType() + properties.connected_subnet_route_policy = AAZObjectType( + serialized_name="connectedSubnetRoutePolicy", + ) + properties.description = AAZStrType() + properties.disabled_on_resources = AAZListType( + serialized_name="disabledOnResources", + flags={"read_only": True}, + ) + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.option_b_disabled_on_resources = AAZListType( + serialized_name="optionBDisabledOnResources", + flags={"read_only": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.redistribute_connected_subnets = AAZStrType( + serialized_name="redistributeConnectedSubnets", + ) + properties.redistribute_static_routes = AAZStrType( + serialized_name="redistributeStaticRoutes", + ) + + aggregate_route_configuration = cls._schema_on_200.properties.aggregate_route_configuration + aggregate_route_configuration.ipv4_routes = AAZListType( + serialized_name="ipv4Routes", + ) + aggregate_route_configuration.ipv6_routes = AAZListType( + serialized_name="ipv6Routes", + ) + + ipv4_routes = cls._schema_on_200.properties.aggregate_route_configuration.ipv4_routes + ipv4_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.aggregate_route_configuration.ipv4_routes.Element + _element.prefix = AAZStrType() + + ipv6_routes = cls._schema_on_200.properties.aggregate_route_configuration.ipv6_routes + ipv6_routes.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.aggregate_route_configuration.ipv6_routes.Element + _element.prefix = AAZStrType() + + connected_subnet_route_policy = cls._schema_on_200.properties.connected_subnet_route_policy + connected_subnet_route_policy.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + connected_subnet_route_policy.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + + disabled_on_resources = cls._schema_on_200.properties.disabled_on_resources + disabled_on_resources.Element = AAZStrType() + + option_b_disabled_on_resources = cls._schema_on_200.properties.option_b_disabled_on_resources + option_b_disabled_on_resources.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", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/__cmd_group.py new file mode 100644 index 00000000000..ce55747d19d --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/__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( + "networkfabric nni", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network To Network Interconnect Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/__init__.py new file mode 100644 index 00000000000..2d1a2078686 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_create.py new file mode 100644 index 00000000000..f3aa85b3d02 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_create.py @@ -0,0 +1,427 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric nni create", +) +class Create(AAZCommand): + """Create a Network To Network Interconnect resource. + + :example: Create a Network To Network Interconnect + az networkfabric nni create --resource-group "example-rg" --fabric "example-fabric" --resource-name "example-nni" --nni-type "CE" --is-management-type "True" --use-option-b "True" --layer2-configuration "{portCount:3,mtu:1500}" --layer3-configuration "{importRoutePolicyId:'importRoutePolicyId',exportRoutePolicyId:'exportRoutePolicyId',peerASN:28,vlanId:501,primaryIpv4Prefix:'172.31.0.0/31',secondaryIpv4Prefix:'172.31.0.20/31'}" + + :example: Help text for sub parameters under the specific parent can be viewed by using the shorthand syntax '??'. See https://github.com/Azure/azure-cli/tree/dev/doc/shorthand_syntax.md for more about shorthand syntax. + az networkfabric nni create --layer2-configuration ?? + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}/networktonetworkinterconnects/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.fabric_name = AAZStrArg( + options=["--fabric", "--fabric-name"], + help="Name of the Network Fabric.", + required=True, + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the NetworkToNetworkInterconnect Name", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.is_management_type = AAZStrArg( + options=["--is-management-type"], + arg_group="Properties", + help="Configuration to use NNI for Infrastructure Management. Example: True/False.", + enum={"False": "False", "True": "True"}, + ) + _args_schema.layer2_configuration = AAZObjectArg( + options=["--layer2-configuration"], + arg_group="Properties", + help="Common properties for Layer2Configuration.", + ) + _args_schema.layer3_configuration = AAZObjectArg( + options=["--layer3-configuration"], + arg_group="Properties", + help="Common properties for Layer3Configuration.", + ) + _args_schema.nni_type = AAZStrArg( + options=["--nni-type"], + arg_group="Properties", + help="Type of NNI used. Example: CE | NPB", + enum={"CE": "CE", "NPB": "NPB"}, + ) + _args_schema.use_option_b = AAZStrArg( + options=["--use-option-b"], + arg_group="Properties", + help="Parameter to configure option B for NNI. If set to True, Layer3 configuration is mandatory.", + enum={"False": "False", "True": "True"}, + ) + + layer2_configuration = cls._args_schema.layer2_configuration + layer2_configuration.mtu = AAZIntArg( + options=["mtu"], + help="MTU of the packets between PE & CE. The value is between 1500 to 9000. Default value is 1500", + required=True, + fmt=AAZIntArgFormat( + maximum=9000, + minimum=1500, + ), + ) + layer2_configuration.port_count = AAZIntArg( + options=["port-count"], + help="Number of ports connected between PE/CE. Maximum value depends on FabricSKU.", + ) + + layer3_configuration = cls._args_schema.layer3_configuration + layer3_configuration.export_route_policy_id = AAZStrArg( + options=["export-route-policy-id"], + help="exportRoutePolicyId", + ) + layer3_configuration.import_route_policy_id = AAZStrArg( + options=["import-route-policy-id"], + help="importRoutePolicyId", + ) + layer3_configuration.peer_asn = AAZIntArg( + options=["peer-asn"], + help="ASN of PE devices for CE/PE connectivity. The value should be between 1 to 65535. Example : 28", + fmt=AAZIntArgFormat( + maximum=65535, + minimum=1, + ), + ) + layer3_configuration.primary_ipv4_prefix = AAZStrArg( + options=["primary-ipv4-prefix"], + help="IPv4 Address Prefix of CE-PE interconnect links. Default value is 172.31.0.0/31.", + ) + layer3_configuration.primary_ipv6_prefix = AAZStrArg( + options=["primary-ipv6-prefix"], + help="IPv6 Address Prefix of CE-PE interconnect links. Default value is 3FFE:FFFF:0:CD30::a0/126.", + ) + layer3_configuration.secondary_ipv4_prefix = AAZStrArg( + options=["secondary-ipv4-prefix"], + help="Secondary IPv4 Address Prefix of CE-PE interconnect links. Default value is 172.31.0.20/31.", + ) + layer3_configuration.secondary_ipv6_prefix = AAZStrArg( + options=["secondary-ipv6-prefix"], + help="Secondary IPv6 Address Prefix of CE-PE interconnect links. Default value is 3FFE:FFFF:0:CD30::a4/126.", + ) + layer3_configuration.vlan_id = AAZIntArg( + options=["vlan-id"], + help="VLAN for CE/PE Layer 3 connectivity. The value should be between 501 to 4095. Example : 501", + fmt=AAZIntArgFormat( + maximum=4095, + minimum=501, + ), + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkToNetworkInterconnectsCreate(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 NetworkToNetworkInterconnectsCreate(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.ManagedNetworkFabric/networkFabrics/{networkFabricName}/networkToNetworkInterconnects/{networkToNetworkInterconnectName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricName", self.ctx.args.fabric_name, + required=True, + ), + **self.serialize_url_param( + "networkToNetworkInterconnectName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, typ_kwargs={"flags": {"client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("isManagementType", AAZStrType, ".is_management_type", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("layer2Configuration", AAZObjectType, ".layer2_configuration") + properties.set_prop("layer3Configuration", AAZObjectType, ".layer3_configuration") + properties.set_prop("nniType", AAZStrType, ".nni_type") + properties.set_prop("useOptionB", AAZStrType, ".use_option_b", typ_kwargs={"flags": {"required": True}}) + + layer2_configuration = _builder.get(".properties.layer2Configuration") + if layer2_configuration is not None: + layer2_configuration.set_prop("mtu", AAZIntType, ".mtu", typ_kwargs={"flags": {"required": True}}) + layer2_configuration.set_prop("portCount", AAZIntType, ".port_count") + + layer3_configuration = _builder.get(".properties.layer3Configuration") + if layer3_configuration is not None: + layer3_configuration.set_prop("exportRoutePolicyId", AAZStrType, ".export_route_policy_id") + layer3_configuration.set_prop("importRoutePolicyId", AAZStrType, ".import_route_policy_id") + layer3_configuration.set_prop("peerASN", AAZIntType, ".peer_asn") + layer3_configuration.set_prop("primaryIpv4Prefix", AAZStrType, ".primary_ipv4_prefix") + layer3_configuration.set_prop("primaryIpv6Prefix", AAZStrType, ".primary_ipv6_prefix") + layer3_configuration.set_prop("secondaryIpv4Prefix", AAZStrType, ".secondary_ipv4_prefix") + layer3_configuration.set_prop("secondaryIpv6Prefix", AAZStrType, ".secondary_ipv6_prefix") + layer3_configuration.set_prop("vlanId", AAZIntType, ".vlan_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.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.is_management_type = AAZStrType( + serialized_name="isManagementType", + flags={"required": True}, + ) + properties.layer2_configuration = AAZObjectType( + serialized_name="layer2Configuration", + ) + properties.layer3_configuration = AAZObjectType( + serialized_name="layer3Configuration", + ) + properties.nni_type = AAZStrType( + serialized_name="nniType", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.use_option_b = AAZStrType( + serialized_name="useOptionB", + flags={"required": True}, + ) + + layer2_configuration = cls._schema_on_200_201.properties.layer2_configuration + layer2_configuration.interfaces = AAZListType( + flags={"read_only": True}, + ) + layer2_configuration.mtu = AAZIntType( + flags={"required": True}, + ) + layer2_configuration.port_count = AAZIntType( + serialized_name="portCount", + ) + + interfaces = cls._schema_on_200_201.properties.layer2_configuration.interfaces + interfaces.Element = AAZStrType() + + layer3_configuration = cls._schema_on_200_201.properties.layer3_configuration + layer3_configuration.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + layer3_configuration.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + layer3_configuration.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + layer3_configuration.peer_asn = AAZIntType( + serialized_name="peerASN", + ) + layer3_configuration.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + layer3_configuration.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + layer3_configuration.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + layer3_configuration.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + layer3_configuration.vlan_id = AAZIntType( + serialized_name="vlanId", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_delete.py new file mode 100644 index 00000000000..ea498b66a27 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_delete.py @@ -0,0 +1,173 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric nni delete", +) +class Delete(AAZCommand): + """Delete the Network To Network Interconnect resource. + + :example: Delete the Network To Network Interconnect + az networkfabric nni delete --resource-group "example-rg" --fabric "example-fabric" --resource-name "example-nni" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}/networktonetworkinterconnects/{}", "2023-02-01-preview"], + ] + } + + 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.fabric_name = AAZStrArg( + options=["--fabric", "--fabric-name"], + help="Name of the Network Fabric.", + required=True, + id_part="name", + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the NetworkToNetworkInterconnect Name", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkToNetworkInterconnectsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkToNetworkInterconnectsDelete(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.ManagedNetworkFabric/networkFabrics/{networkFabricName}/networkToNetworkInterconnects/{networkToNetworkInterconnectName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricName", self.ctx.args.fabric_name, + required=True, + ), + **self.serialize_url_param( + "networkToNetworkInterconnectName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_list.py new file mode 100644 index 00000000000..8a319213e8b --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_list.py @@ -0,0 +1,280 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric nni list", +) +class List(AAZCommand): + """List all Network To Network Interconnects in the provided resource group. + + :example: List the Network To Network Interconnects for Resource Group + az networkfabric nni list --resource-group "example-rg" --fabric "example-fabric" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}/networktonetworkinterconnects", "2023-02-01-preview"], + ] + } + + 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.fabric_name = AAZStrArg( + options=["--fabric", "--fabric-name"], + help="Name of the Network Fabric.", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkToNetworkInterconnectsList(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 NetworkToNetworkInterconnectsList(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.ManagedNetworkFabric/networkFabrics/{networkFabricName}/networkToNetworkInterconnects", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricName", self.ctx.args.fabric_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.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.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.is_management_type = AAZStrType( + serialized_name="isManagementType", + flags={"required": True}, + ) + properties.layer2_configuration = AAZObjectType( + serialized_name="layer2Configuration", + ) + properties.layer3_configuration = AAZObjectType( + serialized_name="layer3Configuration", + ) + properties.nni_type = AAZStrType( + serialized_name="nniType", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.use_option_b = AAZStrType( + serialized_name="useOptionB", + flags={"required": True}, + ) + + layer2_configuration = cls._schema_on_200.value.Element.properties.layer2_configuration + layer2_configuration.interfaces = AAZListType( + flags={"read_only": True}, + ) + layer2_configuration.mtu = AAZIntType( + flags={"required": True}, + ) + layer2_configuration.port_count = AAZIntType( + serialized_name="portCount", + ) + + interfaces = cls._schema_on_200.value.Element.properties.layer2_configuration.interfaces + interfaces.Element = AAZStrType() + + layer3_configuration = cls._schema_on_200.value.Element.properties.layer3_configuration + layer3_configuration.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + layer3_configuration.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + layer3_configuration.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + layer3_configuration.peer_asn = AAZIntType( + serialized_name="peerASN", + ) + layer3_configuration.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + layer3_configuration.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + layer3_configuration.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + layer3_configuration.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + layer3_configuration.vlan_id = AAZIntType( + serialized_name="vlanId", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_show.py new file mode 100644 index 00000000000..3076d5c9977 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_show.py @@ -0,0 +1,282 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric nni show", +) +class Show(AAZCommand): + """Show details of the provided Network To Network Interconnect resource. + + :example: Show the Network To Network Interconnect + az networkfabric nni show --resource-group "example-rg" --fabric "example-fabric" --resource-name "example-nni" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkfabrics/{}/networktonetworkinterconnects/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.fabric_name = AAZStrArg( + options=["--fabric", "--fabric-name"], + help="Name of the Network Fabric.", + required=True, + id_part="name", + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the NetworkToNetworkInterconnect Name", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkToNetworkInterconnectsGet(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 NetworkToNetworkInterconnectsGet(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.ManagedNetworkFabric/networkFabrics/{networkFabricName}/networkToNetworkInterconnects/{networkToNetworkInterconnectName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricName", self.ctx.args.fabric_name, + required=True, + ), + **self.serialize_url_param( + "networkToNetworkInterconnectName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.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.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.is_management_type = AAZStrType( + serialized_name="isManagementType", + flags={"required": True}, + ) + properties.layer2_configuration = AAZObjectType( + serialized_name="layer2Configuration", + ) + properties.layer3_configuration = AAZObjectType( + serialized_name="layer3Configuration", + ) + properties.nni_type = AAZStrType( + serialized_name="nniType", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.use_option_b = AAZStrType( + serialized_name="useOptionB", + flags={"required": True}, + ) + + layer2_configuration = cls._schema_on_200.properties.layer2_configuration + layer2_configuration.interfaces = AAZListType( + flags={"read_only": True}, + ) + layer2_configuration.mtu = AAZIntType( + flags={"required": True}, + ) + layer2_configuration.port_count = AAZIntType( + serialized_name="portCount", + ) + + interfaces = cls._schema_on_200.properties.layer2_configuration.interfaces + interfaces.Element = AAZStrType() + + layer3_configuration = cls._schema_on_200.properties.layer3_configuration + layer3_configuration.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + layer3_configuration.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + layer3_configuration.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + layer3_configuration.peer_asn = AAZIntType( + serialized_name="peerASN", + ) + layer3_configuration.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + layer3_configuration.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + layer3_configuration.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + layer3_configuration.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + layer3_configuration.vlan_id = AAZIntType( + serialized_name="vlanId", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_wait.py new file mode 100644 index 00000000000..89ce2491a29 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/nni/_wait.py @@ -0,0 +1,278 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric nni 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.managednetworkfabric/networkfabrics/{}/networktonetworkinterconnects/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.fabric_name = AAZStrArg( + options=["--fabric", "--fabric-name"], + help="Name of the Network Fabric.", + required=True, + id_part="name", + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the NetworkToNetworkInterconnect Name", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkToNetworkInterconnectsGet(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 NetworkToNetworkInterconnectsGet(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.ManagedNetworkFabric/networkFabrics/{networkFabricName}/networkToNetworkInterconnects/{networkToNetworkInterconnectName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkFabricName", self.ctx.args.fabric_name, + required=True, + ), + **self.serialize_url_param( + "networkToNetworkInterconnectName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.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.administrative_state = AAZStrType( + serialized_name="administrativeState", + flags={"read_only": True}, + ) + properties.is_management_type = AAZStrType( + serialized_name="isManagementType", + flags={"required": True}, + ) + properties.layer2_configuration = AAZObjectType( + serialized_name="layer2Configuration", + ) + properties.layer3_configuration = AAZObjectType( + serialized_name="layer3Configuration", + ) + properties.nni_type = AAZStrType( + serialized_name="nniType", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.use_option_b = AAZStrType( + serialized_name="useOptionB", + flags={"required": True}, + ) + + layer2_configuration = cls._schema_on_200.properties.layer2_configuration + layer2_configuration.interfaces = AAZListType( + flags={"read_only": True}, + ) + layer2_configuration.mtu = AAZIntType( + flags={"required": True}, + ) + layer2_configuration.port_count = AAZIntType( + serialized_name="portCount", + ) + + interfaces = cls._schema_on_200.properties.layer2_configuration.interfaces + interfaces.Element = AAZStrType() + + layer3_configuration = cls._schema_on_200.properties.layer3_configuration + layer3_configuration.export_route_policy_id = AAZStrType( + serialized_name="exportRoutePolicyId", + ) + layer3_configuration.fabric_asn = AAZIntType( + serialized_name="fabricASN", + flags={"read_only": True}, + ) + layer3_configuration.import_route_policy_id = AAZStrType( + serialized_name="importRoutePolicyId", + ) + layer3_configuration.peer_asn = AAZIntType( + serialized_name="peerASN", + ) + layer3_configuration.primary_ipv4_prefix = AAZStrType( + serialized_name="primaryIpv4Prefix", + ) + layer3_configuration.primary_ipv6_prefix = AAZStrType( + serialized_name="primaryIpv6Prefix", + ) + layer3_configuration.secondary_ipv4_prefix = AAZStrType( + serialized_name="secondaryIpv4Prefix", + ) + layer3_configuration.secondary_ipv6_prefix = AAZStrType( + serialized_name="secondaryIpv6Prefix", + ) + layer3_configuration.vlan_id = AAZIntType( + serialized_name="vlanId", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/__cmd_group.py new file mode 100644 index 00000000000..75bd0f5062a --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/__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( + "networkfabric rack", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Rack Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/__init__.py new file mode 100644 index 00000000000..2d1a2078686 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_create.py new file mode 100644 index 00000000000..d07c101d592 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_create.py @@ -0,0 +1,313 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric rack create", +) +class Create(AAZCommand): + """Create a Network Rack resource. + + :example: Create a Network Rack + az networkfabric rack create --resource-group "example-rg" --location "westus3" --network-rack-sku "rackskuname" --nf-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/NetworkFabrics/example-fabricName" --resource-name "example-rack" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkracks/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Rack", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Body", + help="Location of Azure region", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Body", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.nf_id = AAZStrArg( + options=["--nf-id"], + arg_group="Properties", + help="Resource ID of the Network Fabric resource", + required=True, + ) + _args_schema.network_rack_sku = AAZStrArg( + options=["--network-rack-sku"], + arg_group="Properties", + help="Network Rack SKU name.", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkRacksCreate(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 NetworkRacksCreate(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.ManagedNetworkFabric/networkRacks/{networkRackName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkRackName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("networkFabricId", AAZStrType, ".nf_id", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("networkRackSku", AAZStrType, ".network_rack_sku", typ_kwargs={"flags": {"required": True}}) + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200_201.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.tags = AAZDictType() + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.annotation = AAZStrType() + properties.network_devices = AAZListType( + serialized_name="networkDevices", + flags={"read_only": True}, + ) + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.network_rack_sku = AAZStrType( + serialized_name="networkRackSku", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + network_devices = cls._schema_on_200_201.properties.network_devices + network_devices.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_delete.py new file mode 100644 index 00000000000..28a790e46ee --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_delete.py @@ -0,0 +1,151 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric rack delete", +) +class Delete(AAZCommand): + """Delete the Network Rack resource. + + :example: Delete the Network Rack + az networkfabric rack delete --resource-group "example-rg" --resource-name "example-rack" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkracks/{}", "2023-02-01-preview"], + ] + } + + 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.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Rack", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.NetworkRacksDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class NetworkRacksDelete(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, + None, + 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.ManagedNetworkFabric/networkRacks/{networkRackName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkRackName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_list.py new file mode 100644 index 00000000000..f977c814f7e --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_list.py @@ -0,0 +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( + "networkfabric rack list", +) +class List(AAZCommand): + """List all Network Racks in the provided resource group or subscription. + + :example: List the Network Racks for Resource Group. + az networkfabric rack list --resource-group "example-rg" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/networkracks", "2023-02-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkracks", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + ) + 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.NetworkRacksListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.NetworkRacksListBySubscription(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 NetworkRacksListByResourceGroup(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.ManagedNetworkFabric/networkRacks", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.network_devices = AAZListType( + serialized_name="networkDevices", + flags={"read_only": True}, + ) + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.network_rack_sku = AAZStrType( + serialized_name="networkRackSku", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + network_devices = cls._schema_on_200.value.Element.properties.network_devices + network_devices.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", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class NetworkRacksListBySubscription(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.ManagedNetworkFabric/networkRacks", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.network_devices = AAZListType( + serialized_name="networkDevices", + flags={"read_only": True}, + ) + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.network_rack_sku = AAZStrType( + serialized_name="networkRackSku", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + network_devices = cls._schema_on_200.value.Element.properties.network_devices + network_devices.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_show.py new file mode 100644 index 00000000000..b7c5fcfec3a --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_show.py @@ -0,0 +1,230 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric rack show", +) +class Show(AAZCommand): + """Show details of the provided Network Rack resource. + + :example: Show the Network Rack + az networkfabric rack show --resource-group "example-rg" --resource-name "example-rack" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/networkracks/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Rack", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkRacksGet(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 NetworkRacksGet(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.ManagedNetworkFabric/networkRacks/{networkRackName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkRackName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.network_devices = AAZListType( + serialized_name="networkDevices", + flags={"read_only": True}, + ) + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.network_rack_sku = AAZStrType( + serialized_name="networkRackSku", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + network_devices = cls._schema_on_200.properties.network_devices + network_devices.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_wait.py new file mode 100644 index 00000000000..f3ce857ece1 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/rack/_wait.py @@ -0,0 +1,226 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric rack 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.managednetworkfabric/networkracks/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Rack", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkRacksGet(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 NetworkRacksGet(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.ManagedNetworkFabric/networkRacks/{networkRackName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkRackName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.network_devices = AAZListType( + serialized_name="networkDevices", + flags={"read_only": True}, + ) + properties.network_fabric_id = AAZStrType( + serialized_name="networkFabricId", + flags={"required": True}, + ) + properties.network_rack_sku = AAZStrType( + serialized_name="networkRackSku", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + + network_devices = cls._schema_on_200.properties.network_devices + network_devices.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", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/__cmd_group.py new file mode 100644 index 00000000000..7742a381ff4 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/__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( + "networkfabric racksku", +) +class __CMDGroup(AAZCommandGroup): + """Manage Network Rack SKU Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/__init__.py new file mode 100644 index 00000000000..2df85698253 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/__init__.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._list import * +from ._show import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/_list.py new file mode 100644 index 00000000000..3c217cd6e68 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/_list.py @@ -0,0 +1,226 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric racksku list", +) +class List(AAZCommand): + """List all Network Rack SKUs in the provided subscription. + + :example: List the RackSKU for Subscription + az networkfabric racksku list --subscription + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/networkrackskus", "2023-02-01-preview"], + ] + } + + 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 "" + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkRackSkusListBySubscription(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 NetworkRackSkusListBySubscription(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.ManagedNetworkFabric/networkRackSkus", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.maximum_server_count = AAZIntType( + serialized_name="maximumServerCount", + ) + properties.maximum_storage_count = AAZIntType( + serialized_name="maximumStorageCount", + ) + properties.maximum_uplinks = AAZIntType( + serialized_name="maximumUplinks", + ) + properties.network_devices = AAZListType( + serialized_name="networkDevices", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.role_name = AAZStrType( + serialized_name="roleName", + flags={"required": True}, + ) + + network_devices = cls._schema_on_200.value.Element.properties.network_devices + network_devices.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.network_devices.Element + _element.network_device_sku_name = AAZStrType( + serialized_name="networkDeviceSkuName", + ) + _element.rack_slot = AAZIntType( + serialized_name="rackSlot", + ) + _element.role_type = AAZStrType( + serialized_name="roleType", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/_show.py new file mode 100644 index 00000000000..d4d73ac4600 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/racksku/_show.py @@ -0,0 +1,226 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric racksku show", +) +class Show(AAZCommand): + """Show details of the provided Network Rack SKU resource. + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/networkrackskus/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Network Rack Sku", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.NetworkRackSkusGet(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 NetworkRackSkusGet(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.ManagedNetworkFabric/networkRackSkus/{networkRackSkuName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "networkRackSkuName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.maximum_server_count = AAZIntType( + serialized_name="maximumServerCount", + ) + properties.maximum_storage_count = AAZIntType( + serialized_name="maximumStorageCount", + ) + properties.maximum_uplinks = AAZIntType( + serialized_name="maximumUplinks", + ) + properties.network_devices = AAZListType( + serialized_name="networkDevices", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.role_name = AAZStrType( + serialized_name="roleName", + flags={"required": True}, + ) + + network_devices = cls._schema_on_200.properties.network_devices + network_devices.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.network_devices.Element + _element.network_device_sku_name = AAZStrType( + serialized_name="networkDeviceSkuName", + ) + _element.rack_slot = AAZIntType( + serialized_name="rackSlot", + ) + _element.role_type = AAZStrType( + serialized_name="roleType", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/__cmd_group.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/__cmd_group.py new file mode 100644 index 00000000000..dc0610de264 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/__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( + "networkfabric routepolicy", +) +class __CMDGroup(AAZCommandGroup): + """Manage Route Policy Resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/__init__.py new file mode 100644 index 00000000000..2d1a2078686 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_create.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_create.py new file mode 100644 index 00000000000..10b20d4250b --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_create.py @@ -0,0 +1,654 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric routepolicy create", +) +class Create(AAZCommand): + """Create a Route Policy resource. + + :example: Create a Route Policy Example 1 + az networkfabric routepolicy create --resource-group "example-rg" --resource-name "example-routepolicy" --location "westus3" --statements "[{sequenceNumber:1234,condition:{ipCommunityIds:['/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/ipCommunities/example-ipCommunityName'],ipPrefixId:'/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/example-ipPrefixName'},action:{localPreference:123,actionType:Permit,ipCommunityProperties:{add:{ipCommunityIds:['/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/ipCommunities/example-ipCommunityName']}}}}]" + + :example: Create a Route Policy Example 2 + az networkfabric routepolicy create --resource-group "example-rg" --resource-name "example-routepolicy" --location "westus3" --statements "[{sequenceNumber:1235,condition:{ipExtendedCommunityIds:['/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/example-ipExtendedCommunityName']},action:{localPreference:1235,actionType:Deny,ipExtendedCommunityProperties:{set:{ipExtendedCommunityIds:['/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/example-ipExtendedCommunityName']}}}}]" + + :example: Help text for sub parameters under the specific parent can be viewed by using the shorthand syntax '??'. See https://github.com/Azure/azure-cli/tree/dev/doc/shorthand_syntax.md for more about shorthand syntax. + az networkfabric routepolicy create --statements ?? + az networkfabric routepolicy create --statements "[{action:??" + az networkfabric routepolicy create --statements "[{action:{ip-community-properties:??" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/routepolicies/{}", "2023-02-01-preview"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Route Policy", + required=True, + ) + + # define Arg Group "Body" + + _args_schema = cls._args_schema + _args_schema.location = AAZResourceLocationArg( + arg_group="Body", + help="Location of Azure region", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Body", + help="Resource tags.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.annotation = AAZStrArg( + options=["--annotation"], + arg_group="Properties", + help="Switch configuration description.", + ) + _args_schema.statements = AAZListArg( + options=["--statements"], + arg_group="Properties", + help="Route Policy statements.", + required=True, + ) + + statements = cls._args_schema.statements + statements.Element = AAZObjectArg() + + _element = cls._args_schema.statements.Element + _element.action = AAZObjectArg( + options=["action"], + help="Route policy action properties.", + required=True, + ) + _element.annotation = AAZStrArg( + options=["annotation"], + help="Switch configuration description.", + ) + _element.condition = AAZObjectArg( + options=["condition"], + help="Route policy condition properties.", + required=True, + ) + _element.sequence_number = AAZIntArg( + options=["sequence-number"], + help="Sequence to insert to/delete from existing route. The value should be between 1 to 4294967295.", + required=True, + fmt=AAZIntArgFormat( + maximum=4294967295, + minimum=1, + ), + ) + + action = cls._args_schema.statements.Element.action + action.action_type = AAZStrArg( + options=["action-type"], + help="action. Example: Permit | Deny.", + required=True, + enum={"Deny": "Deny", "Permit": "Permit"}, + ) + action.ip_community_properties = AAZObjectArg( + options=["ip-community-properties"], + help="ipCommunity Properties.", + ) + action.ip_extended_community_properties = AAZObjectArg( + options=["ip-extended-community-properties"], + help="IP Extended Community Properties.", + ) + action.local_preference = AAZIntArg( + options=["local-preference"], + help="localPreference of the route policy. The value should be between 0 to 4294967295", + fmt=AAZIntArgFormat( + maximum=4294967295, + minimum=0, + ), + ) + + ip_community_properties = cls._args_schema.statements.Element.action.ip_community_properties + ip_community_properties.add = AAZObjectArg( + options=["add"], + help="Route policy add manipulations.", + ) + ip_community_properties.delete = AAZObjectArg( + options=["delete"], + help="Route policy delete manipulations.", + ) + ip_community_properties.set = AAZObjectArg( + options=["set"], + help="Route policy set manipulations.", + ) + + add = cls._args_schema.statements.Element.action.ip_community_properties.add + add.ip_community_ids = AAZListArg( + options=["ip-community-ids"], + help="List of IPCommunity resource IDs.", + ) + + ip_community_ids = cls._args_schema.statements.Element.action.ip_community_properties.add.ip_community_ids + ip_community_ids.Element = AAZStrArg() + + delete = cls._args_schema.statements.Element.action.ip_community_properties.delete + delete.ip_community_ids = AAZListArg( + options=["ip-community-ids"], + help="List of IPCommunity resource IDs.", + ) + + ip_community_ids = cls._args_schema.statements.Element.action.ip_community_properties.delete.ip_community_ids + ip_community_ids.Element = AAZStrArg() + + set = cls._args_schema.statements.Element.action.ip_community_properties.set + set.ip_community_ids = AAZListArg( + options=["ip-community-ids"], + help="List of IPCommunity resource IDs.", + ) + + ip_community_ids = cls._args_schema.statements.Element.action.ip_community_properties.set.ip_community_ids + ip_community_ids.Element = AAZStrArg() + + ip_extended_community_properties = cls._args_schema.statements.Element.action.ip_extended_community_properties + ip_extended_community_properties.add = AAZObjectArg( + options=["add"], + help="Route policy add manipulations.", + ) + ip_extended_community_properties.delete = AAZObjectArg( + options=["delete"], + help="Route policy delete manipulations.", + ) + ip_extended_community_properties.set = AAZObjectArg( + options=["set"], + help="Route policy set manipulations.", + ) + + add = cls._args_schema.statements.Element.action.ip_extended_community_properties.add + add.ip_extended_community_ids = AAZListArg( + options=["ip-extended-community-ids"], + help="List of IPExtendedCommunity resource IDs.", + ) + + ip_extended_community_ids = cls._args_schema.statements.Element.action.ip_extended_community_properties.add.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrArg() + + delete = cls._args_schema.statements.Element.action.ip_extended_community_properties.delete + delete.ip_extended_community_ids = AAZListArg( + options=["ip-extended-community-ids"], + help="List of IPExtendedCommunity resource IDs.", + ) + + ip_extended_community_ids = cls._args_schema.statements.Element.action.ip_extended_community_properties.delete.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrArg() + + set = cls._args_schema.statements.Element.action.ip_extended_community_properties.set + set.ip_extended_community_ids = AAZListArg( + options=["ip-extended-community-ids"], + help="List of IPExtendedCommunity resource IDs.", + ) + + ip_extended_community_ids = cls._args_schema.statements.Element.action.ip_extended_community_properties.set.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrArg() + + condition = cls._args_schema.statements.Element.condition + condition.ip_community_ids = AAZListArg( + options=["ip-community-ids"], + help="List of IPCommunity ARM resource IDs", + ) + condition.ip_extended_community_ids = AAZListArg( + options=["ip-extended-community-ids"], + help="List of IPExtendedCommunity ARM resource IDs", + ) + condition.ip_prefix_id = AAZStrArg( + options=["ip-prefix-id"], + help="ARM Resource Id of IpPrefix", + ) + + ip_community_ids = cls._args_schema.statements.Element.condition.ip_community_ids + ip_community_ids.Element = AAZStrArg() + + ip_extended_community_ids = cls._args_schema.statements.Element.condition.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.RoutePoliciesCreate(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 RoutePoliciesCreate(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.ManagedNetworkFabric/routePolicies/{routePolicyName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "routePolicyName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("annotation", AAZStrType, ".annotation") + properties.set_prop("statements", AAZListType, ".statements", typ_kwargs={"flags": {"required": True}}) + + statements = _builder.get(".properties.statements") + if statements is not None: + statements.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.statements[]") + if _elements is not None: + _elements.set_prop("action", AAZObjectType, ".action", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("annotation", AAZStrType, ".annotation") + _elements.set_prop("condition", AAZObjectType, ".condition", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("sequenceNumber", AAZIntType, ".sequence_number", typ_kwargs={"flags": {"required": True}}) + + action = _builder.get(".properties.statements[].action") + if action is not None: + action.set_prop("actionType", AAZStrType, ".action_type", typ_kwargs={"flags": {"required": True}}) + action.set_prop("ipCommunityProperties", AAZObjectType, ".ip_community_properties") + action.set_prop("ipExtendedCommunityProperties", AAZObjectType, ".ip_extended_community_properties") + action.set_prop("localPreference", AAZIntType, ".local_preference") + + ip_community_properties = _builder.get(".properties.statements[].action.ipCommunityProperties") + if ip_community_properties is not None: + ip_community_properties.set_prop("add", AAZObjectType, ".add") + ip_community_properties.set_prop("delete", AAZObjectType, ".delete") + ip_community_properties.set_prop("set", AAZObjectType, ".set") + + add = _builder.get(".properties.statements[].action.ipCommunityProperties.add") + if add is not None: + add.set_prop("ipCommunityIds", AAZListType, ".ip_community_ids") + + ip_community_ids = _builder.get(".properties.statements[].action.ipCommunityProperties.add.ipCommunityIds") + if ip_community_ids is not None: + ip_community_ids.set_elements(AAZStrType, ".") + + delete = _builder.get(".properties.statements[].action.ipCommunityProperties.delete") + if delete is not None: + delete.set_prop("ipCommunityIds", AAZListType, ".ip_community_ids") + + ip_community_ids = _builder.get(".properties.statements[].action.ipCommunityProperties.delete.ipCommunityIds") + if ip_community_ids is not None: + ip_community_ids.set_elements(AAZStrType, ".") + + set = _builder.get(".properties.statements[].action.ipCommunityProperties.set") + if set is not None: + set.set_prop("ipCommunityIds", AAZListType, ".ip_community_ids") + + ip_community_ids = _builder.get(".properties.statements[].action.ipCommunityProperties.set.ipCommunityIds") + if ip_community_ids is not None: + ip_community_ids.set_elements(AAZStrType, ".") + + ip_extended_community_properties = _builder.get(".properties.statements[].action.ipExtendedCommunityProperties") + if ip_extended_community_properties is not None: + ip_extended_community_properties.set_prop("add", AAZObjectType, ".add") + ip_extended_community_properties.set_prop("delete", AAZObjectType, ".delete") + ip_extended_community_properties.set_prop("set", AAZObjectType, ".set") + + add = _builder.get(".properties.statements[].action.ipExtendedCommunityProperties.add") + if add is not None: + add.set_prop("ipExtendedCommunityIds", AAZListType, ".ip_extended_community_ids") + + ip_extended_community_ids = _builder.get(".properties.statements[].action.ipExtendedCommunityProperties.add.ipExtendedCommunityIds") + if ip_extended_community_ids is not None: + ip_extended_community_ids.set_elements(AAZStrType, ".") + + delete = _builder.get(".properties.statements[].action.ipExtendedCommunityProperties.delete") + if delete is not None: + delete.set_prop("ipExtendedCommunityIds", AAZListType, ".ip_extended_community_ids") + + ip_extended_community_ids = _builder.get(".properties.statements[].action.ipExtendedCommunityProperties.delete.ipExtendedCommunityIds") + if ip_extended_community_ids is not None: + ip_extended_community_ids.set_elements(AAZStrType, ".") + + set = _builder.get(".properties.statements[].action.ipExtendedCommunityProperties.set") + if set is not None: + set.set_prop("ipExtendedCommunityIds", AAZListType, ".ip_extended_community_ids") + + ip_extended_community_ids = _builder.get(".properties.statements[].action.ipExtendedCommunityProperties.set.ipExtendedCommunityIds") + if ip_extended_community_ids is not None: + ip_extended_community_ids.set_elements(AAZStrType, ".") + + condition = _builder.get(".properties.statements[].condition") + if condition is not None: + condition.set_prop("ipCommunityIds", AAZListType, ".ip_community_ids") + condition.set_prop("ipExtendedCommunityIds", AAZListType, ".ip_extended_community_ids") + condition.set_prop("ipPrefixId", AAZStrType, ".ip_prefix_id") + + ip_community_ids = _builder.get(".properties.statements[].condition.ipCommunityIds") + if ip_community_ids is not None: + ip_community_ids.set_elements(AAZStrType, ".") + + ip_extended_community_ids = _builder.get(".properties.statements[].condition.ipExtendedCommunityIds") + if ip_extended_community_ids is not None: + ip_extended_community_ids.set_elements(AAZStrType, ".") + + 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={"required": True, "client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.tags = AAZDictType() + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.annotation = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.statements = AAZListType( + flags={"required": True}, + ) + + statements = cls._schema_on_200_201.properties.statements + statements.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.statements.Element + _element.action = AAZObjectType( + flags={"required": True}, + ) + _element.annotation = AAZStrType() + _element.condition = AAZObjectType( + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + + action = cls._schema_on_200_201.properties.statements.Element.action + action.action_type = AAZStrType( + serialized_name="actionType", + flags={"required": True}, + ) + action.ip_community_properties = AAZObjectType( + serialized_name="ipCommunityProperties", + ) + action.ip_extended_community_properties = AAZObjectType( + serialized_name="ipExtendedCommunityProperties", + ) + action.local_preference = AAZIntType( + serialized_name="localPreference", + ) + + ip_community_properties = cls._schema_on_200_201.properties.statements.Element.action.ip_community_properties + ip_community_properties.add = AAZObjectType() + ip_community_properties.delete = AAZObjectType() + ip_community_properties.set = AAZObjectType() + + add = cls._schema_on_200_201.properties.statements.Element.action.ip_community_properties.add + add.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200_201.properties.statements.Element.action.ip_community_properties.add.ip_community_ids + ip_community_ids.Element = AAZStrType() + + delete = cls._schema_on_200_201.properties.statements.Element.action.ip_community_properties.delete + delete.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200_201.properties.statements.Element.action.ip_community_properties.delete.ip_community_ids + ip_community_ids.Element = AAZStrType() + + set = cls._schema_on_200_201.properties.statements.Element.action.ip_community_properties.set + set.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200_201.properties.statements.Element.action.ip_community_properties.set.ip_community_ids + ip_community_ids.Element = AAZStrType() + + ip_extended_community_properties = cls._schema_on_200_201.properties.statements.Element.action.ip_extended_community_properties + ip_extended_community_properties.add = AAZObjectType() + ip_extended_community_properties.delete = AAZObjectType() + ip_extended_community_properties.set = AAZObjectType() + + add = cls._schema_on_200_201.properties.statements.Element.action.ip_extended_community_properties.add + add.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200_201.properties.statements.Element.action.ip_extended_community_properties.add.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + delete = cls._schema_on_200_201.properties.statements.Element.action.ip_extended_community_properties.delete + delete.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200_201.properties.statements.Element.action.ip_extended_community_properties.delete.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + set = cls._schema_on_200_201.properties.statements.Element.action.ip_extended_community_properties.set + set.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200_201.properties.statements.Element.action.ip_extended_community_properties.set.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + condition = cls._schema_on_200_201.properties.statements.Element.condition + condition.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + condition.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + condition.ip_prefix_id = AAZStrType( + serialized_name="ipPrefixId", + ) + + ip_community_ids = cls._schema_on_200_201.properties.statements.Element.condition.ip_community_ids + ip_community_ids.Element = AAZStrType() + + ip_extended_community_ids = cls._schema_on_200_201.properties.statements.Element.condition.ip_extended_community_ids + ip_extended_community_ids.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_delete.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_delete.py new file mode 100644 index 00000000000..1b74e936ddb --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_delete.py @@ -0,0 +1,163 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric routepolicy delete", +) +class Delete(AAZCommand): + """Delete the Route Policy resource. + + :example: Delete the Route Policy + az networkfabric routepolicy delete --resource-group "example-rg" --resource-name "example-routepolicy" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/routepolicies/{}", "2023-02-01-preview"], + ] + } + + 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.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Route Policy", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.RoutePoliciesDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class RoutePoliciesDelete(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.ManagedNetworkFabric/routePolicies/{routePolicyName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "routePolicyName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_list.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_list.py new file mode 100644 index 00000000000..6c5d54f59ab --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_list.py @@ -0,0 +1,575 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric routepolicy list", +) +class List(AAZCommand): + """List all Route Policies in the provided resource group or subscription. + + :example: List the Route Policies for Resource Group + az networkfabric routepolicy list --resource-group "example-rg" + + :example: List the Route Policies for Subscription + az networkfabric routepolicy list --subscription "" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/microsoft.managednetworkfabric/routepolicies", "2023-02-01-preview"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/routepolicies", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + ) + 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.RoutePoliciesListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.RoutePoliciesListBySubscription(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 RoutePoliciesListByResourceGroup(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.ManagedNetworkFabric/routePolicies", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.statements = AAZListType( + flags={"required": True}, + ) + + statements = cls._schema_on_200.value.Element.properties.statements + statements.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.statements.Element + _element.action = AAZObjectType( + flags={"required": True}, + ) + _element.annotation = AAZStrType() + _element.condition = AAZObjectType( + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + + action = cls._schema_on_200.value.Element.properties.statements.Element.action + action.action_type = AAZStrType( + serialized_name="actionType", + flags={"required": True}, + ) + action.ip_community_properties = AAZObjectType( + serialized_name="ipCommunityProperties", + ) + action.ip_extended_community_properties = AAZObjectType( + serialized_name="ipExtendedCommunityProperties", + ) + action.local_preference = AAZIntType( + serialized_name="localPreference", + ) + + ip_community_properties = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties + ip_community_properties.add = AAZObjectType() + ip_community_properties.delete = AAZObjectType() + ip_community_properties.set = AAZObjectType() + + add = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.add + add.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.add.ip_community_ids + ip_community_ids.Element = AAZStrType() + + delete = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.delete + delete.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.delete.ip_community_ids + ip_community_ids.Element = AAZStrType() + + set = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.set + set.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.set.ip_community_ids + ip_community_ids.Element = AAZStrType() + + ip_extended_community_properties = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties + ip_extended_community_properties.add = AAZObjectType() + ip_extended_community_properties.delete = AAZObjectType() + ip_extended_community_properties.set = AAZObjectType() + + add = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.add + add.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.add.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + delete = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.delete + delete.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.delete.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + set = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.set + set.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.set.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + condition = cls._schema_on_200.value.Element.properties.statements.Element.condition + condition.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + condition.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + condition.ip_prefix_id = AAZStrType( + serialized_name="ipPrefixId", + ) + + ip_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.condition.ip_community_ids + ip_community_ids.Element = AAZStrType() + + ip_extended_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.condition.ip_extended_community_ids + ip_extended_community_ids.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", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class RoutePoliciesListBySubscription(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.ManagedNetworkFabric/routePolicies", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType() + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.annotation = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.statements = AAZListType( + flags={"required": True}, + ) + + statements = cls._schema_on_200.value.Element.properties.statements + statements.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.statements.Element + _element.action = AAZObjectType( + flags={"required": True}, + ) + _element.annotation = AAZStrType() + _element.condition = AAZObjectType( + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + + action = cls._schema_on_200.value.Element.properties.statements.Element.action + action.action_type = AAZStrType( + serialized_name="actionType", + flags={"required": True}, + ) + action.ip_community_properties = AAZObjectType( + serialized_name="ipCommunityProperties", + ) + action.ip_extended_community_properties = AAZObjectType( + serialized_name="ipExtendedCommunityProperties", + ) + action.local_preference = AAZIntType( + serialized_name="localPreference", + ) + + ip_community_properties = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties + ip_community_properties.add = AAZObjectType() + ip_community_properties.delete = AAZObjectType() + ip_community_properties.set = AAZObjectType() + + add = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.add + add.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.add.ip_community_ids + ip_community_ids.Element = AAZStrType() + + delete = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.delete + delete.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.delete.ip_community_ids + ip_community_ids.Element = AAZStrType() + + set = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.set + set.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_community_properties.set.ip_community_ids + ip_community_ids.Element = AAZStrType() + + ip_extended_community_properties = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties + ip_extended_community_properties.add = AAZObjectType() + ip_extended_community_properties.delete = AAZObjectType() + ip_extended_community_properties.set = AAZObjectType() + + add = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.add + add.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.add.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + delete = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.delete + delete.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.delete.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + set = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.set + set.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.action.ip_extended_community_properties.set.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + condition = cls._schema_on_200.value.Element.properties.statements.Element.condition + condition.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + condition.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + condition.ip_prefix_id = AAZStrType( + serialized_name="ipPrefixId", + ) + + ip_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.condition.ip_community_ids + ip_community_ids.Element = AAZStrType() + + ip_extended_community_ids = cls._schema_on_200.value.Element.properties.statements.Element.condition.ip_extended_community_ids + ip_extended_community_ids.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_show.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_show.py new file mode 100644 index 00000000000..bfc393d4dc7 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_show.py @@ -0,0 +1,324 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "networkfabric routepolicy show", +) +class Show(AAZCommand): + """Show details of the provided Route Policy resource. + + :example: Show the Route Policy + az networkfabric routepolicy show --resource-group "example-rg" --resource-name "example-routepolicy" + """ + + _aaz_info = { + "version": "2023-02-01-preview", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.managednetworkfabric/routepolicies/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Route Policy", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.RoutePoliciesGet(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 RoutePoliciesGet(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.ManagedNetworkFabric/routePolicies/{routePolicyName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "routePolicyName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.statements = AAZListType( + flags={"required": True}, + ) + + statements = cls._schema_on_200.properties.statements + statements.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.statements.Element + _element.action = AAZObjectType( + flags={"required": True}, + ) + _element.annotation = AAZStrType() + _element.condition = AAZObjectType( + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + + action = cls._schema_on_200.properties.statements.Element.action + action.action_type = AAZStrType( + serialized_name="actionType", + flags={"required": True}, + ) + action.ip_community_properties = AAZObjectType( + serialized_name="ipCommunityProperties", + ) + action.ip_extended_community_properties = AAZObjectType( + serialized_name="ipExtendedCommunityProperties", + ) + action.local_preference = AAZIntType( + serialized_name="localPreference", + ) + + ip_community_properties = cls._schema_on_200.properties.statements.Element.action.ip_community_properties + ip_community_properties.add = AAZObjectType() + ip_community_properties.delete = AAZObjectType() + ip_community_properties.set = AAZObjectType() + + add = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.add + add.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.add.ip_community_ids + ip_community_ids.Element = AAZStrType() + + delete = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.delete + delete.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.delete.ip_community_ids + ip_community_ids.Element = AAZStrType() + + set = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.set + set.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.set.ip_community_ids + ip_community_ids.Element = AAZStrType() + + ip_extended_community_properties = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties + ip_extended_community_properties.add = AAZObjectType() + ip_extended_community_properties.delete = AAZObjectType() + ip_extended_community_properties.set = AAZObjectType() + + add = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.add + add.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.add.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + delete = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.delete + delete.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.delete.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + set = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.set + set.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.set.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + condition = cls._schema_on_200.properties.statements.Element.condition + condition.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + condition.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + condition.ip_prefix_id = AAZStrType( + serialized_name="ipPrefixId", + ) + + ip_community_ids = cls._schema_on_200.properties.statements.Element.condition.ip_community_ids + ip_community_ids.Element = AAZStrType() + + ip_extended_community_ids = cls._schema_on_200.properties.statements.Element.condition.ip_extended_community_ids + ip_extended_community_ids.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", + ) + + 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/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_wait.py b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_wait.py new file mode 100644 index 00000000000..359f1f5e7a7 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/aaz/latest/networkfabric/routepolicy/_wait.py @@ -0,0 +1,320 @@ +# -------------------------------------------------------------------------------------------- +# 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( + "networkfabric routepolicy 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.managednetworkfabric/routepolicies/{}", "2023-02-01-preview"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg( + help="Name of the resource group", + required=True, + ) + _args_schema.resource_name = AAZStrArg( + options=["--resource-name"], + help="Name of the Route Policy", + required=True, + id_part="name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.RoutePoliciesGet(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 RoutePoliciesGet(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.ManagedNetworkFabric/routePolicies/{routePolicyName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "routePolicyName", self.ctx.args.resource_name, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2023-02-01-preview", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.annotation = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + flags={"read_only": True}, + ) + properties.statements = AAZListType( + flags={"required": True}, + ) + + statements = cls._schema_on_200.properties.statements + statements.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.statements.Element + _element.action = AAZObjectType( + flags={"required": True}, + ) + _element.annotation = AAZStrType() + _element.condition = AAZObjectType( + flags={"required": True}, + ) + _element.sequence_number = AAZIntType( + serialized_name="sequenceNumber", + flags={"required": True}, + ) + + action = cls._schema_on_200.properties.statements.Element.action + action.action_type = AAZStrType( + serialized_name="actionType", + flags={"required": True}, + ) + action.ip_community_properties = AAZObjectType( + serialized_name="ipCommunityProperties", + ) + action.ip_extended_community_properties = AAZObjectType( + serialized_name="ipExtendedCommunityProperties", + ) + action.local_preference = AAZIntType( + serialized_name="localPreference", + ) + + ip_community_properties = cls._schema_on_200.properties.statements.Element.action.ip_community_properties + ip_community_properties.add = AAZObjectType() + ip_community_properties.delete = AAZObjectType() + ip_community_properties.set = AAZObjectType() + + add = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.add + add.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.add.ip_community_ids + ip_community_ids.Element = AAZStrType() + + delete = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.delete + delete.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.delete.ip_community_ids + ip_community_ids.Element = AAZStrType() + + set = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.set + set.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + + ip_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_community_properties.set.ip_community_ids + ip_community_ids.Element = AAZStrType() + + ip_extended_community_properties = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties + ip_extended_community_properties.add = AAZObjectType() + ip_extended_community_properties.delete = AAZObjectType() + ip_extended_community_properties.set = AAZObjectType() + + add = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.add + add.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.add.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + delete = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.delete + delete.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.delete.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + set = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.set + set.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + + ip_extended_community_ids = cls._schema_on_200.properties.statements.Element.action.ip_extended_community_properties.set.ip_extended_community_ids + ip_extended_community_ids.Element = AAZStrType() + + condition = cls._schema_on_200.properties.statements.Element.condition + condition.ip_community_ids = AAZListType( + serialized_name="ipCommunityIds", + ) + condition.ip_extended_community_ids = AAZListType( + serialized_name="ipExtendedCommunityIds", + ) + condition.ip_prefix_id = AAZStrType( + serialized_name="ipPrefixId", + ) + + ip_community_ids = cls._schema_on_200.properties.statements.Element.condition.ip_community_ids + ip_community_ids.Element = AAZStrType() + + ip_extended_community_ids = cls._schema_on_200.properties.statements.Element.condition.ip_extended_community_ids + ip_extended_community_ids.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", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/managednetworkfabric/azext_managednetworkfabric/azext_metadata.json b/src/managednetworkfabric/azext_managednetworkfabric/azext_metadata.json new file mode 100644 index 00000000000..be5de02d927 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.45.0" +} \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/commands.py b/src/managednetworkfabric/azext_managednetworkfabric/commands.py new file mode 100644 index 00000000000..b0d842e4993 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/commands.py @@ -0,0 +1,15 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +# from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): # pylint: disable=unused-argument + pass diff --git a/src/managednetworkfabric/azext_managednetworkfabric/custom.py b/src/managednetworkfabric/azext_managednetworkfabric/custom.py new file mode 100644 index 00000000000..86df1e48ef5 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/custom.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from knack.log import get_logger + + +logger = get_logger(__name__) diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/__init__.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/config.ini b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/config.ini new file mode 100644 index 00000000000..9c3dfbb91a7 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/config.ini @@ -0,0 +1,126 @@ +# The config contains sections ["resourcename"] specific to each API resource +# Add the parameters relevant to each resource in the corresponding section + +[NETWORK_FABRIC_CONTROLLER] +name="nfa-tool-ts-cli-nfc061423" +resource_group="nfa-tool-ts-clisdktest-nfcrg060523" +location="East US" +infra_ER_Connections='[{"expressRouteCircuitId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit", "expressRouteAuthorizationKey": ""}]' +workload_ER_Connections='[{"expressRouteCircuitId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit", "expressRouteAuthorizationKey": ""}]' +ipv4_address_space="20.0.0.0/19" +nameDelete="nfa-tool-ts-cli-nfc061323" + +[NETWORK_FABRIC] +name="nfa-tool-ts-cli-nf061423" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +location="East US" +nf_sku="fab1" +nfc_id="/subscriptions/61065ccc-9543-4b91-b2d1-0ce42a914507/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-nfc060223" +fabric_asn=65523 +ipv4_prefix="10.1.0.0/19" +ipv6_prefix="2fff::/59" +rack_count=3 +server_count_per_rack=7 +terminalServerConf="{'primaryIpv4Prefix':'20.20.0.0/27', 'secondaryIpv4Prefix':'20.20.0.0/25', 'username':'****', 'password':'*****', 'serialNumber':'1234'}" +managedNetworkConf="{'infrastructureVpnConfiguration':{'peeringOption': 'OptionB', 'optionBProperties': {'importRouteTargets': ['65521:2001','65512:2002'], 'exportRouteTargets': ['65531:1002','65532:1003']}}, 'workloadVpnConfiguration':{'peeringOption': 'OptionB', 'optionBProperties': {'importRouteTargets': ['65541:2001','65542:2002'], 'exportRouteTargets': ['65531:1230','65532:2301']}}}" +# To test provision and deprovision commands +resource_name="nfa-tool-ts-cli-nf1-061223" + +[NETWORK_RACK] +name="nfa-tool-ts-nf060523-comprack1" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" + +[NETWORK_DEVICE] +name="nfa-tool-ts-cli-nf1-061223-AggrRack-CE1" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +host_name="hostName" +serial_number="1234abcd5678" + +[NETWORK_INTERFACE] +name="Ethernet1" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +device_name="nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1" +state_Enable="Enable" +state_Disable="Disable" + +[NETWORK_TO_NETWORK_INTERCONNECT] +name="nfa-tool-ts-cli-nni061223" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +fabric="nfa-tool-ts-cli-nf1-061223" +is_management_type="True" +use_option_b="True" +layer2_Configuration="{'portCount': 3, 'mtu': 1500}" +layer3_Configuration="{'importRoutePolicyId': '', 'exportRoutePolicyId': '', 'peerASN': 65535, 'vlanId': 600, 'primaryIpv4Prefix': '20.20.0.0/27', 'secondaryIpv4Prefix': '20.20.0.0/25', 'primaryIpv6Prefix': '3FFE:FFFF:0:CD30::a4/127', 'secondaryIpv6Prefix':'3FFE:FFFF:0:CD30::a4/127'}" + +[L2_ISOLATION_DOMAIN] +name="nfa-tool-ts-cli-l2domain1-061423" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +location="East US" +nf_id="/subscriptions/61065ccc-9543-4b91-b2d1-0ce42a914507/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523" +mtu="1512" +vlan_id="524" +state_Enable="Enable" +state_Disable="Disable" + +[L3_ISOLATION_DOMAIN] +name="nfa-tool-ts-cli-l3domain061423" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +location="East US" +nf_id="/subscriptions/61065ccc-9543-4b91-b2d1-0ce42a914507/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523" +redistribute_connected_subnets="True" +redistribute_static_routes="True" +aggregate_route_conf='{"ipv4Routes":[{"prefix": "10.0.0.1/27"}], "ipv6Routes":[{"prefix": "2fff::/59"}]}' +connected_subnet_route_policy="{'exportRoutePolicyId': ''}" +state_Enable="Enable" +state_Disable="Disable" +# To test update admin state command +resource_name="nfa-tool-ts-cli-l3domain1-061223" + +[IP_PREFIX] +name="nfa-tool-ts-cli-ipprefix061423" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +location="East US" +ip_prefix_rules="[{'action': 'Permit', 'sequenceNumber': 10, 'networkPrefix': '10.12.14.0/24', 'condition': 'EqualTo', 'subnetMaskLength': 24}]" + +[IP_COMMUNITY] +name="nfa-tool-ts-cli-ipcommunity061423" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +location="East US" +action="Deny" +well_known_communities="LocalAS" "GShut" +community_members="101:200" "101:201" + +[IP_EXTENDED_COMMUNITY] +name="nfa-tool-ts-cli-ipextcommunity061423" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +location="East US" +action="Deny" +route_targets="1024:219" "1001:200" + +[ROUTE_POLICY] +name="nfa-tool-ts-cli-routepolicy061423" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +location="East US" +statements_with_ipcommunity='[{"sequenceNumber": 1214, "condition": {"ipCommunityIds": ["/subscriptions/61065ccc-9543-4b91-b2d1-0ce42a914507/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"], "ipPrefixId": "/subscriptions/61065ccc-9543-4b91-b2d1-0ce42a914507/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"}, "action":{"localPreference": 113, "actionType": "Permit", "ipCommunityProperties": {"add":{"ipCommunityIds":["/subscriptions/61065ccc-9543-4b91-b2d1-0ce42a914507/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"]}}}}]' +statements_with_ipextcommunity='[{"sequenceNumber": 1214, "condition": {"ipExtendedCommunityIds": ["/subscriptions/61065ccc-9543-4b91-b2d1-0ce42a914507/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"], "ipPrefixId": "/subscriptions/61065ccc-9543-4b91-b2d1-0ce42a914507/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"}, "action":{"localPreference": 113, "actionType": "Permit", "ipExtendedCommunityProperties": {"add":{"ipExtendedCommunityIds":["/subscriptions/61065ccc-9543-4b91-b2d1-0ce42a914507/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"]}}}}]' + +[Internal_Network] +name="nfa-tool-ts-cli-internalnetwork061423" +l3domain="nfa-tool-ts-cli-l3domain1-061223" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +vlan_id=2600 +mtu=1500 +connected_Ipv4_subnets='[{"prefix":"10.1.1.1/24"}]' +connected_Ipv6_subnets='[{"prefix":"2fff::/59"}]' +static_route_conf="{'ipv4Routes':[{'prefix':'10.0.0.1/28','nextHop':['10.0.1.1']}],'ipv6Routes':[{'prefix':'2fff::/59','nextHop':['3fff::']}]}" +bgp_conf="{'defaultRouteOriginate':'True','allowAS':2,'allowASOverride':'Enable','peerASN':65535,'ipv4ListenRangePrefixes':['10.1.1.0/28'],'ipv4NeighborAddress':[{'address': '10.1.1.0'}]}" + +[External_Network] +name="nfa-tool-ts-cli-externalnetwork061423" +l3domain="nfa-tool-ts-cli-l3domain1-061223" +resource_group="nfa-tool-ts-clisdktest-nfrg060523" +peering_option="OptionB" +import_route_policy_id="importroutepolicyid" +export_route_policy_id="exportroutepolicyid" +option_b_properties='{"importRouteTargets":["65541:2001"],"exportRouteTargets":["65531:2001"]}' +option_a_properties='{"peerASN":65234,"vlanId":513,"mtu":1500,"primaryIpv4Prefix":"172.23.1.0/31","secondaryIpv4Prefix":"172.23.1.2/31"}' diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/config.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/config.py new file mode 100644 index 00000000000..aa48b0bb487 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/config.py @@ -0,0 +1,41 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods + +""" ManagedNetworkFabric resource specific configuration""" + +import configparser +from os import path + + +class LoadConfig: + ''' Loads the resource specific configuration for managednetworkfabric resources from config.ini. + This configuration is loaded at the first instance and stored in the _config_instance + Global parameter CONFIG can be used by calling classes to use the configuration values + ''' + config = None + + def __init__(self): + self._config_instance = None # Initial value + filename = path.dirname(__file__)+"/config.ini" + self.config = self.readconfig(filename) + + def readconfig(self, filename): + ''' Load resource config from configuration file''' + if self._config_instance: + return self._config_instance + self._config_instance = configparser.ConfigParser() + self._config_instance.read(filename) + return self._config_instance + + +def get_config(): + ''' Load the config and return the class instance''' + load_cnfig = LoadConfig() + return load_cnfig.config + + +CONFIG = get_config() \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_Device_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_Device_scenario1.yaml new file mode 100644 index 00000000000..d21fb00b75f --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_Device_scenario1.yaml @@ -0,0 +1,198 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric device show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE1?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE1","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-CE1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:50.9265263Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-12T09:45:43.21043Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE1","hostName":"AR-CE1","serialNumber":"1234abcd5678","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '951' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:37 GMT + etag: + - '"fe057878-0000-0100-0000-6486e9480000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric device list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/networkDevices?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-CE1","name":"nfTestD15180423-AggrRack-CE1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:23.2032787Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:23.2032787Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE1","hostName":"AggRack-CE1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-CE2","name":"nfTestD15180423-AggrRack-CE2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:24.4376686Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:24.4376686Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE2","hostName":"AggRack-CE2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-TOR17","name":"nfTestD15180423-AggrRack-TOR17","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:25.703311Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:25.703311Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR17","hostName":"AggRack-TOR17","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-TOR18","name":"nfTestD15180423-AggrRack-TOR18","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:26.9377019Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:26.9377019Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR18","hostName":"AggRack-TOR18","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-MgmtSwitch1","name":"nfTestD15180423-AggrRack-MgmtSwitch1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:28.2189712Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:28.2189712Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch1","hostName":"AggRack-MGMT1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-MgmtSwitch2","name":"nfTestD15180423-AggrRack-MgmtSwitch2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:29.5003026Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:29.5003026Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch2","hostName":"AggRack-MGMT2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-NPB1","name":"nfTestD15180423-AggrRack-NPB1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:30.7033823Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:30.7033823Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB1","hostName":"AggRack-NPB1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-NPB2","name":"nfTestD15180423-AggrRack-NPB2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:31.8440728Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:31.8440728Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB2","hostName":"AggRack-NPB2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack1-TOR1","name":"nfTestD15180423-CompRack1-TOR1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:34.7660407Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:34.7660407Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR1","hostName":"CompRack1-TOR1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack1-TOR2","name":"nfTestD15180423-CompRack1-TOR2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:35.9378315Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:35.9378315Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR2","hostName":"CompRack1-TOR2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack1-MgmtSwitch","name":"nfTestD15180423-CompRack1-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:37.2034743Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:37.2034743Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CompRack1-MGMT","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack2-TOR3","name":"nfTestD15180423-CompRack2-TOR3","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:39.8910125Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:39.8910125Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR3","hostName":"CompRack2-TOR3","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack2-TOR4","name":"nfTestD15180423-CompRack2-TOR4","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:41.125408Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:41.125408Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR4","hostName":"CompRack2-TOR4","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack2-MgmtSwitch","name":"nfTestD15180423-CompRack2-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-04-18T10:02:42.2972959Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:02:42.2972959Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CompRack2-MGMT","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-CE1","name":"nffab1061323-AggrRack-CE1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:34.7625024Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:06:38.1089791Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE1","hostName":"AR-CE1","serialNumber":"Arista;DCS-7280PR3-24;12.05;JPE21330382","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-CE2","name":"nffab1061323-AggrRack-CE2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:36.262504Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:06:40.0934647Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE2","hostName":"AR-CE2","serialNumber":"Arista;DCS-7280PR3-24;12.05;JPE21330442","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-TOR17","name":"nffab1061323-AggrRack-TOR17","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:37.7625346Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:07:03.2978681Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR17","hostName":"AR-TOR17","serialNumber":"Arista;DCS-7280CR3-32P4;11.01;XXXXXXXXXXX","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-TOR18","name":"nffab1061323-AggrRack-TOR18","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:38.9812545Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:07:05.3448521Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR18","hostName":"AR-TOR18","serialNumber":"Arista;DCS-7280CR3-32P4;11.01;XXXXXXXXXXX","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-MgmtSwitch1","name":"nffab1061323-AggrRack-MgmtSwitch1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:40.1375008Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:06:42.3123433Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch1","hostName":"AR-MGMT1","serialNumber":"Arista;DCS-7010TX-48;12.00;JPE21372286","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-MgmtSwitch2","name":"nffab1061323-AggrRack-MgmtSwitch2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:41.2937499Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:07:01.2508818Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch2","hostName":"AR-MGMT2","serialNumber":"Arista;DCS-7010TX-48;12.00;XXXXXXXXXXX","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-NPB1","name":"nffab1061323-AggrRack-NPB1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:42.4187838Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:07:07.4543336Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB1","hostName":"AR-NPB1","serialNumber":"Arista;DCS-7280CR3-32P4;11.00;JPE19460696","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-NPB2","name":"nffab1061323-AggrRack-NPB2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:43.5437515Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:07:09.5013191Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB2","hostName":"AR-NPB2","serialNumber":"Arista;DCS-7280CR3-32P4;11.00;xxxxxxxxxxx","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack1-TOR1","name":"nffab1061323-CompRack1-TOR1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:46.9968779Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:06:50.1409036Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR1","hostName":"CR1-TOR1","serialNumber":"Arista;DCS-7280CR3MK-32P4;11.00;JPE20101872","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack1-TOR2","name":"nffab1061323-CompRack1-TOR2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:48.1374996Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:06:52.0628837Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR2","hostName":"CR1-TOR2","serialNumber":"Arista;DCS-7280CR3MK-32P4;11.00;JPE20101885","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack1-MgmtSwitch","name":"nffab1061323-CompRack1-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:49.3250521Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:06:53.7817277Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CR1-MGMT","serialNumber":"Arista;DCS-7010TX-48;12.00;JPE21400271","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack2-TOR3","name":"nffab1061323-CompRack2-TOR3","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:52.3249977Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:06:55.5787023Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR3","hostName":"CR2-TOR3","serialNumber":"Arista;DCS-7280CR3MK-32P4;11.00;JPE20101859","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack2-TOR4","name":"nffab1061323-CompRack2-TOR4","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:53.621924Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:06:57.4694255Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR4","hostName":"CR2-TOR4","serialNumber":"Arista;DCS-7280CR3MK-32P4;11.00;JPE20101830","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack2-MgmtSwitch","name":"nffab1061323-CompRack2-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus2euap","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-13T12:06:54.7781293Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:06:59.3601542Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CR2-MGMT","serialNumber":"Arista;DCS-7010TX-48;12.00;JPE21383405","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-CE1","name":"nfa-tool-ts-nf060523-AggrRack-CE1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:34.4530435Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:34.4530435Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE1","hostName":"AR-CE1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-CE2","name":"nfa-tool-ts-nf060523-AggrRack-CE2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:34.7811728Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:34.7811728Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE2","hostName":"AR-CE2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-TOR17","name":"nfa-tool-ts-nf060523-AggrRack-TOR17","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:34.9531789Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:34.9531789Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR17","hostName":"AR-TOR17","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-TOR18","name":"nfa-tool-ts-nf060523-AggrRack-TOR18","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:35.1561799Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:35.1561799Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR18","hostName":"AR-TOR18","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1","name":"nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:35.3749354Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:35.3749354Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch1","hostName":"AR-MGMT1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch2","name":"nfa-tool-ts-nf060523-AggrRack-MgmtSwitch2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:35.5624385Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:35.5624385Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch2","hostName":"AR-MGMT2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-NPB1","name":"nfa-tool-ts-nf060523-AggrRack-NPB1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:35.7499449Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:35.7499449Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB1","hostName":"AR-NPB1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-NPB2","name":"nfa-tool-ts-nf060523-AggrRack-NPB2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:35.9530723Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:35.9530723Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB2","hostName":"AR-NPB2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-TOR1","name":"nfa-tool-ts-nf060523-CompRack1-TOR1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:36.7655878Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:36.7655878Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR1","hostName":"CR1-TOR1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-TOR2","name":"nfa-tool-ts-nf060523-CompRack1-TOR2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:36.9999672Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:36.9999672Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR2","hostName":"CR1-TOR2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-MgmtSwitch","name":"nfa-tool-ts-nf060523-CompRack1-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:37.2187216Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:37.2187216Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CR1-MGMT","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-TOR3","name":"nfa-tool-ts-nf060523-CompRack2-TOR3","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:37.9218621Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:37.9218621Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR3","hostName":"CR2-TOR3","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-TOR4","name":"nfa-tool-ts-nf060523-CompRack2-TOR4","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:38.1718627Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:38.1718627Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR4","hostName":"CR2-TOR4","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-MgmtSwitch","name":"nfa-tool-ts-nf060523-CompRack2-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:38.3906215Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:38.3906215Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CR2-MGMT","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE1","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-CE1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:50.9265263Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-12T09:45:43.21043Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE1","hostName":"AR-CE1","serialNumber":"1234abcd5678","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE2","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-CE2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:51.2234024Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:51.2234024Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE2","hostName":"AR-CE2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-TOR17","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-TOR17","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:51.3796554Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:51.3796554Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR17","hostName":"AR-TOR17","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-TOR18","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-TOR18","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:51.5827846Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:51.5827846Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR18","hostName":"AR-TOR18","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch1","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:51.7702844Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:51.7702844Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch1","hostName":"AR-MGMT1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch2","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:51.989179Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:51.989179Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch2","hostName":"AR-MGMT2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-NPB1","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-NPB1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:52.1609203Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:52.1609203Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB1","hostName":"AR-NPB1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-NPB2","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-NPB2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:52.3484212Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:52.3484212Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB2","hostName":"AR-NPB2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-TOR1","name":"nfa-tool-ts-cli-nf1-061223-CompRack1-TOR1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:53.0203043Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:53.0203043Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR1","hostName":"CR1-TOR1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-TOR2","name":"nfa-tool-ts-cli-nf1-061223-CompRack1-TOR2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:53.1765575Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:53.1765575Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR2","hostName":"CR1-TOR2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-MgmtSwitch","name":"nfa-tool-ts-cli-nf1-061223-CompRack1-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:53.3484356Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:53.3484356Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CR1-MGMT","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-TOR3","name":"nfa-tool-ts-cli-nf1-061223-CompRack2-TOR3","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:53.8484863Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:53.8484863Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR3","hostName":"CR2-TOR3","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-TOR4","name":"nfa-tool-ts-cli-nf1-061223-CompRack2-TOR4","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:54.035944Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:54.035944Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR4","hostName":"CR2-TOR4","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-MgmtSwitch","name":"nfa-tool-ts-cli-nf1-061223-CompRack2-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:54.2078228Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:54.2078228Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CR2-MGMT","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '54241' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - ae600948-b0e6-4468-9a7a-678034de0ace + - f610ff1e-215e-4cca-b666-cea5793a84b7 + - aacd6aa2-db49-4192-9963-58f81bf2936a + - 2b2aa925-c66a-4109-a9d3-0328807acb3e + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric device list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-CE1","name":"nfa-tool-ts-nf060523-AggrRack-CE1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:34.4530435Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:34.4530435Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE1","hostName":"AR-CE1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-CE2","name":"nfa-tool-ts-nf060523-AggrRack-CE2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:34.7811728Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:34.7811728Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE2","hostName":"AR-CE2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-TOR17","name":"nfa-tool-ts-nf060523-AggrRack-TOR17","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:34.9531789Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:34.9531789Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR17","hostName":"AR-TOR17","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-TOR18","name":"nfa-tool-ts-nf060523-AggrRack-TOR18","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:35.1561799Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:35.1561799Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR18","hostName":"AR-TOR18","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1","name":"nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:35.3749354Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:35.3749354Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch1","hostName":"AR-MGMT1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch2","name":"nfa-tool-ts-nf060523-AggrRack-MgmtSwitch2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:35.5624385Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:35.5624385Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch2","hostName":"AR-MGMT2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-NPB1","name":"nfa-tool-ts-nf060523-AggrRack-NPB1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:35.7499449Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:35.7499449Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB1","hostName":"AR-NPB1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-NPB2","name":"nfa-tool-ts-nf060523-AggrRack-NPB2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:35.9530723Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:35.9530723Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB2","hostName":"AR-NPB2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-TOR1","name":"nfa-tool-ts-nf060523-CompRack1-TOR1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:36.7655878Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:36.7655878Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR1","hostName":"CR1-TOR1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-TOR2","name":"nfa-tool-ts-nf060523-CompRack1-TOR2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:36.9999672Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:36.9999672Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR2","hostName":"CR1-TOR2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-MgmtSwitch","name":"nfa-tool-ts-nf060523-CompRack1-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:37.2187216Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:37.2187216Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CR1-MGMT","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-TOR3","name":"nfa-tool-ts-nf060523-CompRack2-TOR3","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:37.9218621Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:37.9218621Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR3","hostName":"CR2-TOR3","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-TOR4","name":"nfa-tool-ts-nf060523-CompRack2-TOR4","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:38.1718627Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:38.1718627Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR4","hostName":"CR2-TOR4","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-MgmtSwitch","name":"nfa-tool-ts-nf060523-CompRack2-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T07:01:38.3906215Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:38.3906215Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CR2-MGMT","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE1","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-CE1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:50.9265263Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-12T09:45:43.21043Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE1","hostName":"AR-CE1","serialNumber":"1234abcd5678","provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE2","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-CE2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:51.2234024Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:51.2234024Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE2","hostName":"AR-CE2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-TOR17","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-TOR17","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:51.3796554Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:51.3796554Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR17","hostName":"AR-TOR17","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-TOR18","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-TOR18","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:51.5827846Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:51.5827846Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR18","hostName":"AR-TOR18","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch1","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:51.7702844Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:51.7702844Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch1","hostName":"AR-MGMT1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch2","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:51.989179Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:51.989179Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch2","hostName":"AR-MGMT2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-NPB1","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-NPB1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:52.1609203Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:52.1609203Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB1","hostName":"AR-NPB1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-NPB2","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-NPB2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:52.3484212Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:52.3484212Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"NPB2","hostName":"AR-NPB2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-TOR1","name":"nfa-tool-ts-cli-nf1-061223-CompRack1-TOR1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:53.0203043Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:53.0203043Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR1","hostName":"CR1-TOR1","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-TOR2","name":"nfa-tool-ts-cli-nf1-061223-CompRack1-TOR2","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:53.1765575Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:53.1765575Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR2","hostName":"CR1-TOR2","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-MgmtSwitch","name":"nfa-tool-ts-cli-nf1-061223-CompRack1-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:53.3484356Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:53.3484356Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack1","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CR1-MGMT","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-TOR3","name":"nfa-tool-ts-cli-nf1-061223-CompRack2-TOR3","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:53.8484863Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:53.8484863Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR3","hostName":"CR2-TOR3","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-TOR4","name":"nfa-tool-ts-cli-nf1-061223-CompRack2-TOR4","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:54.035944Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:54.035944Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"TOR4","hostName":"CR2-TOR4","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-MgmtSwitch","name":"nfa-tool-ts-cli-nf1-061223-CompRack2-MgmtSwitch","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:54.2078228Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:54.2078228Z"},"properties":{"annotation":null,"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack2","networkDeviceSku":"DefaultSku","networkDeviceRole":"MgmtSwitch","hostName":"CR2-MGMT","serialNumber":"NA","version":null,"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '27877' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:40 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - ed4dd35b-9315-499f-98d3-a1cd3796b947 + - 906b7e97-acc3-4873-825f-0a82f82fda1c + - 39a53023-68fd-4fe7-811a-d93e54fca6b1 + - 192b481d-a863-4a0e-82fd-3f8b53b6e6a9 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"serialNumber": "1234abcd5678"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric device update + Connection: + - keep-alive + Content-Length: + - '48' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --resource-name --serial-number + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE1?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE1","name":"nfa-tool-ts-cli-nf1-061223-AggrRack-CE1","type":"microsoft.managednetworkfabric/networkdevices","location":"eastus","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-12T09:42:50.9265263Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:25:42.5674188Z"},"properties":{"networkRackId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","networkDeviceSku":"DefaultSku","networkDeviceRole":"CE1","hostName":"AR-CE1","serialNumber":"1234abcd5678","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '953' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:43 GMT + etag: + - '"65062cdc-0000-0100-0000-648925270000"' + expires: + - '-1' + mise-correlation-id: + - 0b85f392-9621-4101-8da4-1c1038eeb42a + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_Interface_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_Interface_scenario1.yaml new file mode 100644 index 00000000000..ecefd8d9059 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_Interface_scenario1.yaml @@ -0,0 +1,934 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group --device + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","name":"Ethernet1","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:17.6766588Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:55:00.594884Z"},"properties":{"physicalIdentifier":"Ethernet1","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}}' + headers: + cache-control: + - no-cache + content-length: + - '739' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:22 GMT + etag: + - '"e802052d-0000-0100-0000-6486f9840000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface list + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","name":"Ethernet1","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:17.6766588Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:55:00.594884Z"},"properties":{"physicalIdentifier":"Ethernet1","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet2","name":"Ethernet2","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:17.7703487Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:17.7703487Z"},"properties":{"physicalIdentifier":"Ethernet2","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet9","name":"Ethernet9","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:17.8484729Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:17.8484729Z"},"properties":{"physicalIdentifier":"Ethernet9","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet10","name":"Ethernet10","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:17.957852Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:17.957852Z"},"properties":{"physicalIdentifier":"Ethernet10","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet11","name":"Ethernet11","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:18.0359711Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:18.0359711Z"},"properties":{"physicalIdentifier":"Ethernet11","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet12","name":"Ethernet12","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:18.1297223Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:18.1297223Z"},"properties":{"physicalIdentifier":"Ethernet12","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet17","name":"Ethernet17","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:18.2078476Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:18.2078476Z"},"properties":{"physicalIdentifier":"Ethernet17","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet47","name":"Ethernet47","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:18.2859719Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:18.2859719Z"},"properties":{"physicalIdentifier":"Ethernet47","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet48","name":"Ethernet48","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:18.3641003Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:18.3641003Z"},"properties":{"physicalIdentifier":"Ethernet48","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet49","name":"Ethernet49","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:18.4578504Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:18.4578504Z"},"properties":{"physicalIdentifier":"Ethernet49","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet50","name":"Ethernet50","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:18.5360123Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:18.5360123Z"},"properties":{"physicalIdentifier":"Ethernet50","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Data"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Management1","name":"Management1","type":"microsoft.managednetworkfabric/networkdevices/networkinterfaces","systemData":{"createdBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","createdByType":"Application","createdAt":"2023-06-05T09:06:18.6297768Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:18.6297768Z"},"properties":{"physicalIdentifier":"Management","administrativeState":"Enabled","provisioningState":"Succeeded","interfaceType":"Management","ipv4Address":"10.1.2.6"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '8960' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:24 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"state": "Disable"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + Content-Length: + - '20' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1/updateAdministrativeState?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + mise-correlation-id: + - b7828ca6-ded4-484a-9b2a-ee5549746427 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:25:25.3804054Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:26 GMT + etag: + - '"98030836-0000-0100-0000-648925160000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:25:25.3804054Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:58 GMT + etag: + - '"98030836-0000-0100-0000-648925160000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:25:25.3804054Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:26:27 GMT + etag: + - '"98030836-0000-0100-0000-648925160000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:25:25.3804054Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:26:58 GMT + etag: + - '"98030836-0000-0100-0000-648925160000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:25:25.3804054Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:27:28 GMT + etag: + - '"98030836-0000-0100-0000-648925160000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:25:25.3804054Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:28:00 GMT + etag: + - '"98030836-0000-0100-0000-648925160000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:25:25.3804054Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:28:30 GMT + etag: + - '"98030836-0000-0100-0000-648925160000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:25:25.3804054Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:29:01 GMT + etag: + - '"98030836-0000-0100-0000-648925160000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:25:25.3804054Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:29:31 GMT + etag: + - '"98030836-0000-0100-0000-648925160000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:25:25.3804054Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:03 GMT + etag: + - '"98030836-0000-0100-0000-648925160000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Succeeded","startTime":"2023-06-14T02:25:25.3804054Z","endTime":"2023-06-14T02:30:22.8832411Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '714' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:33 GMT + etag: + - '"9803b341-0000-0100-0000-6489263e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"48e4e8ba-882d-440b-90f7-5acbe0db4afc*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Succeeded","startTime":"2023-06-14T02:25:25.3804054Z","endTime":"2023-06-14T02:30:22.8832411Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '714' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:33 GMT + etag: + - '"9803b341-0000-0100-0000-6489263e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"state": "Enable"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + Content-Length: + - '19' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1/updateAdministrativeState?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + mise-correlation-id: + - 85a82cb9-06f2-4bfc-bef5-a1fc1b8de4da + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:30:35.3800559Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:36 GMT + etag: + - '"98030e42-0000-0100-0000-6489264b0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:30:35.3800559Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:31:06 GMT + etag: + - '"98030e42-0000-0100-0000-6489264b0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Updating","startTime":"2023-06-14T02:30:35.3800559Z"}' + headers: + cache-control: + - no-cache + content-length: + - '654' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:31:38 GMT + etag: + - '"98030e42-0000-0100-0000-6489264b0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Succeeded","startTime":"2023-06-14T02:30:35.3800559Z","endTime":"2023-06-14T02:31:49.0464774Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '714' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:32:08 GMT + etag: + - '"9803e944-0000-0100-0000-648926950000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric interface update-admin-state + Connection: + - keep-alive + ParameterSetName: + - --resource-group --device --resource-name --state + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","name":"543c15ae-0bc9-4f6a-b98e-53d6296a2012*7EC1A5A11DED54BDA41F0BA9BAB23A2F8BE0395BD7BB9375A74DCEBA7EF21532","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1/networkInterfaces/Ethernet1","status":"Succeeded","startTime":"2023-06-14T02:30:35.3800559Z","endTime":"2023-06-14T02:31:49.0464774Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '714' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:32:09 GMT + etag: + - '"9803e944-0000-0100-0000-648926950000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_Rack_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_Rack_scenario1.yaml new file mode 100644 index 00000000000..feb6c81c5d9 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_Rack_scenario1.yaml @@ -0,0 +1,142 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric rack show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack1?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack1","name":"nfa-tool-ts-nf060523-comprack1","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-05T07:01:22.4996838Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:13.0515749Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-TOR1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-TOR2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-MgmtSwitch"],"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1464' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:53 GMT + etag: + - '"2f0cbb39-0000-0100-0000-647da5850000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric rack list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","name":"nfa-tool-ts-nf060523-aggrack","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-05T07:01:21.87467Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:12.8172367Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-CE1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-CE2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-TOR17","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-TOR18","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-NPB1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-NPB2"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack1","name":"nfa-tool-ts-nf060523-comprack1","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-05T07:01:22.4996838Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:13.0515749Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-TOR1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-TOR2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-MgmtSwitch"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack2","name":"nfa-tool-ts-nf060523-comprack2","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-05T07:01:22.8434406Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:13.192202Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-TOR3","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-TOR4","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-MgmtSwitch"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack3","name":"nfa-tool-ts-nf060523-comprack3","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-05T07:01:23.2965728Z","lastModifiedBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:23.2965728Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","networkRackSku":"fab1","provisioningState":"Failed"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","name":"nfa-tool-ts-cli-nf1-061223-aggrack","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-12T09:42:45.3972158Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:05:24.1624224Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-TOR17","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-TOR18","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-NPB1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-NPB2"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack1","name":"nfa-tool-ts-cli-nf1-061223-comprack1","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-12T09:42:45.8659203Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:05:24.3030529Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-TOR1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-TOR2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-MgmtSwitch"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack2","name":"nfa-tool-ts-cli-nf1-061223-comprack2","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-12T09:42:46.2253027Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:05:24.4593089Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-TOR3","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-TOR4","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-MgmtSwitch"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack3","name":"nfa-tool-ts-cli-nf1-061223-comprack3","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-12T09:42:46.4909285Z","lastModifiedBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:46.4909285Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","networkRackSku":"fab1","provisioningState":"Failed"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf061223-comprack3","name":"nfa-tool-ts-cli-nf061223-comprack3","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-12T10:05:31.303302Z","lastModifiedBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:05:31.303302Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061223","networkRackSku":"fab1","provisioningState":"Failed"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '13462' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:54 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 63f48323-9f67-43fd-8311-4d426f70e0de + - ad195fd5-d379-463e-a48a-fc05fc7306a8 + - a9861b67-e387-4bb8-9e16-6941b45ceb95 + - 8ed749cc-7cfe-4540-930b-effec2400a2a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric rack list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/networkRacks?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-aggrack","name":"nfTestD15180423-aggrack","type":"microsoft.managednetworkfabric/networkracks","location":"eastus2euap","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-04-18T10:01:53.6403598Z","lastModifiedBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:01:53.6403598Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfTestD15180423","networkRackSku":"M4-A400-A100-C16-aa","provisioningState":"Succeeded","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-CE1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-CE2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-TOR17","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-TOR18","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-MgmtSwitch1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-MgmtSwitch2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-NPB1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-AggrRack-NPB2"]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-comprack1","name":"nfTestD15180423-comprack1","type":"microsoft.managednetworkfabric/networkracks","location":"eastus2euap","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-04-18T10:01:56.3122706Z","lastModifiedBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:01:56.3122706Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfTestD15180423","networkRackSku":"M4-A400-A100-C16-aa","provisioningState":"Succeeded","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack1-TOR1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack1-TOR2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack1-MgmtSwitch"]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfTestD15180423-comprack2","name":"nfTestD15180423-comprack2","type":"microsoft.managednetworkfabric/networkracks","location":"eastus2euap","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-04-18T10:01:57.9217212Z","lastModifiedBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T10:01:57.9217212Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfTestD15180423","networkRackSku":"M4-A400-A100-C16-aa","provisioningState":"Succeeded","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack2-TOR3","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack2-TOR4","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfTestD15180423-CompRack2-MgmtSwitch"]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-aggrack","name":"nffab1061323-aggrack","type":"microsoft.managednetworkfabric/networkracks","location":"eastus2euap","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-13T12:06:12.4656442Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T15:44:26.1328925Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/networkfabrics/nffab1061323","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-CE1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-CE2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-TOR17","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-TOR18","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-MgmtSwitch1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-MgmtSwitch2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-NPB1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-AggrRack-NPB2"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-comprack1","name":"nffab1061323-comprack1","type":"microsoft.managednetworkfabric/networkracks","location":"eastus2euap","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-13T12:06:14.8250101Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T15:44:27.5547849Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/networkfabrics/nffab1061323","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack1-TOR1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack1-TOR2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack1-MgmtSwitch"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkRacks/nffab1061323-comprack2","name":"nffab1061323-comprack2","type":"microsoft.managednetworkfabric/networkracks","location":"eastus2euap","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-13T12:06:16.4343832Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T15:44:28.3360444Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/networkfabrics/nffab1061323","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack2-TOR3","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack2-TOR4","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkDevices/nffab1061323-CompRack2-MgmtSwitch"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-aggrack","name":"nfa-tool-ts-nf060523-aggrack","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-05T07:01:21.87467Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:12.8172367Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-CE1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-CE2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-TOR17","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-TOR18","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-MgmtSwitch2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-NPB1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-AggrRack-NPB2"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack1","name":"nfa-tool-ts-nf060523-comprack1","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-05T07:01:22.4996838Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:13.0515749Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-TOR1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-TOR2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack1-MgmtSwitch"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack2","name":"nfa-tool-ts-nf060523-comprack2","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-05T07:01:22.8434406Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T09:06:13.192202Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-TOR3","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-TOR4","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-nf060523-CompRack2-MgmtSwitch"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-nf060523-comprack3","name":"nfa-tool-ts-nf060523-comprack3","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-05T07:01:23.2965728Z","lastModifiedBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","lastModifiedByType":"Application","lastModifiedAt":"2023-06-05T07:01:23.2965728Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","networkRackSku":"fab1","provisioningState":"Failed"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-aggrack","name":"nfa-tool-ts-cli-nf1-061223-aggrack","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-12T09:42:45.3972158Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:05:24.1624224Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-CE2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-TOR17","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-TOR18","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-MgmtSwitch2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-NPB1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-AggrRack-NPB2"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack1","name":"nfa-tool-ts-cli-nf1-061223-comprack1","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-12T09:42:45.8659203Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:05:24.3030529Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-TOR1","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-TOR2","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack1-MgmtSwitch"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack2","name":"nfa-tool-ts-cli-nf1-061223-comprack2","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-12T09:42:46.2253027Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:05:24.4593089Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","networkRackSku":"fab1","networkDevices":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-TOR3","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-TOR4","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkDevices/nfa-tool-ts-cli-nf1-061223-CompRack2-MgmtSwitch"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf1-061223-comprack3","name":"nfa-tool-ts-cli-nf1-061223-comprack3","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-12T09:42:46.4909285Z","lastModifiedBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T09:42:46.4909285Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","networkRackSku":"fab1","provisioningState":"Failed"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf061223-comprack3","name":"nfa-tool-ts-cli-nf061223-comprack3","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-12T10:03:30.0178203Z","lastModifiedBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:03:30.0178203Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061223","networkRackSku":"fab1","provisioningState":"Failed"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkRacks/nfa-tool-ts-cli-nf061223-comprack3","name":"nfa-tool-ts-cli-nf061223-comprack3","type":"microsoft.managednetworkfabric/networkracks","location":"eastus","systemData":{"createdBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","createdByType":"Application","createdAt":"2023-06-12T10:05:31.303302Z","lastModifiedBy":"a893dadc-5c8e-47f4-8379-6afb34bdbe12","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:05:31.303302Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061223","networkRackSku":"fab1","provisioningState":"Failed"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '24096' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:25:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - ce942059-fe2a-47f7-a44d-89c4bc6505d4 + - 17354809-073d-4249-a98a-4078b49340b1 + - 25c8f420-f05a-42f5-ada2-d7f2ecb4447a + - ff24887d-3d75-4e2b-916d-f41edd23f924 + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_externalnetwork_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_externalnetwork_scenario1.yaml new file mode 100644 index 00000000000..a922dd35bbc --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_externalnetwork_scenario1.yaml @@ -0,0 +1,443 @@ +interactions: +- request: + body: '{"properties": {"optionAProperties": {"mtu": 1500, "peerASN": 65234, "primaryIpv4Prefix": + "172.23.1.0/31", "secondaryIpv4Prefix": "172.23.1.2/31", "vlanId": 513}, "optionBProperties": + {"exportRouteTargets": ["65531:2001"], "importRouteTargets": ["65541:2001"]}, + "peeringOption": "OptionB"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric externalnetwork create + Connection: + - keep-alive + Content-Length: + - '290' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --l3domain --resource-name --peering-option --option-a-properties + --option-b-properties + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423","name":"nfa-tool-ts-cli-externalnetwork061423","type":"microsoft.managednetworkfabric/l3isolationdomains/externalnetworks","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:47:17.2355165Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:47:17.2355165Z"},"properties":{"annotation":null,"importRoutePolicyId":null,"exportRoutePolicyId":null,"peeringOption":"OptionB","optionAProperties":{"mtu":1500,"vlanId":513,"peerASN":65234,"bfdConfiguration":null,"primaryIpv4Prefix":"172.23.1.0/31","secondaryIpv4Prefix":"172.23.1.2/31"},"optionBProperties":{"importRouteTargets":["65541:2001"],"exportRouteTargets":["65531:2001"]},"disabledOnResources":null,"networkToNetworkInterconnectId":null,"administrativeState":"Enabled","provisioningState":"Accepted"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c70bfbbd-79e8-401d-a0d5-3f43e0208c45*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '1119' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:17 GMT + etag: + - '"dd058f69-0000-0100-0000-64892a350000"' + expires: + - '-1' + mise-correlation-id: + - 6405b29c-cb28-4005-b884-312acf45e338 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric externalnetwork create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --l3domain --resource-name --peering-option --option-a-properties + --option-b-properties + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c70bfbbd-79e8-401d-a0d5-3f43e0208c45*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c70bfbbd-79e8-401d-a0d5-3f43e0208c45*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E","name":"c70bfbbd-79e8-401d-a0d5-3f43e0208c45*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423","status":"Accepted","startTime":"2023-06-14T02:47:17.8375616Z"}' + headers: + cache-control: + - no-cache + content-length: + - '676' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:18 GMT + etag: + - '"9803b55c-0000-0100-0000-64892a350000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric externalnetwork create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --l3domain --resource-name --peering-option --option-a-properties + --option-b-properties + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c70bfbbd-79e8-401d-a0d5-3f43e0208c45*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c70bfbbd-79e8-401d-a0d5-3f43e0208c45*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E","name":"c70bfbbd-79e8-401d-a0d5-3f43e0208c45*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423","status":"Succeeded","startTime":"2023-06-14T02:47:17.8375616Z","endTime":"2023-06-14T02:47:20.6157292Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '736' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:48 GMT + etag: + - '"9803b75c-0000-0100-0000-64892a380000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric externalnetwork create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --l3domain --resource-name --peering-option --option-a-properties + --option-b-properties + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423","name":"nfa-tool-ts-cli-externalnetwork061423","type":"microsoft.managednetworkfabric/l3isolationdomains/externalnetworks","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:47:17.2355165Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:47:17.2355165Z"},"properties":{"peeringOption":"OptionB","optionAProperties":{"mtu":1500,"vlanId":513,"peerASN":65234,"primaryIpv4Prefix":"172.23.1.0/31","secondaryIpv4Prefix":"172.23.1.2/31","fabricASN":20},"optionBProperties":{"importRouteTargets":["65541:2001"],"exportRouteTargets":["65531:2001"]},"administrativeState":"Enabled","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '974' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:49 GMT + etag: + - '"dd05be69-0000-0100-0000-64892a380000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric externalnetwork show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --l3domain --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423","name":"nfa-tool-ts-cli-externalnetwork061423","type":"microsoft.managednetworkfabric/l3isolationdomains/externalnetworks","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:47:17.2355165Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:47:17.2355165Z"},"properties":{"peeringOption":"OptionB","optionAProperties":{"mtu":1500,"vlanId":513,"peerASN":65234,"primaryIpv4Prefix":"172.23.1.0/31","secondaryIpv4Prefix":"172.23.1.2/31","fabricASN":20},"optionBProperties":{"importRouteTargets":["65541:2001"],"exportRouteTargets":["65531:2001"]},"administrativeState":"Enabled","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '974' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:50 GMT + etag: + - '"dd05be69-0000-0100-0000-64892a380000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric externalnetwork list + Connection: + - keep-alive + ParameterSetName: + - --resource-group --l3domain + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423","name":"nfa-tool-ts-cli-externalnetwork061423","type":"microsoft.managednetworkfabric/l3isolationdomains/externalnetworks","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:47:17.2355165Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:47:17.2355165Z"},"properties":{"peeringOption":"OptionB","optionAProperties":{"mtu":1500,"vlanId":513,"peerASN":65234,"primaryIpv4Prefix":"172.23.1.0/31","secondaryIpv4Prefix":"172.23.1.2/31","fabricASN":20},"optionBProperties":{"importRouteTargets":["65541:2001"],"exportRouteTargets":["65531:2001"]},"administrativeState":"Enabled","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '986' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric externalnetwork delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --l3domain --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1770998f-255b-4548-a195-67a104a57d9a*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:54 GMT + etag: + - '"dd05d96b-0000-0100-0000-64892a5a0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1770998f-255b-4548-a195-67a104a57d9a*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E?api-version=2023-02-01-preview + mise-correlation-id: + - dc2c451c-21c9-4c38-ba2b-99c311f037ea + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric externalnetwork delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --l3domain --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1770998f-255b-4548-a195-67a104a57d9a*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1770998f-255b-4548-a195-67a104a57d9a*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E","name":"1770998f-255b-4548-a195-67a104a57d9a*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423","status":"Succeeded","startTime":"2023-06-14T02:47:54.3044856Z","endTime":"2023-06-14T02:47:54.7412168Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '736' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:55 GMT + etag: + - '"9803f05e-0000-0100-0000-64892a5a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric externalnetwork delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --l3domain --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1770998f-255b-4548-a195-67a104a57d9a*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1770998f-255b-4548-a195-67a104a57d9a*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E","name":"1770998f-255b-4548-a195-67a104a57d9a*B8936469377DCF712EBF1B54EF566E983F05FB70DBE8D83E4988B9B1DBB1AD1E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/externalNetworks/nfa-tool-ts-cli-externalnetwork061423","status":"Succeeded","startTime":"2023-06-14T02:47:54.3044856Z","endTime":"2023-06-14T02:47:54.7412168Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '736' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:55 GMT + etag: + - '"9803f05e-0000-0100-0000-64892a5a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_internalnetwork_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_internalnetwork_scenario1.yaml new file mode 100644 index 00000000000..0a9bd23b5d1 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_internalnetwork_scenario1.yaml @@ -0,0 +1,346 @@ +interactions: +- request: + body: '{"properties": {"bgpConfiguration": {"allowAS": 2, "allowASOverride": "Enable", + "defaultRouteOriginate": "True", "ipv4ListenRangePrefixes": ["10.1.1.0/28"], + "ipv4NeighborAddress": [{"address": "10.1.1.0"}], "peerASN": 65535}, "connectedIPv4Subnets": + [{"prefix": "10.1.1.1/24"}], "connectedIPv6Subnets": [{"prefix": "2fff::/59"}], + "mtu": 1500, "staticRouteConfiguration": {"ipv4Routes": [{"nextHop": ["10.0.1.1"], + "prefix": "10.0.0.1/28"}], "ipv6Routes": [{"nextHop": ["3fff::"], "prefix": + "2fff::/59"}]}, "vlanId": 2600}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric internalnetwork create + Connection: + - keep-alive + Content-Length: + - '521' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --l3-isolation-domain-name --resource-name --vlan-id --mtu + --connected-ipv4-subnets --connected-ipv6-subnets --static-route-configuration + --bgp-configuration --no-wait + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/internalNetworks/nfa-tool-ts-cli-internalnetwork061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/internalNetworks/nfa-tool-ts-cli-internalnetwork061423","name":"nfa-tool-ts-cli-internalnetwork061423","type":"microsoft.managednetworkfabric/l3isolationdomains/internalnetworks","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:46:55.4079717Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:46:55.4079717Z"},"properties":{"annotation":null,"vlanId":2600,"mtu":1500,"connectedIPv4Subnets":[{"prefix":"10.1.1.1/24","annotation":null}],"connectedIPv6Subnets":[{"prefix":"2fff::/59","annotation":null}],"staticRouteConfiguration":{"bfdConfiguration":null,"ipv4Routes":[{"prefix":"10.0.0.1/28","nextHop":["10.0.1.1"]}],"ipv6Routes":[{"prefix":"2fff::/59","nextHop":["3fff::"]}]},"bgpConfiguration":{"bfdConfiguration":null,"defaultRouteOriginate":"True","allowAS":2,"allowASOverride":"Enable","fabricASN":null,"peerASN":65535,"ipv4ListenRangePrefixes":["10.1.1.0/28"],"ipv6ListenRangePrefixes":null,"ipv4NeighborAddress":[{"address":"10.1.1.0","operationalState":"Disabled"}],"ipv6NeighborAddress":null,"annotation":null},"importRoutePolicyId":null,"exportRoutePolicyId":null,"disabledOnResources":null,"bgpDisabledOnResources":null,"bfdDisabledOnResources":null,"bfdForStaticRoutesDisabledOnResources":null,"administrativeState":"Enabled","provisioningState":"Accepted"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/04431658-abac-4e0a-a601-cfa252a5503b*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '1583' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:46:57 GMT + etag: + - '"b2089ae3-0000-0100-0000-64892a210000"' + expires: + - '-1' + mise-correlation-id: + - 3373e8f1-29d0-4561-9515-3e0a95ccaf22 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric internalnetwork show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --l3domain --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/internalNetworks/nfa-tool-ts-cli-internalnetwork061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/internalNetworks/nfa-tool-ts-cli-internalnetwork061423","name":"nfa-tool-ts-cli-internalnetwork061423","type":"microsoft.managednetworkfabric/l3isolationdomains/internalnetworks","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:46:55.4079717Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:46:55.4079717Z"},"properties":{"vlanId":2600,"mtu":1500,"connectedIPv4Subnets":[{"prefix":"10.1.1.1/24"}],"connectedIPv6Subnets":[{"prefix":"2fff::/59"}],"staticRouteConfiguration":{"ipv4Routes":[{"prefix":"10.0.0.1/28","nextHop":["10.0.1.1"]}],"ipv6Routes":[{"prefix":"2fff::/59","nextHop":["3fff::"]}]},"bgpConfiguration":{"defaultRouteOriginate":"True","allowAS":2,"allowASOverride":"Enable","fabricASN":20,"peerASN":65535,"ipv4ListenRangePrefixes":["10.1.1.0/28"],"ipv4NeighborAddress":[{"address":"10.1.1.0","operationalState":"Disabled"}]},"administrativeState":"Enabled","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1218' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:46:58 GMT + etag: + - '"b208a8e3-0000-0100-0000-64892a220000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric internalnetwork list + Connection: + - keep-alive + ParameterSetName: + - --resource-group --l3domain + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/internalNetworks?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/internalNetworks/nfa-tool-ts-cli-internalnetwork061423","name":"nfa-tool-ts-cli-internalnetwork061423","type":"microsoft.managednetworkfabric/l3isolationdomains/internalnetworks","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:46:55.4079717Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:46:55.4079717Z"},"properties":{"vlanId":2600,"mtu":1500,"connectedIPv4Subnets":[{"prefix":"10.1.1.1/24"}],"connectedIPv6Subnets":[{"prefix":"2fff::/59"}],"staticRouteConfiguration":{"ipv4Routes":[{"prefix":"10.0.0.1/28","nextHop":["10.0.1.1"]}],"ipv6Routes":[{"prefix":"2fff::/59","nextHop":["3fff::"]}]},"bgpConfiguration":{"defaultRouteOriginate":"True","allowAS":2,"allowASOverride":"Enable","fabricASN":20,"peerASN":65535,"ipv4ListenRangePrefixes":["10.1.1.0/28"],"ipv4NeighborAddress":[{"address":"10.1.1.0","operationalState":"Disabled"}]},"administrativeState":"Enabled","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1230' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric internalnetwork delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --l3domain --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/internalNetworks/nfa-tool-ts-cli-internalnetwork061423?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8b5c6d3-127a-498a-9ceb-0e936f5f6700*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:03 GMT + etag: + - '"b208f6e3-0000-0100-0000-64892a270000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8b5c6d3-127a-498a-9ceb-0e936f5f6700*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90?api-version=2023-02-01-preview + mise-correlation-id: + - ecf49052-14f0-4b4c-a83e-54ec51a9a9ec + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric internalnetwork delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --l3domain --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8b5c6d3-127a-498a-9ceb-0e936f5f6700*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8b5c6d3-127a-498a-9ceb-0e936f5f6700*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90","name":"e8b5c6d3-127a-498a-9ceb-0e936f5f6700*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/internalNetworks/nfa-tool-ts-cli-internalnetwork061423","status":"Deleting","startTime":"2023-06-14T02:47:03.2108319Z"}' + headers: + cache-control: + - no-cache + content-length: + - '676' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:04 GMT + etag: + - '"9803995c-0000-0100-0000-64892a270000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric internalnetwork delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --l3domain --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8b5c6d3-127a-498a-9ceb-0e936f5f6700*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8b5c6d3-127a-498a-9ceb-0e936f5f6700*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90","name":"e8b5c6d3-127a-498a-9ceb-0e936f5f6700*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/internalNetworks/nfa-tool-ts-cli-internalnetwork061423","status":"Succeeded","startTime":"2023-06-14T02:47:03.2108319Z","endTime":"2023-06-14T02:47:05.731778Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '735' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:34 GMT + etag: + - '"9803a25c-0000-0100-0000-64892a290000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric internalnetwork delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --l3domain --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8b5c6d3-127a-498a-9ceb-0e936f5f6700*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8b5c6d3-127a-498a-9ceb-0e936f5f6700*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90","name":"e8b5c6d3-127a-498a-9ceb-0e936f5f6700*EC12B68F1844CC1BBFABE56D24D2F348B87929F1FD252DB0D540E6E3E9B69D90","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/internalNetworks/nfa-tool-ts-cli-internalnetwork061423","status":"Succeeded","startTime":"2023-06-14T02:47:03.2108319Z","endTime":"2023-06-14T02:47:05.731778Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '735' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:34 GMT + etag: + - '"9803a25c-0000-0100-0000-64892a290000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_ipcommunity_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_ipcommunity_scenario1.yaml new file mode 100644 index 00000000000..1ce2ad5cf3c --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_ipcommunity_scenario1.yaml @@ -0,0 +1,385 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipcommunity create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --location --resource-name --action --well-known-communities + --community-members + User-Agent: + - AZURECLI/2.49.0 azsdk-python-azure-mgmt-resource/22.0.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: "{\"value\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\",\"name\":\"eastus\",\"displayName\":\"East + US\",\"regionalDisplayName\":\"(US) East US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"westus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\",\"name\":\"eastus2\",\"displayName\":\"East + US 2\",\"regionalDisplayName\":\"(US) East US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"centralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\",\"name\":\"southcentralus\",\"displayName\":\"South + Central US\",\"regionalDisplayName\":\"(US) South Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"northcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\",\"name\":\"westus2\",\"displayName\":\"West + US 2\",\"regionalDisplayName\":\"(US) West US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-119.852\",\"latitude\":\"47.233\",\"physicalLocation\":\"Washington\",\"pairedRegion\":[{\"name\":\"westcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-112.074036\",\"latitude\":\"33.448376\",\"physicalLocation\":\"Phoenix\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\",\"name\":\"australiaeast\",\"displayName\":\"Australia + East\",\"regionalDisplayName\":\"(Asia Pacific) Australia East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"151.2094\",\"latitude\":\"-33.86\",\"physicalLocation\":\"New + South Wales\",\"pairedRegion\":[{\"name\":\"australiasoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\",\"name\":\"southeastasia\",\"displayName\":\"Southeast + Asia\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"103.833\",\"latitude\":\"1.283\",\"physicalLocation\":\"Singapore\",\"pairedRegion\":[{\"name\":\"eastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\",\"name\":\"northeurope\",\"displayName\":\"North + Europe\",\"regionalDisplayName\":\"(Europe) North Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-6.2597\",\"latitude\":\"53.3478\",\"physicalLocation\":\"Ireland\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\",\"name\":\"uksouth\",\"displayName\":\"UK + South\",\"regionalDisplayName\":\"(Europe) UK South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-0.799\",\"latitude\":\"50.941\",\"physicalLocation\":\"London\",\"pairedRegion\":[{\"name\":\"ukwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\",\"name\":\"westeurope\",\"displayName\":\"West + Europe\",\"regionalDisplayName\":\"(Europe) West Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"4.9\",\"latitude\":\"52.3667\",\"physicalLocation\":\"Netherlands\",\"pairedRegion\":[{\"name\":\"northeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\",\"name\":\"centralus\",\"displayName\":\"Central + US\",\"regionalDisplayName\":\"(US) Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"Iowa\",\"pairedRegion\":[{\"name\":\"eastus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\",\"name\":\"southafricanorth\",\"displayName\":\"South + Africa North\",\"regionalDisplayName\":\"(Africa) South Africa North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Africa\",\"longitude\":\"28.21837\",\"latitude\":\"-25.73134\",\"physicalLocation\":\"Johannesburg\",\"pairedRegion\":[{\"name\":\"southafricawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\",\"name\":\"centralindia\",\"displayName\":\"Central + India\",\"regionalDisplayName\":\"(Asia Pacific) Central India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"73.9197\",\"latitude\":\"18.5822\",\"physicalLocation\":\"Pune\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\",\"name\":\"eastasia\",\"displayName\":\"East + Asia\",\"regionalDisplayName\":\"(Asia Pacific) East Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"114.188\",\"latitude\":\"22.267\",\"physicalLocation\":\"Hong + Kong\",\"pairedRegion\":[{\"name\":\"southeastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\",\"name\":\"japaneast\",\"displayName\":\"Japan + East\",\"regionalDisplayName\":\"(Asia Pacific) Japan East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"139.77\",\"latitude\":\"35.68\",\"physicalLocation\":\"Tokyo, + Saitama\",\"pairedRegion\":[{\"name\":\"japanwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\",\"name\":\"koreacentral\",\"displayName\":\"Korea + Central\",\"regionalDisplayName\":\"(Asia Pacific) Korea Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"126.978\",\"latitude\":\"37.5665\",\"physicalLocation\":\"Seoul\",\"pairedRegion\":[{\"name\":\"koreasouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\",\"name\":\"canadacentral\",\"displayName\":\"Canada + Central\",\"regionalDisplayName\":\"(Canada) Canada Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Canada\",\"longitude\":\"-79.383\",\"latitude\":\"43.653\",\"physicalLocation\":\"Toronto\",\"pairedRegion\":[{\"name\":\"canadaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\",\"name\":\"francecentral\",\"displayName\":\"France + Central\",\"regionalDisplayName\":\"(Europe) France Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.373\",\"latitude\":\"46.3772\",\"physicalLocation\":\"Paris\",\"pairedRegion\":[{\"name\":\"francesouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\",\"name\":\"germanywestcentral\",\"displayName\":\"Germany + West Central\",\"regionalDisplayName\":\"(Europe) Germany West Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.682127\",\"latitude\":\"50.110924\",\"physicalLocation\":\"Frankfurt\",\"pairedRegion\":[{\"name\":\"germanynorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\",\"name\":\"norwayeast\",\"displayName\":\"Norway + East\",\"regionalDisplayName\":\"(Europe) Norway East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"10.752245\",\"latitude\":\"59.913868\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwaywest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/polandcentral\",\"name\":\"polandcentral\",\"displayName\":\"Poland + Central\",\"regionalDisplayName\":\"(Europe) Poland Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"21.01666\",\"latitude\":\"52.23334\",\"physicalLocation\":\"Warsaw\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\",\"name\":\"switzerlandnorth\",\"displayName\":\"Switzerland + North\",\"regionalDisplayName\":\"(Europe) Switzerland North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.564572\",\"latitude\":\"47.451542\",\"physicalLocation\":\"Zurich\",\"pairedRegion\":[{\"name\":\"switzerlandwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\",\"name\":\"uaenorth\",\"displayName\":\"UAE + North\",\"regionalDisplayName\":\"(Middle East) UAE North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"55.316666\",\"latitude\":\"25.266666\",\"physicalLocation\":\"Dubai\",\"pairedRegion\":[{\"name\":\"uaecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\",\"name\":\"brazilsouth\",\"displayName\":\"Brazil + South\",\"regionalDisplayName\":\"(South America) Brazil South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"South + America\",\"longitude\":\"-46.633\",\"latitude\":\"-23.55\",\"physicalLocation\":\"Sao + Paulo State\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\",\"name\":\"centraluseuap\",\"displayName\":\"Central + US EUAP\",\"regionalDisplayName\":\"(US) Central US EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"eastus2euap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\",\"name\":\"eastus2euap\",\"displayName\":\"East + US 2 EUAP\",\"regionalDisplayName\":\"(US) East US 2 EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"centraluseuap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Middle East) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage\",\"name\":\"centralusstage\",\"displayName\":\"Central + US (Stage)\",\"regionalDisplayName\":\"(US) Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage\",\"name\":\"eastusstage\",\"displayName\":\"East + US (Stage)\",\"regionalDisplayName\":\"(US) East US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage\",\"name\":\"eastus2stage\",\"displayName\":\"East + US 2 (Stage)\",\"regionalDisplayName\":\"(US) East US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage\",\"name\":\"northcentralusstage\",\"displayName\":\"North + Central US (Stage)\",\"regionalDisplayName\":\"(US) North Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage\",\"name\":\"southcentralusstage\",\"displayName\":\"South + Central US (Stage)\",\"regionalDisplayName\":\"(US) South Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage\",\"name\":\"westusstage\",\"displayName\":\"West + US (Stage)\",\"regionalDisplayName\":\"(US) West US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage\",\"name\":\"westus2stage\",\"displayName\":\"West + US 2 (Stage)\",\"regionalDisplayName\":\"(US) West US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia\",\"name\":\"asia\",\"displayName\":\"Asia\",\"regionalDisplayName\":\"Asia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific\",\"name\":\"asiapacific\",\"displayName\":\"Asia + Pacific\",\"regionalDisplayName\":\"Asia Pacific\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia\",\"name\":\"australia\",\"displayName\":\"Australia\",\"regionalDisplayName\":\"Australia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil\",\"name\":\"brazil\",\"displayName\":\"Brazil\",\"regionalDisplayName\":\"Brazil\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada\",\"name\":\"canada\",\"displayName\":\"Canada\",\"regionalDisplayName\":\"Canada\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe\",\"name\":\"europe\",\"displayName\":\"Europe\",\"regionalDisplayName\":\"Europe\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global\",\"name\":\"global\",\"displayName\":\"Global\",\"regionalDisplayName\":\"Global\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india\",\"name\":\"india\",\"displayName\":\"India\",\"regionalDisplayName\":\"India\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan\",\"name\":\"japan\",\"displayName\":\"Japan\",\"regionalDisplayName\":\"Japan\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/singapore\",\"name\":\"singapore\",\"displayName\":\"Singapore\",\"regionalDisplayName\":\"Singapore\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk\",\"name\":\"uk\",\"displayName\":\"United + Kingdom\",\"regionalDisplayName\":\"United Kingdom\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates\",\"name\":\"unitedstates\",\"displayName\":\"United + States\",\"regionalDisplayName\":\"United States\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage\",\"name\":\"eastasiastage\",\"displayName\":\"East + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) East Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage\",\"name\":\"southeastasiastage\",\"displayName\":\"Southeast + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilus\",\"name\":\"brazilus\",\"displayName\":\"Brazil + US\",\"regionalDisplayName\":\"(South America) Brazil US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"0\",\"latitude\":\"0\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"brazilsoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\",\"name\":\"northcentralus\",\"displayName\":\"North + Central US\",\"regionalDisplayName\":\"(US) North Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-87.6278\",\"latitude\":\"41.8819\",\"physicalLocation\":\"Illinois\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\",\"name\":\"westus\",\"displayName\":\"West + US\",\"regionalDisplayName\":\"(US) West US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-122.417\",\"latitude\":\"37.783\",\"physicalLocation\":\"California\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\",\"name\":\"jioindiawest\",\"displayName\":\"Jio + India West\",\"regionalDisplayName\":\"(Asia Pacific) Jio India West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"70.05773\",\"latitude\":\"22.470701\",\"physicalLocation\":\"Jamnagar\",\"pairedRegion\":[{\"name\":\"jioindiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\",\"name\":\"westcentralus\",\"displayName\":\"West + Central US\",\"regionalDisplayName\":\"(US) West Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-110.234\",\"latitude\":\"40.89\",\"physicalLocation\":\"Wyoming\",\"pairedRegion\":[{\"name\":\"westus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\",\"name\":\"southafricawest\",\"displayName\":\"South + Africa West\",\"regionalDisplayName\":\"(Africa) South Africa West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Africa\",\"longitude\":\"18.843266\",\"latitude\":\"-34.075691\",\"physicalLocation\":\"Cape + Town\",\"pairedRegion\":[{\"name\":\"southafricanorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\",\"name\":\"australiacentral\",\"displayName\":\"Australia + Central\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\",\"name\":\"australiacentral2\",\"displayName\":\"Australia + Central 2\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\",\"name\":\"australiasoutheast\",\"displayName\":\"Australia + Southeast\",\"regionalDisplayName\":\"(Asia Pacific) Australia Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"144.9631\",\"latitude\":\"-37.8136\",\"physicalLocation\":\"Victoria\",\"pairedRegion\":[{\"name\":\"australiaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\",\"name\":\"japanwest\",\"displayName\":\"Japan + West\",\"regionalDisplayName\":\"(Asia Pacific) Japan West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"135.5022\",\"latitude\":\"34.6939\",\"physicalLocation\":\"Osaka\",\"pairedRegion\":[{\"name\":\"japaneast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\",\"name\":\"jioindiacentral\",\"displayName\":\"Jio + India Central\",\"regionalDisplayName\":\"(Asia Pacific) Jio India Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"79.08886\",\"latitude\":\"21.146633\",\"physicalLocation\":\"Nagpur\",\"pairedRegion\":[{\"name\":\"jioindiawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\",\"name\":\"koreasouth\",\"displayName\":\"Korea + South\",\"regionalDisplayName\":\"(Asia Pacific) Korea South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"129.0756\",\"latitude\":\"35.1796\",\"physicalLocation\":\"Busan\",\"pairedRegion\":[{\"name\":\"koreacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\",\"name\":\"southindia\",\"displayName\":\"South + India\",\"regionalDisplayName\":\"(Asia Pacific) South India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"80.1636\",\"latitude\":\"12.9822\",\"physicalLocation\":\"Chennai\",\"pairedRegion\":[{\"name\":\"centralindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia\",\"name\":\"westindia\",\"displayName\":\"West + India\",\"regionalDisplayName\":\"(Asia Pacific) West India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"72.868\",\"latitude\":\"19.088\",\"physicalLocation\":\"Mumbai\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\",\"name\":\"canadaeast\",\"displayName\":\"Canada + East\",\"regionalDisplayName\":\"(Canada) Canada East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Canada\",\"longitude\":\"-71.217\",\"latitude\":\"46.817\",\"physicalLocation\":\"Quebec\",\"pairedRegion\":[{\"name\":\"canadacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\",\"name\":\"francesouth\",\"displayName\":\"France + South\",\"regionalDisplayName\":\"(Europe) France South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.1972\",\"latitude\":\"43.8345\",\"physicalLocation\":\"Marseille\",\"pairedRegion\":[{\"name\":\"francecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\",\"name\":\"germanynorth\",\"displayName\":\"Germany + North\",\"regionalDisplayName\":\"(Europe) Germany North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.806422\",\"latitude\":\"53.073635\",\"physicalLocation\":\"Berlin\",\"pairedRegion\":[{\"name\":\"germanywestcentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\",\"name\":\"norwaywest\",\"displayName\":\"Norway + West\",\"regionalDisplayName\":\"(Europe) Norway West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"5.733107\",\"latitude\":\"58.969975\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwayeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\",\"name\":\"switzerlandwest\",\"displayName\":\"Switzerland + West\",\"regionalDisplayName\":\"(Europe) Switzerland West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"6.143158\",\"latitude\":\"46.204391\",\"physicalLocation\":\"Geneva\",\"pairedRegion\":[{\"name\":\"switzerlandnorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\",\"name\":\"ukwest\",\"displayName\":\"UK + West\",\"regionalDisplayName\":\"(Europe) UK West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"-3.084\",\"latitude\":\"53.427\",\"physicalLocation\":\"Cardiff\",\"pairedRegion\":[{\"name\":\"uksouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\",\"name\":\"uaecentral\",\"displayName\":\"UAE + Central\",\"regionalDisplayName\":\"(Middle East) UAE Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"54.366669\",\"latitude\":\"24.466667\",\"physicalLocation\":\"Abu + Dhabi\",\"pairedRegion\":[{\"name\":\"uaenorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\",\"name\":\"brazilsoutheast\",\"displayName\":\"Brazil + Southeast\",\"regionalDisplayName\":\"(South America) Brazil Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"-43.2075\",\"latitude\":\"-22.90278\",\"physicalLocation\":\"Rio\",\"pairedRegion\":[{\"name\":\"brazilsouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '31169' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:08 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"action": "Deny", "communityMembers": + ["101:200", "101:201"], "wellKnownCommunities": ["LocalAS", "GShut"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipcommunity create + Connection: + - keep-alive + Content-Length: + - '146' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --location --resource-name --action --well-known-communities + --community-members + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity061423","name":"nfa-tool-ts-cli-ipcommunity061423","type":"microsoft.managednetworkfabric/ipcommunities","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:13.7467102Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:13.7467102Z"},"properties":{"action":"Deny","wellKnownCommunities":["LocalAS","GShut"],"communityMembers":["101:200","101:201"],"provisioningState":"Succeeded","annotation":null}}' + headers: + cache-control: + - no-cache + content-length: + - '724' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:15 GMT + etag: + - '"190317e3-0000-0100-0000-648923a20000"' + expires: + - '-1' + mise-correlation-id: + - 6cddb279-1449-48a1-9386-b2d55f63b0ff + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipcommunity show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity061423","name":"nfa-tool-ts-cli-ipcommunity061423","type":"microsoft.managednetworkfabric/ipcommunities","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:13.7467102Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:13.7467102Z"},"properties":{"action":"Deny","wellKnownCommunities":["LocalAS","GShut"],"communityMembers":["101:200","101:201"],"provisioningState":"Succeeded","annotation":null}}' + headers: + cache-control: + - no-cache + content-length: + - '724' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:19 GMT + etag: + - '"190317e3-0000-0100-0000-648923a20000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipcommunity list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/ipCommunities?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipCommunities/ipcommunityinternalexport","name":"ipcommunityinternalexport","type":"microsoft.managednetworkfabric/ipcommunities","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T17:40:36.8275492Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T17:42:20.4575383Z"},"properties":{"action":"Permit","wellKnownCommunities":["Internet","LocalAS","GShut"],"communityMembers":["65048:20050"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipCommunities/ipcommunityinternalimport","name":"ipcommunityinternalimport","type":"microsoft.managednetworkfabric/ipcommunities","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T17:43:37.3695554Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T17:53:11.8688461Z"},"properties":{"action":"Permit","wellKnownCommunities":["Internet","LocalAS","GShut"],"communityMembers":["65048:20030"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223","name":"nfa-tool-ts-cli-ipcommunity1-061223","type":"microsoft.managednetworkfabric/ipcommunities","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-12T07:12:15.2138953Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T07:41:36.932096Z"},"properties":{"action":"Deny","wellKnownCommunities":["LocalAS","GShut"],"communityMembers":["100:200","101:201"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity061423","name":"nfa-tool-ts-cli-ipcommunity061423","type":"microsoft.managednetworkfabric/ipcommunities","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:13.7467102Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:13.7467102Z"},"properties":{"action":"Deny","wellKnownCommunities":["LocalAS","GShut"],"communityMembers":["101:200","101:201"],"provisioningState":"Succeeded","annotation":null}}]}' + headers: + cache-control: + - no-cache + content-length: + - '2858' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:19 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 5c70741b-ddd4-4dcd-9064-ecaa1fd2eaab + - 4b3b60d0-25e2-48d2-b43b-10f5301a0086 + - 42ecb827-aa4b-4384-a4a9-327900015ab1 + - d03418ca-97fd-48c4-838a-5b5e9f44e35b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipcommunity list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity061423","name":"nfa-tool-ts-cli-ipcommunity061423","type":"microsoft.managednetworkfabric/ipcommunities","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:13.7467102Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:13.7467102Z"},"properties":{"action":"Deny","wellKnownCommunities":["LocalAS","GShut"],"communityMembers":["101:200","101:201"],"provisioningState":"Succeeded","annotation":null}}]}' + headers: + cache-control: + - no-cache + content-length: + - '736' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - d44cf8ed-8265-4302-8c70-955c3845dd17 + - 9909b4f6-38c8-477d-8b72-f96d09f6f95c + - a21fb145-c51b-472e-92be-f5926ad1b6cc + - c39c9395-9ef4-4c17-8232-0c44a1a2ddf0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipcommunity delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity061423?api-version=2023-02-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 14 Jun 2023 02:19:26 GMT + expires: + - '-1' + mise-correlation-id: + - 100f6b5e-550b-4c8c-9c42-4810cfa3ccc5 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_ipextendedcommunity_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_ipextendedcommunity_scenario1.yaml new file mode 100644 index 00000000000..0ebf4b9ff22 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_ipextendedcommunity_scenario1.yaml @@ -0,0 +1,383 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipextendedcommunity create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --location --resource-name --action --route-targets + User-Agent: + - AZURECLI/2.49.0 azsdk-python-azure-mgmt-resource/22.0.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: "{\"value\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\",\"name\":\"eastus\",\"displayName\":\"East + US\",\"regionalDisplayName\":\"(US) East US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"westus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\",\"name\":\"eastus2\",\"displayName\":\"East + US 2\",\"regionalDisplayName\":\"(US) East US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"centralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\",\"name\":\"southcentralus\",\"displayName\":\"South + Central US\",\"regionalDisplayName\":\"(US) South Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"northcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\",\"name\":\"westus2\",\"displayName\":\"West + US 2\",\"regionalDisplayName\":\"(US) West US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-119.852\",\"latitude\":\"47.233\",\"physicalLocation\":\"Washington\",\"pairedRegion\":[{\"name\":\"westcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-112.074036\",\"latitude\":\"33.448376\",\"physicalLocation\":\"Phoenix\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\",\"name\":\"australiaeast\",\"displayName\":\"Australia + East\",\"regionalDisplayName\":\"(Asia Pacific) Australia East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"151.2094\",\"latitude\":\"-33.86\",\"physicalLocation\":\"New + South Wales\",\"pairedRegion\":[{\"name\":\"australiasoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\",\"name\":\"southeastasia\",\"displayName\":\"Southeast + Asia\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"103.833\",\"latitude\":\"1.283\",\"physicalLocation\":\"Singapore\",\"pairedRegion\":[{\"name\":\"eastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\",\"name\":\"northeurope\",\"displayName\":\"North + Europe\",\"regionalDisplayName\":\"(Europe) North Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-6.2597\",\"latitude\":\"53.3478\",\"physicalLocation\":\"Ireland\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\",\"name\":\"uksouth\",\"displayName\":\"UK + South\",\"regionalDisplayName\":\"(Europe) UK South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-0.799\",\"latitude\":\"50.941\",\"physicalLocation\":\"London\",\"pairedRegion\":[{\"name\":\"ukwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\",\"name\":\"westeurope\",\"displayName\":\"West + Europe\",\"regionalDisplayName\":\"(Europe) West Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"4.9\",\"latitude\":\"52.3667\",\"physicalLocation\":\"Netherlands\",\"pairedRegion\":[{\"name\":\"northeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\",\"name\":\"centralus\",\"displayName\":\"Central + US\",\"regionalDisplayName\":\"(US) Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"Iowa\",\"pairedRegion\":[{\"name\":\"eastus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\",\"name\":\"southafricanorth\",\"displayName\":\"South + Africa North\",\"regionalDisplayName\":\"(Africa) South Africa North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Africa\",\"longitude\":\"28.21837\",\"latitude\":\"-25.73134\",\"physicalLocation\":\"Johannesburg\",\"pairedRegion\":[{\"name\":\"southafricawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\",\"name\":\"centralindia\",\"displayName\":\"Central + India\",\"regionalDisplayName\":\"(Asia Pacific) Central India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"73.9197\",\"latitude\":\"18.5822\",\"physicalLocation\":\"Pune\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\",\"name\":\"eastasia\",\"displayName\":\"East + Asia\",\"regionalDisplayName\":\"(Asia Pacific) East Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"114.188\",\"latitude\":\"22.267\",\"physicalLocation\":\"Hong + Kong\",\"pairedRegion\":[{\"name\":\"southeastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\",\"name\":\"japaneast\",\"displayName\":\"Japan + East\",\"regionalDisplayName\":\"(Asia Pacific) Japan East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"139.77\",\"latitude\":\"35.68\",\"physicalLocation\":\"Tokyo, + Saitama\",\"pairedRegion\":[{\"name\":\"japanwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\",\"name\":\"koreacentral\",\"displayName\":\"Korea + Central\",\"regionalDisplayName\":\"(Asia Pacific) Korea Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"126.978\",\"latitude\":\"37.5665\",\"physicalLocation\":\"Seoul\",\"pairedRegion\":[{\"name\":\"koreasouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\",\"name\":\"canadacentral\",\"displayName\":\"Canada + Central\",\"regionalDisplayName\":\"(Canada) Canada Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Canada\",\"longitude\":\"-79.383\",\"latitude\":\"43.653\",\"physicalLocation\":\"Toronto\",\"pairedRegion\":[{\"name\":\"canadaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\",\"name\":\"francecentral\",\"displayName\":\"France + Central\",\"regionalDisplayName\":\"(Europe) France Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.373\",\"latitude\":\"46.3772\",\"physicalLocation\":\"Paris\",\"pairedRegion\":[{\"name\":\"francesouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\",\"name\":\"germanywestcentral\",\"displayName\":\"Germany + West Central\",\"regionalDisplayName\":\"(Europe) Germany West Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.682127\",\"latitude\":\"50.110924\",\"physicalLocation\":\"Frankfurt\",\"pairedRegion\":[{\"name\":\"germanynorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\",\"name\":\"norwayeast\",\"displayName\":\"Norway + East\",\"regionalDisplayName\":\"(Europe) Norway East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"10.752245\",\"latitude\":\"59.913868\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwaywest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/polandcentral\",\"name\":\"polandcentral\",\"displayName\":\"Poland + Central\",\"regionalDisplayName\":\"(Europe) Poland Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"21.01666\",\"latitude\":\"52.23334\",\"physicalLocation\":\"Warsaw\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\",\"name\":\"switzerlandnorth\",\"displayName\":\"Switzerland + North\",\"regionalDisplayName\":\"(Europe) Switzerland North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.564572\",\"latitude\":\"47.451542\",\"physicalLocation\":\"Zurich\",\"pairedRegion\":[{\"name\":\"switzerlandwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\",\"name\":\"uaenorth\",\"displayName\":\"UAE + North\",\"regionalDisplayName\":\"(Middle East) UAE North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"55.316666\",\"latitude\":\"25.266666\",\"physicalLocation\":\"Dubai\",\"pairedRegion\":[{\"name\":\"uaecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\",\"name\":\"brazilsouth\",\"displayName\":\"Brazil + South\",\"regionalDisplayName\":\"(South America) Brazil South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"South + America\",\"longitude\":\"-46.633\",\"latitude\":\"-23.55\",\"physicalLocation\":\"Sao + Paulo State\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\",\"name\":\"centraluseuap\",\"displayName\":\"Central + US EUAP\",\"regionalDisplayName\":\"(US) Central US EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"eastus2euap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\",\"name\":\"eastus2euap\",\"displayName\":\"East + US 2 EUAP\",\"regionalDisplayName\":\"(US) East US 2 EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"centraluseuap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Middle East) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage\",\"name\":\"centralusstage\",\"displayName\":\"Central + US (Stage)\",\"regionalDisplayName\":\"(US) Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage\",\"name\":\"eastusstage\",\"displayName\":\"East + US (Stage)\",\"regionalDisplayName\":\"(US) East US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage\",\"name\":\"eastus2stage\",\"displayName\":\"East + US 2 (Stage)\",\"regionalDisplayName\":\"(US) East US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage\",\"name\":\"northcentralusstage\",\"displayName\":\"North + Central US (Stage)\",\"regionalDisplayName\":\"(US) North Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage\",\"name\":\"southcentralusstage\",\"displayName\":\"South + Central US (Stage)\",\"regionalDisplayName\":\"(US) South Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage\",\"name\":\"westusstage\",\"displayName\":\"West + US (Stage)\",\"regionalDisplayName\":\"(US) West US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage\",\"name\":\"westus2stage\",\"displayName\":\"West + US 2 (Stage)\",\"regionalDisplayName\":\"(US) West US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia\",\"name\":\"asia\",\"displayName\":\"Asia\",\"regionalDisplayName\":\"Asia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific\",\"name\":\"asiapacific\",\"displayName\":\"Asia + Pacific\",\"regionalDisplayName\":\"Asia Pacific\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia\",\"name\":\"australia\",\"displayName\":\"Australia\",\"regionalDisplayName\":\"Australia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil\",\"name\":\"brazil\",\"displayName\":\"Brazil\",\"regionalDisplayName\":\"Brazil\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada\",\"name\":\"canada\",\"displayName\":\"Canada\",\"regionalDisplayName\":\"Canada\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe\",\"name\":\"europe\",\"displayName\":\"Europe\",\"regionalDisplayName\":\"Europe\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global\",\"name\":\"global\",\"displayName\":\"Global\",\"regionalDisplayName\":\"Global\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india\",\"name\":\"india\",\"displayName\":\"India\",\"regionalDisplayName\":\"India\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan\",\"name\":\"japan\",\"displayName\":\"Japan\",\"regionalDisplayName\":\"Japan\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/singapore\",\"name\":\"singapore\",\"displayName\":\"Singapore\",\"regionalDisplayName\":\"Singapore\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk\",\"name\":\"uk\",\"displayName\":\"United + Kingdom\",\"regionalDisplayName\":\"United Kingdom\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates\",\"name\":\"unitedstates\",\"displayName\":\"United + States\",\"regionalDisplayName\":\"United States\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage\",\"name\":\"eastasiastage\",\"displayName\":\"East + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) East Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage\",\"name\":\"southeastasiastage\",\"displayName\":\"Southeast + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilus\",\"name\":\"brazilus\",\"displayName\":\"Brazil + US\",\"regionalDisplayName\":\"(South America) Brazil US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"0\",\"latitude\":\"0\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"brazilsoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\",\"name\":\"northcentralus\",\"displayName\":\"North + Central US\",\"regionalDisplayName\":\"(US) North Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-87.6278\",\"latitude\":\"41.8819\",\"physicalLocation\":\"Illinois\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\",\"name\":\"westus\",\"displayName\":\"West + US\",\"regionalDisplayName\":\"(US) West US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-122.417\",\"latitude\":\"37.783\",\"physicalLocation\":\"California\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\",\"name\":\"jioindiawest\",\"displayName\":\"Jio + India West\",\"regionalDisplayName\":\"(Asia Pacific) Jio India West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"70.05773\",\"latitude\":\"22.470701\",\"physicalLocation\":\"Jamnagar\",\"pairedRegion\":[{\"name\":\"jioindiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\",\"name\":\"westcentralus\",\"displayName\":\"West + Central US\",\"regionalDisplayName\":\"(US) West Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-110.234\",\"latitude\":\"40.89\",\"physicalLocation\":\"Wyoming\",\"pairedRegion\":[{\"name\":\"westus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\",\"name\":\"southafricawest\",\"displayName\":\"South + Africa West\",\"regionalDisplayName\":\"(Africa) South Africa West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Africa\",\"longitude\":\"18.843266\",\"latitude\":\"-34.075691\",\"physicalLocation\":\"Cape + Town\",\"pairedRegion\":[{\"name\":\"southafricanorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\",\"name\":\"australiacentral\",\"displayName\":\"Australia + Central\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\",\"name\":\"australiacentral2\",\"displayName\":\"Australia + Central 2\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\",\"name\":\"australiasoutheast\",\"displayName\":\"Australia + Southeast\",\"regionalDisplayName\":\"(Asia Pacific) Australia Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"144.9631\",\"latitude\":\"-37.8136\",\"physicalLocation\":\"Victoria\",\"pairedRegion\":[{\"name\":\"australiaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\",\"name\":\"japanwest\",\"displayName\":\"Japan + West\",\"regionalDisplayName\":\"(Asia Pacific) Japan West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"135.5022\",\"latitude\":\"34.6939\",\"physicalLocation\":\"Osaka\",\"pairedRegion\":[{\"name\":\"japaneast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\",\"name\":\"jioindiacentral\",\"displayName\":\"Jio + India Central\",\"regionalDisplayName\":\"(Asia Pacific) Jio India Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"79.08886\",\"latitude\":\"21.146633\",\"physicalLocation\":\"Nagpur\",\"pairedRegion\":[{\"name\":\"jioindiawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\",\"name\":\"koreasouth\",\"displayName\":\"Korea + South\",\"regionalDisplayName\":\"(Asia Pacific) Korea South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"129.0756\",\"latitude\":\"35.1796\",\"physicalLocation\":\"Busan\",\"pairedRegion\":[{\"name\":\"koreacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\",\"name\":\"southindia\",\"displayName\":\"South + India\",\"regionalDisplayName\":\"(Asia Pacific) South India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"80.1636\",\"latitude\":\"12.9822\",\"physicalLocation\":\"Chennai\",\"pairedRegion\":[{\"name\":\"centralindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia\",\"name\":\"westindia\",\"displayName\":\"West + India\",\"regionalDisplayName\":\"(Asia Pacific) West India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"72.868\",\"latitude\":\"19.088\",\"physicalLocation\":\"Mumbai\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\",\"name\":\"canadaeast\",\"displayName\":\"Canada + East\",\"regionalDisplayName\":\"(Canada) Canada East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Canada\",\"longitude\":\"-71.217\",\"latitude\":\"46.817\",\"physicalLocation\":\"Quebec\",\"pairedRegion\":[{\"name\":\"canadacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\",\"name\":\"francesouth\",\"displayName\":\"France + South\",\"regionalDisplayName\":\"(Europe) France South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.1972\",\"latitude\":\"43.8345\",\"physicalLocation\":\"Marseille\",\"pairedRegion\":[{\"name\":\"francecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\",\"name\":\"germanynorth\",\"displayName\":\"Germany + North\",\"regionalDisplayName\":\"(Europe) Germany North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.806422\",\"latitude\":\"53.073635\",\"physicalLocation\":\"Berlin\",\"pairedRegion\":[{\"name\":\"germanywestcentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\",\"name\":\"norwaywest\",\"displayName\":\"Norway + West\",\"regionalDisplayName\":\"(Europe) Norway West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"5.733107\",\"latitude\":\"58.969975\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwayeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\",\"name\":\"switzerlandwest\",\"displayName\":\"Switzerland + West\",\"regionalDisplayName\":\"(Europe) Switzerland West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"6.143158\",\"latitude\":\"46.204391\",\"physicalLocation\":\"Geneva\",\"pairedRegion\":[{\"name\":\"switzerlandnorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\",\"name\":\"ukwest\",\"displayName\":\"UK + West\",\"regionalDisplayName\":\"(Europe) UK West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"-3.084\",\"latitude\":\"53.427\",\"physicalLocation\":\"Cardiff\",\"pairedRegion\":[{\"name\":\"uksouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\",\"name\":\"uaecentral\",\"displayName\":\"UAE + Central\",\"regionalDisplayName\":\"(Middle East) UAE Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"54.366669\",\"latitude\":\"24.466667\",\"physicalLocation\":\"Abu + Dhabi\",\"pairedRegion\":[{\"name\":\"uaenorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\",\"name\":\"brazilsoutheast\",\"displayName\":\"Brazil + Southeast\",\"regionalDisplayName\":\"(South America) Brazil Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"-43.2075\",\"latitude\":\"-22.90278\",\"physicalLocation\":\"Rio\",\"pairedRegion\":[{\"name\":\"brazilsouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '31169' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"action": "Deny", "routeTargets": + ["1024:219", "1001:200"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipextendedcommunity create + Connection: + - keep-alive + Content-Length: + - '98' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --location --resource-name --action --route-targets + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity061423","name":"nfa-tool-ts-cli-ipextcommunity061423","type":"microsoft.managednetworkfabric/ipextendedcommunities","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:16.1299414Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:16.1299414Z"},"properties":{"action":"Deny","routeTargets":["1024:219","1001:200"],"provisioningState":"Succeeded","annotation":null}}' + headers: + cache-control: + - no-cache + content-length: + - '701' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:18 GMT + etag: + - '"5d037bb9-0000-0100-0000-648923a50000"' + expires: + - '-1' + mise-correlation-id: + - d00f87bc-f58b-4667-a69d-71f295de3521 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipextendedcommunity show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity061423","name":"nfa-tool-ts-cli-ipextcommunity061423","type":"microsoft.managednetworkfabric/ipextendedcommunities","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:16.1299414Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:16.1299414Z"},"properties":{"action":"Deny","routeTargets":["1024:219","1001:200"],"provisioningState":"Succeeded","annotation":null}}' + headers: + cache-control: + - no-cache + content-length: + - '701' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:19 GMT + etag: + - '"5d037bb9-0000-0100-0000-648923a50000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipextendedcommunity list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223","name":"nfa-tool-ts-cli-ipextcommunity1-061223","type":"microsoft.managednetworkfabric/ipextendedcommunities","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-12T07:12:11.9881136Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:19:19.8195482Z"},"properties":{"action":"Deny","routeTargets":["1024:219","1001:200"],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity061423","name":"nfa-tool-ts-cli-ipextcommunity061423","type":"microsoft.managednetworkfabric/ipextendedcommunities","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:16.1299414Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:16.1299414Z"},"properties":{"action":"Deny","routeTargets":["1024:219","1001:200"],"provisioningState":"Succeeded","annotation":null}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1419' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - f54e41ea-97fb-410e-95b6-62a60a825e89 + - 677b65cd-6196-42da-b385-0117263dd21b + - 50c3c554-3bff-448a-934c-48073e2ec24a + - 686864d1-39cb-4c77-b8bb-b1c3d8ff0933 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipextendedcommunity list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity061423","name":"nfa-tool-ts-cli-ipextcommunity061423","type":"microsoft.managednetworkfabric/ipextendedcommunities","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:16.1299414Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:16.1299414Z"},"properties":{"action":"Deny","routeTargets":["1024:219","1001:200"],"provisioningState":"Succeeded","annotation":null}}]}' + headers: + cache-control: + - no-cache + content-length: + - '713' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 167436ba-43ab-42cc-afa9-5c2eb64efe25 + - 90bfc08d-bc27-4717-a465-a41e92724ab7 + - c7b84492-936d-4db1-9355-af7ec0ddc3b4 + - 18a1837d-e899-4d22-9143-ebb7f045856d + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipextendedcommunity delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity061423?api-version=2023-02-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 14 Jun 2023 02:19:24 GMT + expires: + - '-1' + mise-correlation-id: + - 554bff15-ada9-4ad5-8ef2-99bc96a996e2 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_ipprefix_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_ipprefix_scenario1.yaml new file mode 100644 index 00000000000..da9ec61bf6d --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_ipprefix_scenario1.yaml @@ -0,0 +1,384 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipprefix create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --location --resource-name --ip-prefix-rules + User-Agent: + - AZURECLI/2.49.0 azsdk-python-azure-mgmt-resource/22.0.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: "{\"value\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\",\"name\":\"eastus\",\"displayName\":\"East + US\",\"regionalDisplayName\":\"(US) East US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"westus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\",\"name\":\"eastus2\",\"displayName\":\"East + US 2\",\"regionalDisplayName\":\"(US) East US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"centralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\",\"name\":\"southcentralus\",\"displayName\":\"South + Central US\",\"regionalDisplayName\":\"(US) South Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"northcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\",\"name\":\"westus2\",\"displayName\":\"West + US 2\",\"regionalDisplayName\":\"(US) West US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-119.852\",\"latitude\":\"47.233\",\"physicalLocation\":\"Washington\",\"pairedRegion\":[{\"name\":\"westcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-112.074036\",\"latitude\":\"33.448376\",\"physicalLocation\":\"Phoenix\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\",\"name\":\"australiaeast\",\"displayName\":\"Australia + East\",\"regionalDisplayName\":\"(Asia Pacific) Australia East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"151.2094\",\"latitude\":\"-33.86\",\"physicalLocation\":\"New + South Wales\",\"pairedRegion\":[{\"name\":\"australiasoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\",\"name\":\"southeastasia\",\"displayName\":\"Southeast + Asia\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"103.833\",\"latitude\":\"1.283\",\"physicalLocation\":\"Singapore\",\"pairedRegion\":[{\"name\":\"eastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\",\"name\":\"northeurope\",\"displayName\":\"North + Europe\",\"regionalDisplayName\":\"(Europe) North Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-6.2597\",\"latitude\":\"53.3478\",\"physicalLocation\":\"Ireland\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\",\"name\":\"uksouth\",\"displayName\":\"UK + South\",\"regionalDisplayName\":\"(Europe) UK South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-0.799\",\"latitude\":\"50.941\",\"physicalLocation\":\"London\",\"pairedRegion\":[{\"name\":\"ukwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\",\"name\":\"westeurope\",\"displayName\":\"West + Europe\",\"regionalDisplayName\":\"(Europe) West Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"4.9\",\"latitude\":\"52.3667\",\"physicalLocation\":\"Netherlands\",\"pairedRegion\":[{\"name\":\"northeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\",\"name\":\"centralus\",\"displayName\":\"Central + US\",\"regionalDisplayName\":\"(US) Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"Iowa\",\"pairedRegion\":[{\"name\":\"eastus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\",\"name\":\"southafricanorth\",\"displayName\":\"South + Africa North\",\"regionalDisplayName\":\"(Africa) South Africa North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Africa\",\"longitude\":\"28.21837\",\"latitude\":\"-25.73134\",\"physicalLocation\":\"Johannesburg\",\"pairedRegion\":[{\"name\":\"southafricawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\",\"name\":\"centralindia\",\"displayName\":\"Central + India\",\"regionalDisplayName\":\"(Asia Pacific) Central India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"73.9197\",\"latitude\":\"18.5822\",\"physicalLocation\":\"Pune\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\",\"name\":\"eastasia\",\"displayName\":\"East + Asia\",\"regionalDisplayName\":\"(Asia Pacific) East Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"114.188\",\"latitude\":\"22.267\",\"physicalLocation\":\"Hong + Kong\",\"pairedRegion\":[{\"name\":\"southeastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\",\"name\":\"japaneast\",\"displayName\":\"Japan + East\",\"regionalDisplayName\":\"(Asia Pacific) Japan East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"139.77\",\"latitude\":\"35.68\",\"physicalLocation\":\"Tokyo, + Saitama\",\"pairedRegion\":[{\"name\":\"japanwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\",\"name\":\"koreacentral\",\"displayName\":\"Korea + Central\",\"regionalDisplayName\":\"(Asia Pacific) Korea Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"126.978\",\"latitude\":\"37.5665\",\"physicalLocation\":\"Seoul\",\"pairedRegion\":[{\"name\":\"koreasouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\",\"name\":\"canadacentral\",\"displayName\":\"Canada + Central\",\"regionalDisplayName\":\"(Canada) Canada Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Canada\",\"longitude\":\"-79.383\",\"latitude\":\"43.653\",\"physicalLocation\":\"Toronto\",\"pairedRegion\":[{\"name\":\"canadaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\",\"name\":\"francecentral\",\"displayName\":\"France + Central\",\"regionalDisplayName\":\"(Europe) France Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.373\",\"latitude\":\"46.3772\",\"physicalLocation\":\"Paris\",\"pairedRegion\":[{\"name\":\"francesouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\",\"name\":\"germanywestcentral\",\"displayName\":\"Germany + West Central\",\"regionalDisplayName\":\"(Europe) Germany West Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.682127\",\"latitude\":\"50.110924\",\"physicalLocation\":\"Frankfurt\",\"pairedRegion\":[{\"name\":\"germanynorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\",\"name\":\"norwayeast\",\"displayName\":\"Norway + East\",\"regionalDisplayName\":\"(Europe) Norway East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"10.752245\",\"latitude\":\"59.913868\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwaywest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/polandcentral\",\"name\":\"polandcentral\",\"displayName\":\"Poland + Central\",\"regionalDisplayName\":\"(Europe) Poland Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"21.01666\",\"latitude\":\"52.23334\",\"physicalLocation\":\"Warsaw\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\",\"name\":\"switzerlandnorth\",\"displayName\":\"Switzerland + North\",\"regionalDisplayName\":\"(Europe) Switzerland North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.564572\",\"latitude\":\"47.451542\",\"physicalLocation\":\"Zurich\",\"pairedRegion\":[{\"name\":\"switzerlandwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\",\"name\":\"uaenorth\",\"displayName\":\"UAE + North\",\"regionalDisplayName\":\"(Middle East) UAE North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"55.316666\",\"latitude\":\"25.266666\",\"physicalLocation\":\"Dubai\",\"pairedRegion\":[{\"name\":\"uaecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\",\"name\":\"brazilsouth\",\"displayName\":\"Brazil + South\",\"regionalDisplayName\":\"(South America) Brazil South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"South + America\",\"longitude\":\"-46.633\",\"latitude\":\"-23.55\",\"physicalLocation\":\"Sao + Paulo State\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\",\"name\":\"centraluseuap\",\"displayName\":\"Central + US EUAP\",\"regionalDisplayName\":\"(US) Central US EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"eastus2euap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\",\"name\":\"eastus2euap\",\"displayName\":\"East + US 2 EUAP\",\"regionalDisplayName\":\"(US) East US 2 EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"centraluseuap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Middle East) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage\",\"name\":\"centralusstage\",\"displayName\":\"Central + US (Stage)\",\"regionalDisplayName\":\"(US) Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage\",\"name\":\"eastusstage\",\"displayName\":\"East + US (Stage)\",\"regionalDisplayName\":\"(US) East US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage\",\"name\":\"eastus2stage\",\"displayName\":\"East + US 2 (Stage)\",\"regionalDisplayName\":\"(US) East US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage\",\"name\":\"northcentralusstage\",\"displayName\":\"North + Central US (Stage)\",\"regionalDisplayName\":\"(US) North Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage\",\"name\":\"southcentralusstage\",\"displayName\":\"South + Central US (Stage)\",\"regionalDisplayName\":\"(US) South Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage\",\"name\":\"westusstage\",\"displayName\":\"West + US (Stage)\",\"regionalDisplayName\":\"(US) West US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage\",\"name\":\"westus2stage\",\"displayName\":\"West + US 2 (Stage)\",\"regionalDisplayName\":\"(US) West US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia\",\"name\":\"asia\",\"displayName\":\"Asia\",\"regionalDisplayName\":\"Asia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific\",\"name\":\"asiapacific\",\"displayName\":\"Asia + Pacific\",\"regionalDisplayName\":\"Asia Pacific\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia\",\"name\":\"australia\",\"displayName\":\"Australia\",\"regionalDisplayName\":\"Australia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil\",\"name\":\"brazil\",\"displayName\":\"Brazil\",\"regionalDisplayName\":\"Brazil\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada\",\"name\":\"canada\",\"displayName\":\"Canada\",\"regionalDisplayName\":\"Canada\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe\",\"name\":\"europe\",\"displayName\":\"Europe\",\"regionalDisplayName\":\"Europe\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global\",\"name\":\"global\",\"displayName\":\"Global\",\"regionalDisplayName\":\"Global\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india\",\"name\":\"india\",\"displayName\":\"India\",\"regionalDisplayName\":\"India\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan\",\"name\":\"japan\",\"displayName\":\"Japan\",\"regionalDisplayName\":\"Japan\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/singapore\",\"name\":\"singapore\",\"displayName\":\"Singapore\",\"regionalDisplayName\":\"Singapore\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk\",\"name\":\"uk\",\"displayName\":\"United + Kingdom\",\"regionalDisplayName\":\"United Kingdom\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates\",\"name\":\"unitedstates\",\"displayName\":\"United + States\",\"regionalDisplayName\":\"United States\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage\",\"name\":\"eastasiastage\",\"displayName\":\"East + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) East Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage\",\"name\":\"southeastasiastage\",\"displayName\":\"Southeast + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilus\",\"name\":\"brazilus\",\"displayName\":\"Brazil + US\",\"regionalDisplayName\":\"(South America) Brazil US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"0\",\"latitude\":\"0\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"brazilsoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\",\"name\":\"northcentralus\",\"displayName\":\"North + Central US\",\"regionalDisplayName\":\"(US) North Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-87.6278\",\"latitude\":\"41.8819\",\"physicalLocation\":\"Illinois\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\",\"name\":\"westus\",\"displayName\":\"West + US\",\"regionalDisplayName\":\"(US) West US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-122.417\",\"latitude\":\"37.783\",\"physicalLocation\":\"California\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\",\"name\":\"jioindiawest\",\"displayName\":\"Jio + India West\",\"regionalDisplayName\":\"(Asia Pacific) Jio India West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"70.05773\",\"latitude\":\"22.470701\",\"physicalLocation\":\"Jamnagar\",\"pairedRegion\":[{\"name\":\"jioindiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\",\"name\":\"westcentralus\",\"displayName\":\"West + Central US\",\"regionalDisplayName\":\"(US) West Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-110.234\",\"latitude\":\"40.89\",\"physicalLocation\":\"Wyoming\",\"pairedRegion\":[{\"name\":\"westus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\",\"name\":\"southafricawest\",\"displayName\":\"South + Africa West\",\"regionalDisplayName\":\"(Africa) South Africa West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Africa\",\"longitude\":\"18.843266\",\"latitude\":\"-34.075691\",\"physicalLocation\":\"Cape + Town\",\"pairedRegion\":[{\"name\":\"southafricanorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\",\"name\":\"australiacentral\",\"displayName\":\"Australia + Central\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\",\"name\":\"australiacentral2\",\"displayName\":\"Australia + Central 2\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\",\"name\":\"australiasoutheast\",\"displayName\":\"Australia + Southeast\",\"regionalDisplayName\":\"(Asia Pacific) Australia Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"144.9631\",\"latitude\":\"-37.8136\",\"physicalLocation\":\"Victoria\",\"pairedRegion\":[{\"name\":\"australiaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\",\"name\":\"japanwest\",\"displayName\":\"Japan + West\",\"regionalDisplayName\":\"(Asia Pacific) Japan West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"135.5022\",\"latitude\":\"34.6939\",\"physicalLocation\":\"Osaka\",\"pairedRegion\":[{\"name\":\"japaneast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\",\"name\":\"jioindiacentral\",\"displayName\":\"Jio + India Central\",\"regionalDisplayName\":\"(Asia Pacific) Jio India Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"79.08886\",\"latitude\":\"21.146633\",\"physicalLocation\":\"Nagpur\",\"pairedRegion\":[{\"name\":\"jioindiawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\",\"name\":\"koreasouth\",\"displayName\":\"Korea + South\",\"regionalDisplayName\":\"(Asia Pacific) Korea South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"129.0756\",\"latitude\":\"35.1796\",\"physicalLocation\":\"Busan\",\"pairedRegion\":[{\"name\":\"koreacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\",\"name\":\"southindia\",\"displayName\":\"South + India\",\"regionalDisplayName\":\"(Asia Pacific) South India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"80.1636\",\"latitude\":\"12.9822\",\"physicalLocation\":\"Chennai\",\"pairedRegion\":[{\"name\":\"centralindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia\",\"name\":\"westindia\",\"displayName\":\"West + India\",\"regionalDisplayName\":\"(Asia Pacific) West India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"72.868\",\"latitude\":\"19.088\",\"physicalLocation\":\"Mumbai\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\",\"name\":\"canadaeast\",\"displayName\":\"Canada + East\",\"regionalDisplayName\":\"(Canada) Canada East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Canada\",\"longitude\":\"-71.217\",\"latitude\":\"46.817\",\"physicalLocation\":\"Quebec\",\"pairedRegion\":[{\"name\":\"canadacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\",\"name\":\"francesouth\",\"displayName\":\"France + South\",\"regionalDisplayName\":\"(Europe) France South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.1972\",\"latitude\":\"43.8345\",\"physicalLocation\":\"Marseille\",\"pairedRegion\":[{\"name\":\"francecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\",\"name\":\"germanynorth\",\"displayName\":\"Germany + North\",\"regionalDisplayName\":\"(Europe) Germany North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.806422\",\"latitude\":\"53.073635\",\"physicalLocation\":\"Berlin\",\"pairedRegion\":[{\"name\":\"germanywestcentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\",\"name\":\"norwaywest\",\"displayName\":\"Norway + West\",\"regionalDisplayName\":\"(Europe) Norway West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"5.733107\",\"latitude\":\"58.969975\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwayeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\",\"name\":\"switzerlandwest\",\"displayName\":\"Switzerland + West\",\"regionalDisplayName\":\"(Europe) Switzerland West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"6.143158\",\"latitude\":\"46.204391\",\"physicalLocation\":\"Geneva\",\"pairedRegion\":[{\"name\":\"switzerlandnorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\",\"name\":\"ukwest\",\"displayName\":\"UK + West\",\"regionalDisplayName\":\"(Europe) UK West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"-3.084\",\"latitude\":\"53.427\",\"physicalLocation\":\"Cardiff\",\"pairedRegion\":[{\"name\":\"uksouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\",\"name\":\"uaecentral\",\"displayName\":\"UAE + Central\",\"regionalDisplayName\":\"(Middle East) UAE Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"54.366669\",\"latitude\":\"24.466667\",\"physicalLocation\":\"Abu + Dhabi\",\"pairedRegion\":[{\"name\":\"uaenorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\",\"name\":\"brazilsoutheast\",\"displayName\":\"Brazil + Southeast\",\"regionalDisplayName\":\"(South America) Brazil Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"-43.2075\",\"latitude\":\"-22.90278\",\"physicalLocation\":\"Rio\",\"pairedRegion\":[{\"name\":\"brazilsouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '31169' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"ipPrefixRules": [{"action": "Permit", + "condition": "EqualTo", "networkPrefix": "10.12.14.0/24", "sequenceNumber": + 10, "subnetMaskLength": 24}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipprefix create + Connection: + - keep-alive + Content-Length: + - '183' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --location --resource-name --ip-prefix-rules + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix061423","name":"nfa-tool-ts-cli-ipprefix061423","type":"microsoft.managednetworkfabric/ipprefixes","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:10.5116474Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:10.5116474Z"},"properties":{"ipPrefixRules":[{"action":"Permit","sequenceNumber":10,"networkPrefix":"10.12.14.0/24","condition":"EqualTo","subnetMaskLength":24}],"provisioningState":"Succeeded","annotation":null}}' + headers: + cache-control: + - no-cache + content-length: + - '746' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:12 GMT + etag: + - '"5b0b517e-0000-0100-0000-6489239f0000"' + expires: + - '-1' + mise-correlation-id: + - 2ccc8904-4711-40db-9e4a-e742cacd66e0 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipprefix show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix061423","name":"nfa-tool-ts-cli-ipprefix061423","type":"microsoft.managednetworkfabric/ipprefixes","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:10.5116474Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:10.5116474Z"},"properties":{"ipPrefixRules":[{"action":"Permit","sequenceNumber":10,"networkPrefix":"10.12.14.0/24","condition":"EqualTo","subnetMaskLength":24}],"provisioningState":"Succeeded","annotation":null}}' + headers: + cache-control: + - no-cache + content-length: + - '746' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:14 GMT + etag: + - '"5b0b517e-0000-0100-0000-6489239f0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipprefix list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/ipPrefixes?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/ipprefixv4internalnetwork1export","name":"ipprefixv4internalnetwork1export","type":"microsoft.managednetworkfabric/ipprefixes","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T17:39:58.7873258Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T17:42:21.0825226Z"},"properties":{"ipPrefixRules":[{"action":"Deny","sequenceNumber":10,"networkPrefix":"10.2.36.0/28","condition":"EqualTo","subnetMaskLength":28},{"action":"Permit","sequenceNumber":12,"networkPrefix":"10.2.38.0/24","condition":"EqualTo","subnetMaskLength":24}],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/ipprefixv4internalnetwork1import","name":"ipprefixv4internalnetwork1import","type":"microsoft.managednetworkfabric/ipprefixes","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T17:43:12.5580655Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T17:53:12.5563511Z"},"properties":{"ipPrefixRules":[{"action":"Deny","sequenceNumber":10,"networkPrefix":"10.2.39.0/24","condition":"EqualTo","subnetMaskLength":24},{"action":"Permit","sequenceNumber":12,"networkPrefix":"10.2.40.0/24","condition":"EqualTo","subnetMaskLength":24}],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223","name":"nfa-tool-ts-cli-ipprefix1-061223","type":"microsoft.managednetworkfabric/ipprefixes","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-12T07:12:57.3440245Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T07:41:37.0570622Z"},"properties":{"ipPrefixRules":[{"action":"Permit","sequenceNumber":1234,"networkPrefix":"1.1.10.10/20","condition":"EqualTo","subnetMaskLength":25}],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix061423","name":"nfa-tool-ts-cli-ipprefix061423","type":"microsoft.managednetworkfabric/ipprefixes","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:10.5116474Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:10.5116474Z"},"properties":{"ipPrefixRules":[{"action":"Permit","sequenceNumber":10,"networkPrefix":"10.12.14.0/24","condition":"EqualTo","subnetMaskLength":24}],"provisioningState":"Succeeded","annotation":null}}]}' + headers: + cache-control: + - no-cache + content-length: + - '3198' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 41b58a1f-3212-45e3-aed9-a23ce979ec6a + - 72f58113-2332-45ed-84f9-b4e0879e6eff + - 832b0b9a-0559-42d6-8095-1caa539bf6ea + - 875394df-7998-4873-bad3-78d851607475 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipprefix list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix061423","name":"nfa-tool-ts-cli-ipprefix061423","type":"microsoft.managednetworkfabric/ipprefixes","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:10.5116474Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:10.5116474Z"},"properties":{"ipPrefixRules":[{"action":"Permit","sequenceNumber":10,"networkPrefix":"10.12.14.0/24","condition":"EqualTo","subnetMaskLength":24}],"provisioningState":"Succeeded","annotation":null}}]}' + headers: + cache-control: + - no-cache + content-length: + - '758' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:18 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 3c952dca-b6ef-46d2-b8df-58517f0e3222 + - 53514860-233d-4cc3-a005-669ba81ce409 + - c792a3af-62c6-4d6f-8ee0-13ae6192ddbf + - 5c09c302-4008-43ca-ae23-089e695d0a92 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric ipprefix delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix061423?api-version=2023-02-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 14 Jun 2023 02:19:22 GMT + expires: + - '-1' + mise-correlation-id: + - 0a643b65-1dc1-447f-8b9e-80b8ad1a51fc + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_l2domain_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_l2domain_scenario1.yaml new file mode 100644 index 00000000000..1aa47b475a5 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_l2domain_scenario1.yaml @@ -0,0 +1,1871 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --vlan-id + User-Agent: + - AZURECLI/2.49.0 azsdk-python-azure-mgmt-resource/22.0.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: "{\"value\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\",\"name\":\"eastus\",\"displayName\":\"East + US\",\"regionalDisplayName\":\"(US) East US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"westus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\",\"name\":\"eastus2\",\"displayName\":\"East + US 2\",\"regionalDisplayName\":\"(US) East US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"centralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\",\"name\":\"southcentralus\",\"displayName\":\"South + Central US\",\"regionalDisplayName\":\"(US) South Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"northcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\",\"name\":\"westus2\",\"displayName\":\"West + US 2\",\"regionalDisplayName\":\"(US) West US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-119.852\",\"latitude\":\"47.233\",\"physicalLocation\":\"Washington\",\"pairedRegion\":[{\"name\":\"westcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-112.074036\",\"latitude\":\"33.448376\",\"physicalLocation\":\"Phoenix\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\",\"name\":\"australiaeast\",\"displayName\":\"Australia + East\",\"regionalDisplayName\":\"(Asia Pacific) Australia East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"151.2094\",\"latitude\":\"-33.86\",\"physicalLocation\":\"New + South Wales\",\"pairedRegion\":[{\"name\":\"australiasoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\",\"name\":\"southeastasia\",\"displayName\":\"Southeast + Asia\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"103.833\",\"latitude\":\"1.283\",\"physicalLocation\":\"Singapore\",\"pairedRegion\":[{\"name\":\"eastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\",\"name\":\"northeurope\",\"displayName\":\"North + Europe\",\"regionalDisplayName\":\"(Europe) North Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-6.2597\",\"latitude\":\"53.3478\",\"physicalLocation\":\"Ireland\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\",\"name\":\"uksouth\",\"displayName\":\"UK + South\",\"regionalDisplayName\":\"(Europe) UK South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-0.799\",\"latitude\":\"50.941\",\"physicalLocation\":\"London\",\"pairedRegion\":[{\"name\":\"ukwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\",\"name\":\"westeurope\",\"displayName\":\"West + Europe\",\"regionalDisplayName\":\"(Europe) West Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"4.9\",\"latitude\":\"52.3667\",\"physicalLocation\":\"Netherlands\",\"pairedRegion\":[{\"name\":\"northeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\",\"name\":\"centralus\",\"displayName\":\"Central + US\",\"regionalDisplayName\":\"(US) Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"Iowa\",\"pairedRegion\":[{\"name\":\"eastus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\",\"name\":\"southafricanorth\",\"displayName\":\"South + Africa North\",\"regionalDisplayName\":\"(Africa) South Africa North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Africa\",\"longitude\":\"28.21837\",\"latitude\":\"-25.73134\",\"physicalLocation\":\"Johannesburg\",\"pairedRegion\":[{\"name\":\"southafricawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\",\"name\":\"centralindia\",\"displayName\":\"Central + India\",\"regionalDisplayName\":\"(Asia Pacific) Central India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"73.9197\",\"latitude\":\"18.5822\",\"physicalLocation\":\"Pune\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\",\"name\":\"eastasia\",\"displayName\":\"East + Asia\",\"regionalDisplayName\":\"(Asia Pacific) East Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"114.188\",\"latitude\":\"22.267\",\"physicalLocation\":\"Hong + Kong\",\"pairedRegion\":[{\"name\":\"southeastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\",\"name\":\"japaneast\",\"displayName\":\"Japan + East\",\"regionalDisplayName\":\"(Asia Pacific) Japan East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"139.77\",\"latitude\":\"35.68\",\"physicalLocation\":\"Tokyo, + Saitama\",\"pairedRegion\":[{\"name\":\"japanwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\",\"name\":\"koreacentral\",\"displayName\":\"Korea + Central\",\"regionalDisplayName\":\"(Asia Pacific) Korea Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"126.978\",\"latitude\":\"37.5665\",\"physicalLocation\":\"Seoul\",\"pairedRegion\":[{\"name\":\"koreasouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\",\"name\":\"canadacentral\",\"displayName\":\"Canada + Central\",\"regionalDisplayName\":\"(Canada) Canada Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Canada\",\"longitude\":\"-79.383\",\"latitude\":\"43.653\",\"physicalLocation\":\"Toronto\",\"pairedRegion\":[{\"name\":\"canadaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\",\"name\":\"francecentral\",\"displayName\":\"France + Central\",\"regionalDisplayName\":\"(Europe) France Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.373\",\"latitude\":\"46.3772\",\"physicalLocation\":\"Paris\",\"pairedRegion\":[{\"name\":\"francesouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\",\"name\":\"germanywestcentral\",\"displayName\":\"Germany + West Central\",\"regionalDisplayName\":\"(Europe) Germany West Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.682127\",\"latitude\":\"50.110924\",\"physicalLocation\":\"Frankfurt\",\"pairedRegion\":[{\"name\":\"germanynorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\",\"name\":\"norwayeast\",\"displayName\":\"Norway + East\",\"regionalDisplayName\":\"(Europe) Norway East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"10.752245\",\"latitude\":\"59.913868\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwaywest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/polandcentral\",\"name\":\"polandcentral\",\"displayName\":\"Poland + Central\",\"regionalDisplayName\":\"(Europe) Poland Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"21.01666\",\"latitude\":\"52.23334\",\"physicalLocation\":\"Warsaw\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\",\"name\":\"switzerlandnorth\",\"displayName\":\"Switzerland + North\",\"regionalDisplayName\":\"(Europe) Switzerland North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.564572\",\"latitude\":\"47.451542\",\"physicalLocation\":\"Zurich\",\"pairedRegion\":[{\"name\":\"switzerlandwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\",\"name\":\"uaenorth\",\"displayName\":\"UAE + North\",\"regionalDisplayName\":\"(Middle East) UAE North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"55.316666\",\"latitude\":\"25.266666\",\"physicalLocation\":\"Dubai\",\"pairedRegion\":[{\"name\":\"uaecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\",\"name\":\"brazilsouth\",\"displayName\":\"Brazil + South\",\"regionalDisplayName\":\"(South America) Brazil South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"South + America\",\"longitude\":\"-46.633\",\"latitude\":\"-23.55\",\"physicalLocation\":\"Sao + Paulo State\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\",\"name\":\"centraluseuap\",\"displayName\":\"Central + US EUAP\",\"regionalDisplayName\":\"(US) Central US EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"eastus2euap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\",\"name\":\"eastus2euap\",\"displayName\":\"East + US 2 EUAP\",\"regionalDisplayName\":\"(US) East US 2 EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"centraluseuap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Middle East) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage\",\"name\":\"centralusstage\",\"displayName\":\"Central + US (Stage)\",\"regionalDisplayName\":\"(US) Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage\",\"name\":\"eastusstage\",\"displayName\":\"East + US (Stage)\",\"regionalDisplayName\":\"(US) East US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage\",\"name\":\"eastus2stage\",\"displayName\":\"East + US 2 (Stage)\",\"regionalDisplayName\":\"(US) East US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage\",\"name\":\"northcentralusstage\",\"displayName\":\"North + Central US (Stage)\",\"regionalDisplayName\":\"(US) North Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage\",\"name\":\"southcentralusstage\",\"displayName\":\"South + Central US (Stage)\",\"regionalDisplayName\":\"(US) South Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage\",\"name\":\"westusstage\",\"displayName\":\"West + US (Stage)\",\"regionalDisplayName\":\"(US) West US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage\",\"name\":\"westus2stage\",\"displayName\":\"West + US 2 (Stage)\",\"regionalDisplayName\":\"(US) West US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia\",\"name\":\"asia\",\"displayName\":\"Asia\",\"regionalDisplayName\":\"Asia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific\",\"name\":\"asiapacific\",\"displayName\":\"Asia + Pacific\",\"regionalDisplayName\":\"Asia Pacific\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia\",\"name\":\"australia\",\"displayName\":\"Australia\",\"regionalDisplayName\":\"Australia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil\",\"name\":\"brazil\",\"displayName\":\"Brazil\",\"regionalDisplayName\":\"Brazil\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada\",\"name\":\"canada\",\"displayName\":\"Canada\",\"regionalDisplayName\":\"Canada\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe\",\"name\":\"europe\",\"displayName\":\"Europe\",\"regionalDisplayName\":\"Europe\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global\",\"name\":\"global\",\"displayName\":\"Global\",\"regionalDisplayName\":\"Global\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india\",\"name\":\"india\",\"displayName\":\"India\",\"regionalDisplayName\":\"India\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan\",\"name\":\"japan\",\"displayName\":\"Japan\",\"regionalDisplayName\":\"Japan\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/singapore\",\"name\":\"singapore\",\"displayName\":\"Singapore\",\"regionalDisplayName\":\"Singapore\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk\",\"name\":\"uk\",\"displayName\":\"United + Kingdom\",\"regionalDisplayName\":\"United Kingdom\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates\",\"name\":\"unitedstates\",\"displayName\":\"United + States\",\"regionalDisplayName\":\"United States\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage\",\"name\":\"eastasiastage\",\"displayName\":\"East + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) East Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage\",\"name\":\"southeastasiastage\",\"displayName\":\"Southeast + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilus\",\"name\":\"brazilus\",\"displayName\":\"Brazil + US\",\"regionalDisplayName\":\"(South America) Brazil US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"0\",\"latitude\":\"0\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"brazilsoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\",\"name\":\"northcentralus\",\"displayName\":\"North + Central US\",\"regionalDisplayName\":\"(US) North Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-87.6278\",\"latitude\":\"41.8819\",\"physicalLocation\":\"Illinois\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\",\"name\":\"westus\",\"displayName\":\"West + US\",\"regionalDisplayName\":\"(US) West US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-122.417\",\"latitude\":\"37.783\",\"physicalLocation\":\"California\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\",\"name\":\"jioindiawest\",\"displayName\":\"Jio + India West\",\"regionalDisplayName\":\"(Asia Pacific) Jio India West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"70.05773\",\"latitude\":\"22.470701\",\"physicalLocation\":\"Jamnagar\",\"pairedRegion\":[{\"name\":\"jioindiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\",\"name\":\"westcentralus\",\"displayName\":\"West + Central US\",\"regionalDisplayName\":\"(US) West Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-110.234\",\"latitude\":\"40.89\",\"physicalLocation\":\"Wyoming\",\"pairedRegion\":[{\"name\":\"westus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\",\"name\":\"southafricawest\",\"displayName\":\"South + Africa West\",\"regionalDisplayName\":\"(Africa) South Africa West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Africa\",\"longitude\":\"18.843266\",\"latitude\":\"-34.075691\",\"physicalLocation\":\"Cape + Town\",\"pairedRegion\":[{\"name\":\"southafricanorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\",\"name\":\"australiacentral\",\"displayName\":\"Australia + Central\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\",\"name\":\"australiacentral2\",\"displayName\":\"Australia + Central 2\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\",\"name\":\"australiasoutheast\",\"displayName\":\"Australia + Southeast\",\"regionalDisplayName\":\"(Asia Pacific) Australia Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"144.9631\",\"latitude\":\"-37.8136\",\"physicalLocation\":\"Victoria\",\"pairedRegion\":[{\"name\":\"australiaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\",\"name\":\"japanwest\",\"displayName\":\"Japan + West\",\"regionalDisplayName\":\"(Asia Pacific) Japan West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"135.5022\",\"latitude\":\"34.6939\",\"physicalLocation\":\"Osaka\",\"pairedRegion\":[{\"name\":\"japaneast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\",\"name\":\"jioindiacentral\",\"displayName\":\"Jio + India Central\",\"regionalDisplayName\":\"(Asia Pacific) Jio India Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"79.08886\",\"latitude\":\"21.146633\",\"physicalLocation\":\"Nagpur\",\"pairedRegion\":[{\"name\":\"jioindiawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\",\"name\":\"koreasouth\",\"displayName\":\"Korea + South\",\"regionalDisplayName\":\"(Asia Pacific) Korea South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"129.0756\",\"latitude\":\"35.1796\",\"physicalLocation\":\"Busan\",\"pairedRegion\":[{\"name\":\"koreacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\",\"name\":\"southindia\",\"displayName\":\"South + India\",\"regionalDisplayName\":\"(Asia Pacific) South India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"80.1636\",\"latitude\":\"12.9822\",\"physicalLocation\":\"Chennai\",\"pairedRegion\":[{\"name\":\"centralindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia\",\"name\":\"westindia\",\"displayName\":\"West + India\",\"regionalDisplayName\":\"(Asia Pacific) West India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"72.868\",\"latitude\":\"19.088\",\"physicalLocation\":\"Mumbai\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\",\"name\":\"canadaeast\",\"displayName\":\"Canada + East\",\"regionalDisplayName\":\"(Canada) Canada East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Canada\",\"longitude\":\"-71.217\",\"latitude\":\"46.817\",\"physicalLocation\":\"Quebec\",\"pairedRegion\":[{\"name\":\"canadacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\",\"name\":\"francesouth\",\"displayName\":\"France + South\",\"regionalDisplayName\":\"(Europe) France South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.1972\",\"latitude\":\"43.8345\",\"physicalLocation\":\"Marseille\",\"pairedRegion\":[{\"name\":\"francecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\",\"name\":\"germanynorth\",\"displayName\":\"Germany + North\",\"regionalDisplayName\":\"(Europe) Germany North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.806422\",\"latitude\":\"53.073635\",\"physicalLocation\":\"Berlin\",\"pairedRegion\":[{\"name\":\"germanywestcentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\",\"name\":\"norwaywest\",\"displayName\":\"Norway + West\",\"regionalDisplayName\":\"(Europe) Norway West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"5.733107\",\"latitude\":\"58.969975\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwayeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\",\"name\":\"switzerlandwest\",\"displayName\":\"Switzerland + West\",\"regionalDisplayName\":\"(Europe) Switzerland West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"6.143158\",\"latitude\":\"46.204391\",\"physicalLocation\":\"Geneva\",\"pairedRegion\":[{\"name\":\"switzerlandnorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\",\"name\":\"ukwest\",\"displayName\":\"UK + West\",\"regionalDisplayName\":\"(Europe) UK West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"-3.084\",\"latitude\":\"53.427\",\"physicalLocation\":\"Cardiff\",\"pairedRegion\":[{\"name\":\"uksouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\",\"name\":\"uaecentral\",\"displayName\":\"UAE + Central\",\"regionalDisplayName\":\"(Middle East) UAE Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"54.366669\",\"latitude\":\"24.466667\",\"physicalLocation\":\"Abu + Dhabi\",\"pairedRegion\":[{\"name\":\"uaenorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\",\"name\":\"brazilsoutheast\",\"displayName\":\"Brazil + Southeast\",\"regionalDisplayName\":\"(South America) Brazil Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"-43.2075\",\"latitude\":\"-22.90278\",\"physicalLocation\":\"Rio\",\"pairedRegion\":[{\"name\":\"brazilsouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '31169' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:29:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"networkFabricId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523", + "vlanId": 524}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain create + Connection: + - keep-alive + Content-Length: + - '253' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --resource-name --location --nf-id --vlan-id + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","name":"nfa-tool-ts-cli-l2domain1-061423","type":"microsoft.managednetworkfabric/l2isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:29:06.0954467Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:29:06.0954467Z"},"properties":{"provisioningState":"Accepted","vlanId":524,"mtu":1500,"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","administrativeState":"Disabled"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '868' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:29:08 GMT + etag: + - '"b20ea4f4-0000-0100-0000-648925f30000"' + expires: + - '-1' + mise-correlation-id: + - 63f1e2ef-c864-4da6-a5be-4fce0b0ad6e3 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --vlan-id + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Accepted","startTime":"2023-06-14T02:29:07.1830312Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:29:08 GMT + etag: + - '"98038b3d-0000-0100-0000-648925f30000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --vlan-id + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Accepted","startTime":"2023-06-14T02:29:07.1830312Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:29:38 GMT + etag: + - '"98038b3d-0000-0100-0000-648925f30000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --vlan-id + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Accepted","startTime":"2023-06-14T02:29:07.1830312Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:09 GMT + etag: + - '"98038b3d-0000-0100-0000-648925f30000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --vlan-id + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"9d4e52ab-548a-4f48-995b-285e302a639e*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Succeeded","startTime":"2023-06-14T02:29:07.1830312Z","endTime":"2023-06-14T02:30:23.3302462Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '681' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:39 GMT + etag: + - '"9803b741-0000-0100-0000-6489263f0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --vlan-id + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","name":"nfa-tool-ts-cli-l2domain1-061423","type":"microsoft.managednetworkfabric/l2isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:29:06.0954467Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:30:23.5917732Z"},"properties":{"provisioningState":"Succeeded","vlanId":524,"mtu":1500,"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","administrativeState":"Disabled"}}' + headers: + cache-control: + - no-cache + content-length: + - '886' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:41 GMT + etag: + - '"b20ed4fb-0000-0100-0000-6489263f0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","name":"nfa-tool-ts-cli-l2domain1-061423","type":"microsoft.managednetworkfabric/l2isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:29:06.0954467Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:30:23.5917732Z"},"properties":{"provisioningState":"Succeeded","vlanId":524,"mtu":1500,"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","administrativeState":"Disabled"}}' + headers: + cache-control: + - no-cache + content-length: + - '886' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:42 GMT + etag: + - '"b20ed4fb-0000-0100-0000-6489263f0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/l2isd0613","name":"l2isd0613","type":"microsoft.managednetworkfabric/l2isolationdomains","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T16:45:48.9685191Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T16:48:21.339616Z"},"properties":{"provisioningState":"Succeeded","vlanId":900,"mtu":1500,"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nffab1061323","administrativeState":"Enabled"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","name":"nfa-tool-ts-cli-l2domain1-061423","type":"microsoft.managednetworkfabric/l2isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:29:06.0954467Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:30:23.5917732Z"},"properties":{"provisioningState":"Succeeded","vlanId":524,"mtu":1500,"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","administrativeState":"Disabled"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1692' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:44 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 18b56fad-930c-4d2f-9277-6fccc55c0ae9 + - ce46a6c0-e3d9-4fff-8782-7bb38171c607 + - de5f21f9-41f5-4fb8-a67f-b2bd4baa7b2a + - 059d9763-300f-4048-85fd-8f3d159883ec + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","name":"nfa-tool-ts-cli-l2domain1-061423","type":"microsoft.managednetworkfabric/l2isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:29:06.0954467Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:30:23.5917732Z"},"properties":{"provisioningState":"Succeeded","vlanId":524,"mtu":1500,"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","administrativeState":"Disabled"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '898' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - d8dad407-a273-40a7-a8bb-d0c47fe9a38c + - 02caf1b6-f831-45f7-890b-1ed414981b0c + - 0d083550-ff4d-4f0b-8072-6062a8370e5b + - 89f68b32-971c-4f8d-92fc-38e6761e57b7 + status: + code: 200 + message: OK +- request: + body: '{"state": "Enable"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain update-admin-state + Connection: + - keep-alive + Content-Length: + - '19' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --resource-name --state --no-wait + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423/updateAdministrativeState?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/321a80e6-a740-49a6-b032-58e2d7ee56e9*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/321a80e6-a740-49a6-b032-58e2d7ee56e9*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + mise-correlation-id: + - 71fc1c06-f74f-4cd3-8bb9-0b94ed948315 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: '{"state": "Disable"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain update-admin-state + Connection: + - keep-alive + Content-Length: + - '20' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --resource-name --state --no-wait + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423/updateAdministrativeState?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/93ef4aa4-d305-4935-a7f3-22a7221e81d9*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/93ef4aa4-d305-4935-a7f3-22a7221e81d9*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + mise-correlation-id: + - df14b4d7-5665-4f5e-a6ef-3ba391444ce5 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:50 GMT + etag: + - '"b20ee2fd-0000-0100-0000-6489265a0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + mise-correlation-id: + - 556e9926-a04c-4d43-86ae-883331f0d276 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:30:51 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:31:23 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:31:53 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:32:24 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:32:55 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:33:27 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:33:57 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:34:29 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:34:59 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:35:31 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:36:01 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:36:32 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:37:04 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:37:34 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:38:06 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:38:37 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:39:08 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:39:38 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:40:10 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:40:41 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:12 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:43 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:14 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:45 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Deleting","startTime":"2023-06-14T02:30:50.6584821Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:16 GMT + etag: + - '"98034f42-0000-0100-0000-6489265a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Succeeded","startTime":"2023-06-14T02:30:50.6584821Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '640' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:47 GMT + etag: + - '"140098df-0000-4d00-0000-648929620000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l2domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","name":"e8c18c1f-2371-44ba-bbd6-7117a237a638*7BD55571C1569E037DB50487975B48A6800423FE90E7DF81F509EA414FA94456","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l2IsolationDomains/nfa-tool-ts-cli-l2domain1-061423","status":"Succeeded","startTime":"2023-06-14T02:30:50.6584821Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '640' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:47 GMT + etag: + - '"140098df-0000-4d00-0000-648929620000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_l3domain_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_l3domain_scenario1.yaml new file mode 100644 index 00000000000..fe7e813a0e4 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_l3domain_scenario1.yaml @@ -0,0 +1,1752 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 azsdk-python-azure-mgmt-resource/22.0.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: "{\"value\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\",\"name\":\"eastus\",\"displayName\":\"East + US\",\"regionalDisplayName\":\"(US) East US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"westus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\",\"name\":\"eastus2\",\"displayName\":\"East + US 2\",\"regionalDisplayName\":\"(US) East US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"centralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\",\"name\":\"southcentralus\",\"displayName\":\"South + Central US\",\"regionalDisplayName\":\"(US) South Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"northcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\",\"name\":\"westus2\",\"displayName\":\"West + US 2\",\"regionalDisplayName\":\"(US) West US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-119.852\",\"latitude\":\"47.233\",\"physicalLocation\":\"Washington\",\"pairedRegion\":[{\"name\":\"westcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-112.074036\",\"latitude\":\"33.448376\",\"physicalLocation\":\"Phoenix\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\",\"name\":\"australiaeast\",\"displayName\":\"Australia + East\",\"regionalDisplayName\":\"(Asia Pacific) Australia East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"151.2094\",\"latitude\":\"-33.86\",\"physicalLocation\":\"New + South Wales\",\"pairedRegion\":[{\"name\":\"australiasoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\",\"name\":\"southeastasia\",\"displayName\":\"Southeast + Asia\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"103.833\",\"latitude\":\"1.283\",\"physicalLocation\":\"Singapore\",\"pairedRegion\":[{\"name\":\"eastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\",\"name\":\"northeurope\",\"displayName\":\"North + Europe\",\"regionalDisplayName\":\"(Europe) North Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-6.2597\",\"latitude\":\"53.3478\",\"physicalLocation\":\"Ireland\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\",\"name\":\"uksouth\",\"displayName\":\"UK + South\",\"regionalDisplayName\":\"(Europe) UK South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-0.799\",\"latitude\":\"50.941\",\"physicalLocation\":\"London\",\"pairedRegion\":[{\"name\":\"ukwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\",\"name\":\"westeurope\",\"displayName\":\"West + Europe\",\"regionalDisplayName\":\"(Europe) West Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"4.9\",\"latitude\":\"52.3667\",\"physicalLocation\":\"Netherlands\",\"pairedRegion\":[{\"name\":\"northeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\",\"name\":\"centralus\",\"displayName\":\"Central + US\",\"regionalDisplayName\":\"(US) Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"Iowa\",\"pairedRegion\":[{\"name\":\"eastus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\",\"name\":\"southafricanorth\",\"displayName\":\"South + Africa North\",\"regionalDisplayName\":\"(Africa) South Africa North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Africa\",\"longitude\":\"28.21837\",\"latitude\":\"-25.73134\",\"physicalLocation\":\"Johannesburg\",\"pairedRegion\":[{\"name\":\"southafricawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\",\"name\":\"centralindia\",\"displayName\":\"Central + India\",\"regionalDisplayName\":\"(Asia Pacific) Central India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"73.9197\",\"latitude\":\"18.5822\",\"physicalLocation\":\"Pune\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\",\"name\":\"eastasia\",\"displayName\":\"East + Asia\",\"regionalDisplayName\":\"(Asia Pacific) East Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"114.188\",\"latitude\":\"22.267\",\"physicalLocation\":\"Hong + Kong\",\"pairedRegion\":[{\"name\":\"southeastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\",\"name\":\"japaneast\",\"displayName\":\"Japan + East\",\"regionalDisplayName\":\"(Asia Pacific) Japan East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"139.77\",\"latitude\":\"35.68\",\"physicalLocation\":\"Tokyo, + Saitama\",\"pairedRegion\":[{\"name\":\"japanwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\",\"name\":\"koreacentral\",\"displayName\":\"Korea + Central\",\"regionalDisplayName\":\"(Asia Pacific) Korea Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"126.978\",\"latitude\":\"37.5665\",\"physicalLocation\":\"Seoul\",\"pairedRegion\":[{\"name\":\"koreasouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\",\"name\":\"canadacentral\",\"displayName\":\"Canada + Central\",\"regionalDisplayName\":\"(Canada) Canada Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Canada\",\"longitude\":\"-79.383\",\"latitude\":\"43.653\",\"physicalLocation\":\"Toronto\",\"pairedRegion\":[{\"name\":\"canadaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\",\"name\":\"francecentral\",\"displayName\":\"France + Central\",\"regionalDisplayName\":\"(Europe) France Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.373\",\"latitude\":\"46.3772\",\"physicalLocation\":\"Paris\",\"pairedRegion\":[{\"name\":\"francesouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\",\"name\":\"germanywestcentral\",\"displayName\":\"Germany + West Central\",\"regionalDisplayName\":\"(Europe) Germany West Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.682127\",\"latitude\":\"50.110924\",\"physicalLocation\":\"Frankfurt\",\"pairedRegion\":[{\"name\":\"germanynorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\",\"name\":\"norwayeast\",\"displayName\":\"Norway + East\",\"regionalDisplayName\":\"(Europe) Norway East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"10.752245\",\"latitude\":\"59.913868\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwaywest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/polandcentral\",\"name\":\"polandcentral\",\"displayName\":\"Poland + Central\",\"regionalDisplayName\":\"(Europe) Poland Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"21.01666\",\"latitude\":\"52.23334\",\"physicalLocation\":\"Warsaw\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\",\"name\":\"switzerlandnorth\",\"displayName\":\"Switzerland + North\",\"regionalDisplayName\":\"(Europe) Switzerland North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.564572\",\"latitude\":\"47.451542\",\"physicalLocation\":\"Zurich\",\"pairedRegion\":[{\"name\":\"switzerlandwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\",\"name\":\"uaenorth\",\"displayName\":\"UAE + North\",\"regionalDisplayName\":\"(Middle East) UAE North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"55.316666\",\"latitude\":\"25.266666\",\"physicalLocation\":\"Dubai\",\"pairedRegion\":[{\"name\":\"uaecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\",\"name\":\"brazilsouth\",\"displayName\":\"Brazil + South\",\"regionalDisplayName\":\"(South America) Brazil South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"South + America\",\"longitude\":\"-46.633\",\"latitude\":\"-23.55\",\"physicalLocation\":\"Sao + Paulo State\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\",\"name\":\"centraluseuap\",\"displayName\":\"Central + US EUAP\",\"regionalDisplayName\":\"(US) Central US EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"eastus2euap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\",\"name\":\"eastus2euap\",\"displayName\":\"East + US 2 EUAP\",\"regionalDisplayName\":\"(US) East US 2 EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"centraluseuap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Middle East) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage\",\"name\":\"centralusstage\",\"displayName\":\"Central + US (Stage)\",\"regionalDisplayName\":\"(US) Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage\",\"name\":\"eastusstage\",\"displayName\":\"East + US (Stage)\",\"regionalDisplayName\":\"(US) East US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage\",\"name\":\"eastus2stage\",\"displayName\":\"East + US 2 (Stage)\",\"regionalDisplayName\":\"(US) East US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage\",\"name\":\"northcentralusstage\",\"displayName\":\"North + Central US (Stage)\",\"regionalDisplayName\":\"(US) North Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage\",\"name\":\"southcentralusstage\",\"displayName\":\"South + Central US (Stage)\",\"regionalDisplayName\":\"(US) South Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage\",\"name\":\"westusstage\",\"displayName\":\"West + US (Stage)\",\"regionalDisplayName\":\"(US) West US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage\",\"name\":\"westus2stage\",\"displayName\":\"West + US 2 (Stage)\",\"regionalDisplayName\":\"(US) West US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia\",\"name\":\"asia\",\"displayName\":\"Asia\",\"regionalDisplayName\":\"Asia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific\",\"name\":\"asiapacific\",\"displayName\":\"Asia + Pacific\",\"regionalDisplayName\":\"Asia Pacific\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia\",\"name\":\"australia\",\"displayName\":\"Australia\",\"regionalDisplayName\":\"Australia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil\",\"name\":\"brazil\",\"displayName\":\"Brazil\",\"regionalDisplayName\":\"Brazil\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada\",\"name\":\"canada\",\"displayName\":\"Canada\",\"regionalDisplayName\":\"Canada\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe\",\"name\":\"europe\",\"displayName\":\"Europe\",\"regionalDisplayName\":\"Europe\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global\",\"name\":\"global\",\"displayName\":\"Global\",\"regionalDisplayName\":\"Global\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india\",\"name\":\"india\",\"displayName\":\"India\",\"regionalDisplayName\":\"India\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan\",\"name\":\"japan\",\"displayName\":\"Japan\",\"regionalDisplayName\":\"Japan\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/singapore\",\"name\":\"singapore\",\"displayName\":\"Singapore\",\"regionalDisplayName\":\"Singapore\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk\",\"name\":\"uk\",\"displayName\":\"United + Kingdom\",\"regionalDisplayName\":\"United Kingdom\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates\",\"name\":\"unitedstates\",\"displayName\":\"United + States\",\"regionalDisplayName\":\"United States\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage\",\"name\":\"eastasiastage\",\"displayName\":\"East + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) East Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage\",\"name\":\"southeastasiastage\",\"displayName\":\"Southeast + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilus\",\"name\":\"brazilus\",\"displayName\":\"Brazil + US\",\"regionalDisplayName\":\"(South America) Brazil US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"0\",\"latitude\":\"0\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"brazilsoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\",\"name\":\"northcentralus\",\"displayName\":\"North + Central US\",\"regionalDisplayName\":\"(US) North Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-87.6278\",\"latitude\":\"41.8819\",\"physicalLocation\":\"Illinois\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\",\"name\":\"westus\",\"displayName\":\"West + US\",\"regionalDisplayName\":\"(US) West US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-122.417\",\"latitude\":\"37.783\",\"physicalLocation\":\"California\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\",\"name\":\"jioindiawest\",\"displayName\":\"Jio + India West\",\"regionalDisplayName\":\"(Asia Pacific) Jio India West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"70.05773\",\"latitude\":\"22.470701\",\"physicalLocation\":\"Jamnagar\",\"pairedRegion\":[{\"name\":\"jioindiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\",\"name\":\"westcentralus\",\"displayName\":\"West + Central US\",\"regionalDisplayName\":\"(US) West Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-110.234\",\"latitude\":\"40.89\",\"physicalLocation\":\"Wyoming\",\"pairedRegion\":[{\"name\":\"westus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\",\"name\":\"southafricawest\",\"displayName\":\"South + Africa West\",\"regionalDisplayName\":\"(Africa) South Africa West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Africa\",\"longitude\":\"18.843266\",\"latitude\":\"-34.075691\",\"physicalLocation\":\"Cape + Town\",\"pairedRegion\":[{\"name\":\"southafricanorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\",\"name\":\"australiacentral\",\"displayName\":\"Australia + Central\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\",\"name\":\"australiacentral2\",\"displayName\":\"Australia + Central 2\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\",\"name\":\"australiasoutheast\",\"displayName\":\"Australia + Southeast\",\"regionalDisplayName\":\"(Asia Pacific) Australia Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"144.9631\",\"latitude\":\"-37.8136\",\"physicalLocation\":\"Victoria\",\"pairedRegion\":[{\"name\":\"australiaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\",\"name\":\"japanwest\",\"displayName\":\"Japan + West\",\"regionalDisplayName\":\"(Asia Pacific) Japan West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"135.5022\",\"latitude\":\"34.6939\",\"physicalLocation\":\"Osaka\",\"pairedRegion\":[{\"name\":\"japaneast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\",\"name\":\"jioindiacentral\",\"displayName\":\"Jio + India Central\",\"regionalDisplayName\":\"(Asia Pacific) Jio India Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"79.08886\",\"latitude\":\"21.146633\",\"physicalLocation\":\"Nagpur\",\"pairedRegion\":[{\"name\":\"jioindiawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\",\"name\":\"koreasouth\",\"displayName\":\"Korea + South\",\"regionalDisplayName\":\"(Asia Pacific) Korea South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"129.0756\",\"latitude\":\"35.1796\",\"physicalLocation\":\"Busan\",\"pairedRegion\":[{\"name\":\"koreacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\",\"name\":\"southindia\",\"displayName\":\"South + India\",\"regionalDisplayName\":\"(Asia Pacific) South India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"80.1636\",\"latitude\":\"12.9822\",\"physicalLocation\":\"Chennai\",\"pairedRegion\":[{\"name\":\"centralindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia\",\"name\":\"westindia\",\"displayName\":\"West + India\",\"regionalDisplayName\":\"(Asia Pacific) West India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"72.868\",\"latitude\":\"19.088\",\"physicalLocation\":\"Mumbai\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\",\"name\":\"canadaeast\",\"displayName\":\"Canada + East\",\"regionalDisplayName\":\"(Canada) Canada East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Canada\",\"longitude\":\"-71.217\",\"latitude\":\"46.817\",\"physicalLocation\":\"Quebec\",\"pairedRegion\":[{\"name\":\"canadacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\",\"name\":\"francesouth\",\"displayName\":\"France + South\",\"regionalDisplayName\":\"(Europe) France South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.1972\",\"latitude\":\"43.8345\",\"physicalLocation\":\"Marseille\",\"pairedRegion\":[{\"name\":\"francecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\",\"name\":\"germanynorth\",\"displayName\":\"Germany + North\",\"regionalDisplayName\":\"(Europe) Germany North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.806422\",\"latitude\":\"53.073635\",\"physicalLocation\":\"Berlin\",\"pairedRegion\":[{\"name\":\"germanywestcentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\",\"name\":\"norwaywest\",\"displayName\":\"Norway + West\",\"regionalDisplayName\":\"(Europe) Norway West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"5.733107\",\"latitude\":\"58.969975\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwayeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\",\"name\":\"switzerlandwest\",\"displayName\":\"Switzerland + West\",\"regionalDisplayName\":\"(Europe) Switzerland West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"6.143158\",\"latitude\":\"46.204391\",\"physicalLocation\":\"Geneva\",\"pairedRegion\":[{\"name\":\"switzerlandnorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\",\"name\":\"ukwest\",\"displayName\":\"UK + West\",\"regionalDisplayName\":\"(Europe) UK West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"-3.084\",\"latitude\":\"53.427\",\"physicalLocation\":\"Cardiff\",\"pairedRegion\":[{\"name\":\"uksouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\",\"name\":\"uaecentral\",\"displayName\":\"UAE + Central\",\"regionalDisplayName\":\"(Middle East) UAE Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"54.366669\",\"latitude\":\"24.466667\",\"physicalLocation\":\"Abu + Dhabi\",\"pairedRegion\":[{\"name\":\"uaenorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\",\"name\":\"brazilsoutheast\",\"displayName\":\"Brazil + Southeast\",\"regionalDisplayName\":\"(South America) Brazil Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"-43.2075\",\"latitude\":\"-22.90278\",\"physicalLocation\":\"Rio\",\"pairedRegion\":[{\"name\":\"brazilsouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '31169' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:31:06 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"aggregateRouteConfiguration": {"ipv4Routes": + [{"prefix": "10.0.0.1/27"}], "ipv6Routes": [{"prefix": "2fff::/59"}]}, "connectedSubnetRoutePolicy": + {"exportRoutePolicyId": ""}, "networkFabricId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523", + "redistributeConnectedSubnets": "True", "redistributeStaticRoutes": "True"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + Content-Length: + - '511' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","name":"nfa-tool-ts-cli-l3domain061423","type":"microsoft.managednetworkfabric/l3isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:31:11.535147Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:31:11.535147Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","provisioningState":"Accepted","administrativeState":"Disabled","redistributeConnectedSubnets":"True","redistributeStaticRoutes":"True","aggregateRouteConfiguration":{"ipv4Routes":[{"prefix":"10.0.0.1/27"}],"ipv6Routes":[{"prefix":"2fff::/59"}]},"connectedSubnetRoutePolicy":{"exportRoutePolicyId":"","administrativeState":"Disabled"}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '1130' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:31:13 GMT + etag: + - '"a50b7294-0000-0100-0000-648926700000"' + expires: + - '-1' + mise-correlation-id: + - de7996f3-2317-4a25-ba09-d774162d63fb + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:31:14 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:31:45 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:32:16 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:32:46 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:33:17 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:33:49 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:34:19 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:34:51 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:35:21 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:35:53 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:36:24 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:36:55 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:37:26 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:37:57 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:38:27 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:38:58 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:39:30 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:40:00 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:40:31 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:02 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:33 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:03 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:34 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Accepted","startTime":"2023-06-14T02:31:12.4900543Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:05 GMT + etag: + - '"9803ad42-0000-0100-0000-648926700000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"eba2dc51-da28-407d-a981-11c7f47c999b*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Succeeded","startTime":"2023-06-14T02:31:12.4900543Z","endTime":"2023-06-14T02:43:10.4801396Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '679' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:36 GMT + etag: + - '"98033755-0000-0100-0000-6489293e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --nf-id --redistribute-connected-subnets + --redistribute-static-routes --aggregate-route-configuration --connected-subnet-route-policy + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","name":"nfa-tool-ts-cli-l3domain061423","type":"microsoft.managednetworkfabric/l3isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:31:11.535147Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:43:10.9241818Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","provisioningState":"Succeeded","administrativeState":"Disabled","redistributeConnectedSubnets":"True","redistributeStaticRoutes":"True","aggregateRouteConfiguration":{"ipv4Routes":[{"prefix":"10.0.0.1/27"}],"ipv6Routes":[{"prefix":"2fff::/59"}]},"connectedSubnetRoutePolicy":{"exportRoutePolicyId":"","administrativeState":"Disabled"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1149' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:38 GMT + etag: + - '"a50b7594-0000-0100-0000-6489293f0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","name":"nfa-tool-ts-cli-l3domain061423","type":"microsoft.managednetworkfabric/l3isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:31:11.535147Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:43:10.9241818Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","provisioningState":"Succeeded","administrativeState":"Disabled","redistributeConnectedSubnets":"True","redistributeStaticRoutes":"True","aggregateRouteConfiguration":{"ipv4Routes":[{"prefix":"10.0.0.1/27"}],"ipv6Routes":[{"prefix":"2fff::/59"}]},"connectedSubnetRoutePolicy":{"exportRoutePolicyId":"","administrativeState":"Disabled"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1149' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:39 GMT + etag: + - '"a50b7594-0000-0100-0000-6489293f0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/L3IsolationDomains/nfcfab1061323-nffab1061323-l3isd3-1196","name":"nfcfab1061323-nffab1061323-l3isd3-1196","type":"microsoft.managednetworkfabric/l3isolationdomains","location":"eastus2euap","systemData":{"createdBy":"v-sayyalu@microsoft.com","createdByType":"User","createdAt":"2023-06-13T15:39:13.6717174Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T15:39:24.8509154Z"},"properties":{"description":"creating + L3 isolation domain","networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkfabrics/nffab1061323","provisioningState":"Succeeded","administrativeState":"Disabled","redistributeConnectedSubnets":"True","redistributeStaticRoutes":"True","aggregateRouteConfiguration":null,"connectedSubnetRoutePolicy":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/fab1l3isd0613","name":"fab1l3isd0613","type":"microsoft.managednetworkfabric/l3isolationdomains","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T16:51:35.1423501Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T16:58:29.60611Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nffab1061323","provisioningState":"Succeeded","administrativeState":"Enabled","redistributeConnectedSubnets":"True","redistributeStaticRoutes":"False"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/fab1l3isd6132023","name":"fab1l3isd6132023","type":"microsoft.managednetworkfabric/l3isolationdomains","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T17:53:51.4453156Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T17:54:00.0354264Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nffab1061323","provisioningState":"Succeeded","administrativeState":"Disabled","redistributeConnectedSubnets":"True","redistributeStaticRoutes":"False","aggregateRouteConfiguration":null,"connectedSubnetRoutePolicy":null}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/fab1isdl3","name":"fab1isdl3","type":"microsoft.managednetworkfabric/l3isolationdomains","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T18:05:14.7506065Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T18:10:38.1979226Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nffab1061323","provisioningState":"Succeeded","administrativeState":"Enabled","redistributeConnectedSubnets":"True","redistributeStaticRoutes":"False"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223","name":"nfa-tool-ts-cli-l3domain1-061223","type":"microsoft.managednetworkfabric/l3isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-12T10:28:05.8232857Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:31:33.5671461Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","provisioningState":"Succeeded","administrativeState":"Disabled","redistributeConnectedSubnets":"True","redistributeStaticRoutes":"True","aggregateRouteConfiguration":{"ipv4Routes":[{"prefix":"10.0.0.1/28"},{"prefix":"10.0.0.2/28"}],"ipv6Routes":[{"prefix":"2fff::/64"},{"prefix":"2fff::/65"}]},"connectedSubnetRoutePolicy":{"exportRoutePolicyId":"","administrativeState":"Disabled"}}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","name":"nfa-tool-ts-cli-l3domain061423","type":"microsoft.managednetworkfabric/l3isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:31:11.535147Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:43:10.9241818Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","provisioningState":"Succeeded","administrativeState":"Disabled","redistributeConnectedSubnets":"True","redistributeStaticRoutes":"True","aggregateRouteConfiguration":{"ipv4Routes":[{"prefix":"10.0.0.1/27"}],"ipv6Routes":[{"prefix":"2fff::/59"}]},"connectedSubnetRoutePolicy":{"exportRoutePolicyId":"","administrativeState":"Disabled"}}}]}' + headers: + cache-control: + - no-cache + content-length: + - '6003' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:40 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 14caa56b-c383-4591-a498-debe6f35948f + - d7ff8327-6930-4848-bf1e-442079f52d74 + - ffd3c86b-4307-4188-9d8f-625a5ca134ac + - 7740c65d-89a5-48d9-829c-4799681e28c8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223","name":"nfa-tool-ts-cli-l3domain1-061223","type":"microsoft.managednetworkfabric/l3isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-12T10:28:05.8232857Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:31:33.5671461Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","provisioningState":"Succeeded","administrativeState":"Disabled","redistributeConnectedSubnets":"True","redistributeStaticRoutes":"True","aggregateRouteConfiguration":{"ipv4Routes":[{"prefix":"10.0.0.1/28"},{"prefix":"10.0.0.2/28"}],"ipv6Routes":[{"prefix":"2fff::/64"},{"prefix":"2fff::/65"}]},"connectedSubnetRoutePolicy":{"exportRoutePolicyId":"","administrativeState":"Disabled"}}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","name":"nfa-tool-ts-cli-l3domain061423","type":"microsoft.managednetworkfabric/l3isolationdomains","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:31:11.535147Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:43:10.9241818Z"},"properties":{"networkFabricId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","provisioningState":"Succeeded","administrativeState":"Disabled","redistributeConnectedSubnets":"True","redistributeStaticRoutes":"True","aggregateRouteConfiguration":{"ipv4Routes":[{"prefix":"10.0.0.1/27"}],"ipv6Routes":[{"prefix":"2fff::/59"}]},"connectedSubnetRoutePolicy":{"exportRoutePolicyId":"","administrativeState":"Disabled"}}}]}' + headers: + cache-control: + - no-cache + content-length: + - '2364' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:42 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - d0a1c454-61cb-4139-8771-d844231267a5 + - e8e20aa6-93ba-4571-85e2-6b1bfe0c97db + - a3cbba4d-254b-40ad-bd6b-49db494630aa + - d1aa8aae-ade2-4b46-8a7e-8bec03390056 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/30948e2c-610b-4bf4-a36b-a308d8c01b3d*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:44 GMT + etag: + - '"a50b7694-0000-0100-0000-648929600000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/30948e2c-610b-4bf4-a36b-a308d8c01b3d*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + mise-correlation-id: + - f4681368-5fbd-4698-8e75-6921173113c5 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/30948e2c-610b-4bf4-a36b-a308d8c01b3d*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/30948e2c-610b-4bf4-a36b-a308d8c01b3d*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"30948e2c-610b-4bf4-a36b-a308d8c01b3d*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Deleting","startTime":"2023-06-14T02:43:44.6975062Z"}' + headers: + cache-control: + - no-cache + content-length: + - '619' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:44 GMT + etag: + - '"98032956-0000-0100-0000-648929600000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/30948e2c-610b-4bf4-a36b-a308d8c01b3d*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/30948e2c-610b-4bf4-a36b-a308d8c01b3d*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"30948e2c-610b-4bf4-a36b-a308d8c01b3d*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Succeeded","startTime":"2023-06-14T02:43:44.6975062Z","endTime":"2023-06-14T02:43:45.2399666Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '679' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:44:14 GMT + etag: + - '"98033e56-0000-0100-0000-648929610000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/30948e2c-610b-4bf4-a36b-a308d8c01b3d*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/30948e2c-610b-4bf4-a36b-a308d8c01b3d*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","name":"30948e2c-610b-4bf4-a36b-a308d8c01b3d*CA27A4C70B6569659C9D40D40FC4AAE70C745165DF32F8AAD90DDA984F07131E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain061423","status":"Succeeded","startTime":"2023-06-14T02:43:44.6975062Z","endTime":"2023-06-14T02:43:45.2399666Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '679' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:44:15 GMT + etag: + - '"98033e56-0000-0100-0000-648929610000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_l3domain_scenario2.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_l3domain_scenario2.yaml new file mode 100644 index 00000000000..1001c57f51b --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_l3domain_scenario2.yaml @@ -0,0 +1,110 @@ +interactions: +- request: + body: '{"state": "Enable"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain update-admin-state + Connection: + - keep-alive + Content-Length: + - '19' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --resource-name --state --no-wait + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/updateAdministrativeState?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/915601b0-2dd0-4089-987b-fc313678109d*DEA98479DEAB952D2C7B3E1C1A127F4A7E2CC5EB9A1ACE6FA862E69C2ED32F04?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:31:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/915601b0-2dd0-4089-987b-fc313678109d*DEA98479DEAB952D2C7B3E1C1A127F4A7E2CC5EB9A1ACE6FA862E69C2ED32F04?api-version=2023-02-01-preview + mise-correlation-id: + - c91ac431-adce-4832-9f7e-fbcacf83fbf3 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: '{"state": "Disable"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric l3domain update-admin-state + Connection: + - keep-alive + Content-Length: + - '20' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --resource-name --state --no-wait + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/nfa-tool-ts-cli-l3domain1-061223/updateAdministrativeState?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ac3666b4-07dc-42af-bfc2-eabf50ccba86*DEA98479DEAB952D2C7B3E1C1A127F4A7E2CC5EB9A1ACE6FA862E69C2ED32F04?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:31:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ac3666b4-07dc-42af-bfc2-eabf50ccba86*DEA98479DEAB952D2C7B3E1C1A127F4A7E2CC5EB9A1ACE6FA862E69C2ED32F04?api-version=2023-02-01-preview + mise-correlation-id: + - 55b58ccf-4181-4a8e-86e4-e32927594a50 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nf_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nf_scenario1.yaml new file mode 100644 index 00000000000..773fded3ad0 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nf_scenario1.yaml @@ -0,0 +1,807 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --location --resource-name --nf-sku --nfc-id --fabric-asn + --ipv4-prefix --ipv6-prefix --rack-count --server-count-per-rack --ts-config + --managed-network-config + User-Agent: + - AZURECLI/2.49.0 azsdk-python-azure-mgmt-resource/22.0.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: "{\"value\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\",\"name\":\"eastus\",\"displayName\":\"East + US\",\"regionalDisplayName\":\"(US) East US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"westus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\",\"name\":\"eastus2\",\"displayName\":\"East + US 2\",\"regionalDisplayName\":\"(US) East US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"centralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\",\"name\":\"southcentralus\",\"displayName\":\"South + Central US\",\"regionalDisplayName\":\"(US) South Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"northcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\",\"name\":\"westus2\",\"displayName\":\"West + US 2\",\"regionalDisplayName\":\"(US) West US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-119.852\",\"latitude\":\"47.233\",\"physicalLocation\":\"Washington\",\"pairedRegion\":[{\"name\":\"westcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-112.074036\",\"latitude\":\"33.448376\",\"physicalLocation\":\"Phoenix\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\",\"name\":\"australiaeast\",\"displayName\":\"Australia + East\",\"regionalDisplayName\":\"(Asia Pacific) Australia East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"151.2094\",\"latitude\":\"-33.86\",\"physicalLocation\":\"New + South Wales\",\"pairedRegion\":[{\"name\":\"australiasoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\",\"name\":\"southeastasia\",\"displayName\":\"Southeast + Asia\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"103.833\",\"latitude\":\"1.283\",\"physicalLocation\":\"Singapore\",\"pairedRegion\":[{\"name\":\"eastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\",\"name\":\"northeurope\",\"displayName\":\"North + Europe\",\"regionalDisplayName\":\"(Europe) North Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-6.2597\",\"latitude\":\"53.3478\",\"physicalLocation\":\"Ireland\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\",\"name\":\"uksouth\",\"displayName\":\"UK + South\",\"regionalDisplayName\":\"(Europe) UK South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-0.799\",\"latitude\":\"50.941\",\"physicalLocation\":\"London\",\"pairedRegion\":[{\"name\":\"ukwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\",\"name\":\"westeurope\",\"displayName\":\"West + Europe\",\"regionalDisplayName\":\"(Europe) West Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"4.9\",\"latitude\":\"52.3667\",\"physicalLocation\":\"Netherlands\",\"pairedRegion\":[{\"name\":\"northeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\",\"name\":\"centralus\",\"displayName\":\"Central + US\",\"regionalDisplayName\":\"(US) Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"Iowa\",\"pairedRegion\":[{\"name\":\"eastus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\",\"name\":\"southafricanorth\",\"displayName\":\"South + Africa North\",\"regionalDisplayName\":\"(Africa) South Africa North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Africa\",\"longitude\":\"28.21837\",\"latitude\":\"-25.73134\",\"physicalLocation\":\"Johannesburg\",\"pairedRegion\":[{\"name\":\"southafricawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\",\"name\":\"centralindia\",\"displayName\":\"Central + India\",\"regionalDisplayName\":\"(Asia Pacific) Central India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"73.9197\",\"latitude\":\"18.5822\",\"physicalLocation\":\"Pune\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\",\"name\":\"eastasia\",\"displayName\":\"East + Asia\",\"regionalDisplayName\":\"(Asia Pacific) East Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"114.188\",\"latitude\":\"22.267\",\"physicalLocation\":\"Hong + Kong\",\"pairedRegion\":[{\"name\":\"southeastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\",\"name\":\"japaneast\",\"displayName\":\"Japan + East\",\"regionalDisplayName\":\"(Asia Pacific) Japan East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"139.77\",\"latitude\":\"35.68\",\"physicalLocation\":\"Tokyo, + Saitama\",\"pairedRegion\":[{\"name\":\"japanwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\",\"name\":\"koreacentral\",\"displayName\":\"Korea + Central\",\"regionalDisplayName\":\"(Asia Pacific) Korea Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"126.978\",\"latitude\":\"37.5665\",\"physicalLocation\":\"Seoul\",\"pairedRegion\":[{\"name\":\"koreasouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\",\"name\":\"canadacentral\",\"displayName\":\"Canada + Central\",\"regionalDisplayName\":\"(Canada) Canada Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Canada\",\"longitude\":\"-79.383\",\"latitude\":\"43.653\",\"physicalLocation\":\"Toronto\",\"pairedRegion\":[{\"name\":\"canadaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\",\"name\":\"francecentral\",\"displayName\":\"France + Central\",\"regionalDisplayName\":\"(Europe) France Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.373\",\"latitude\":\"46.3772\",\"physicalLocation\":\"Paris\",\"pairedRegion\":[{\"name\":\"francesouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\",\"name\":\"germanywestcentral\",\"displayName\":\"Germany + West Central\",\"regionalDisplayName\":\"(Europe) Germany West Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.682127\",\"latitude\":\"50.110924\",\"physicalLocation\":\"Frankfurt\",\"pairedRegion\":[{\"name\":\"germanynorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\",\"name\":\"norwayeast\",\"displayName\":\"Norway + East\",\"regionalDisplayName\":\"(Europe) Norway East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"10.752245\",\"latitude\":\"59.913868\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwaywest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/polandcentral\",\"name\":\"polandcentral\",\"displayName\":\"Poland + Central\",\"regionalDisplayName\":\"(Europe) Poland Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"21.01666\",\"latitude\":\"52.23334\",\"physicalLocation\":\"Warsaw\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\",\"name\":\"switzerlandnorth\",\"displayName\":\"Switzerland + North\",\"regionalDisplayName\":\"(Europe) Switzerland North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.564572\",\"latitude\":\"47.451542\",\"physicalLocation\":\"Zurich\",\"pairedRegion\":[{\"name\":\"switzerlandwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\",\"name\":\"uaenorth\",\"displayName\":\"UAE + North\",\"regionalDisplayName\":\"(Middle East) UAE North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"55.316666\",\"latitude\":\"25.266666\",\"physicalLocation\":\"Dubai\",\"pairedRegion\":[{\"name\":\"uaecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\",\"name\":\"brazilsouth\",\"displayName\":\"Brazil + South\",\"regionalDisplayName\":\"(South America) Brazil South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"South + America\",\"longitude\":\"-46.633\",\"latitude\":\"-23.55\",\"physicalLocation\":\"Sao + Paulo State\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\",\"name\":\"centraluseuap\",\"displayName\":\"Central + US EUAP\",\"regionalDisplayName\":\"(US) Central US EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"eastus2euap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\",\"name\":\"eastus2euap\",\"displayName\":\"East + US 2 EUAP\",\"regionalDisplayName\":\"(US) East US 2 EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"centraluseuap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Middle East) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage\",\"name\":\"centralusstage\",\"displayName\":\"Central + US (Stage)\",\"regionalDisplayName\":\"(US) Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage\",\"name\":\"eastusstage\",\"displayName\":\"East + US (Stage)\",\"regionalDisplayName\":\"(US) East US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage\",\"name\":\"eastus2stage\",\"displayName\":\"East + US 2 (Stage)\",\"regionalDisplayName\":\"(US) East US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage\",\"name\":\"northcentralusstage\",\"displayName\":\"North + Central US (Stage)\",\"regionalDisplayName\":\"(US) North Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage\",\"name\":\"southcentralusstage\",\"displayName\":\"South + Central US (Stage)\",\"regionalDisplayName\":\"(US) South Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage\",\"name\":\"westusstage\",\"displayName\":\"West + US (Stage)\",\"regionalDisplayName\":\"(US) West US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage\",\"name\":\"westus2stage\",\"displayName\":\"West + US 2 (Stage)\",\"regionalDisplayName\":\"(US) West US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia\",\"name\":\"asia\",\"displayName\":\"Asia\",\"regionalDisplayName\":\"Asia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific\",\"name\":\"asiapacific\",\"displayName\":\"Asia + Pacific\",\"regionalDisplayName\":\"Asia Pacific\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia\",\"name\":\"australia\",\"displayName\":\"Australia\",\"regionalDisplayName\":\"Australia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil\",\"name\":\"brazil\",\"displayName\":\"Brazil\",\"regionalDisplayName\":\"Brazil\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada\",\"name\":\"canada\",\"displayName\":\"Canada\",\"regionalDisplayName\":\"Canada\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe\",\"name\":\"europe\",\"displayName\":\"Europe\",\"regionalDisplayName\":\"Europe\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global\",\"name\":\"global\",\"displayName\":\"Global\",\"regionalDisplayName\":\"Global\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india\",\"name\":\"india\",\"displayName\":\"India\",\"regionalDisplayName\":\"India\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan\",\"name\":\"japan\",\"displayName\":\"Japan\",\"regionalDisplayName\":\"Japan\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/singapore\",\"name\":\"singapore\",\"displayName\":\"Singapore\",\"regionalDisplayName\":\"Singapore\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk\",\"name\":\"uk\",\"displayName\":\"United + Kingdom\",\"regionalDisplayName\":\"United Kingdom\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates\",\"name\":\"unitedstates\",\"displayName\":\"United + States\",\"regionalDisplayName\":\"United States\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage\",\"name\":\"eastasiastage\",\"displayName\":\"East + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) East Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage\",\"name\":\"southeastasiastage\",\"displayName\":\"Southeast + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilus\",\"name\":\"brazilus\",\"displayName\":\"Brazil + US\",\"regionalDisplayName\":\"(South America) Brazil US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"0\",\"latitude\":\"0\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"brazilsoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\",\"name\":\"northcentralus\",\"displayName\":\"North + Central US\",\"regionalDisplayName\":\"(US) North Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-87.6278\",\"latitude\":\"41.8819\",\"physicalLocation\":\"Illinois\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\",\"name\":\"westus\",\"displayName\":\"West + US\",\"regionalDisplayName\":\"(US) West US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-122.417\",\"latitude\":\"37.783\",\"physicalLocation\":\"California\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\",\"name\":\"jioindiawest\",\"displayName\":\"Jio + India West\",\"regionalDisplayName\":\"(Asia Pacific) Jio India West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"70.05773\",\"latitude\":\"22.470701\",\"physicalLocation\":\"Jamnagar\",\"pairedRegion\":[{\"name\":\"jioindiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\",\"name\":\"westcentralus\",\"displayName\":\"West + Central US\",\"regionalDisplayName\":\"(US) West Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-110.234\",\"latitude\":\"40.89\",\"physicalLocation\":\"Wyoming\",\"pairedRegion\":[{\"name\":\"westus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\",\"name\":\"southafricawest\",\"displayName\":\"South + Africa West\",\"regionalDisplayName\":\"(Africa) South Africa West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Africa\",\"longitude\":\"18.843266\",\"latitude\":\"-34.075691\",\"physicalLocation\":\"Cape + Town\",\"pairedRegion\":[{\"name\":\"southafricanorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\",\"name\":\"australiacentral\",\"displayName\":\"Australia + Central\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\",\"name\":\"australiacentral2\",\"displayName\":\"Australia + Central 2\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\",\"name\":\"australiasoutheast\",\"displayName\":\"Australia + Southeast\",\"regionalDisplayName\":\"(Asia Pacific) Australia Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"144.9631\",\"latitude\":\"-37.8136\",\"physicalLocation\":\"Victoria\",\"pairedRegion\":[{\"name\":\"australiaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\",\"name\":\"japanwest\",\"displayName\":\"Japan + West\",\"regionalDisplayName\":\"(Asia Pacific) Japan West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"135.5022\",\"latitude\":\"34.6939\",\"physicalLocation\":\"Osaka\",\"pairedRegion\":[{\"name\":\"japaneast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\",\"name\":\"jioindiacentral\",\"displayName\":\"Jio + India Central\",\"regionalDisplayName\":\"(Asia Pacific) Jio India Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"79.08886\",\"latitude\":\"21.146633\",\"physicalLocation\":\"Nagpur\",\"pairedRegion\":[{\"name\":\"jioindiawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\",\"name\":\"koreasouth\",\"displayName\":\"Korea + South\",\"regionalDisplayName\":\"(Asia Pacific) Korea South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"129.0756\",\"latitude\":\"35.1796\",\"physicalLocation\":\"Busan\",\"pairedRegion\":[{\"name\":\"koreacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\",\"name\":\"southindia\",\"displayName\":\"South + India\",\"regionalDisplayName\":\"(Asia Pacific) South India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"80.1636\",\"latitude\":\"12.9822\",\"physicalLocation\":\"Chennai\",\"pairedRegion\":[{\"name\":\"centralindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia\",\"name\":\"westindia\",\"displayName\":\"West + India\",\"regionalDisplayName\":\"(Asia Pacific) West India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"72.868\",\"latitude\":\"19.088\",\"physicalLocation\":\"Mumbai\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\",\"name\":\"canadaeast\",\"displayName\":\"Canada + East\",\"regionalDisplayName\":\"(Canada) Canada East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Canada\",\"longitude\":\"-71.217\",\"latitude\":\"46.817\",\"physicalLocation\":\"Quebec\",\"pairedRegion\":[{\"name\":\"canadacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\",\"name\":\"francesouth\",\"displayName\":\"France + South\",\"regionalDisplayName\":\"(Europe) France South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.1972\",\"latitude\":\"43.8345\",\"physicalLocation\":\"Marseille\",\"pairedRegion\":[{\"name\":\"francecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\",\"name\":\"germanynorth\",\"displayName\":\"Germany + North\",\"regionalDisplayName\":\"(Europe) Germany North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.806422\",\"latitude\":\"53.073635\",\"physicalLocation\":\"Berlin\",\"pairedRegion\":[{\"name\":\"germanywestcentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\",\"name\":\"norwaywest\",\"displayName\":\"Norway + West\",\"regionalDisplayName\":\"(Europe) Norway West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"5.733107\",\"latitude\":\"58.969975\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwayeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\",\"name\":\"switzerlandwest\",\"displayName\":\"Switzerland + West\",\"regionalDisplayName\":\"(Europe) Switzerland West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"6.143158\",\"latitude\":\"46.204391\",\"physicalLocation\":\"Geneva\",\"pairedRegion\":[{\"name\":\"switzerlandnorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\",\"name\":\"ukwest\",\"displayName\":\"UK + West\",\"regionalDisplayName\":\"(Europe) UK West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"-3.084\",\"latitude\":\"53.427\",\"physicalLocation\":\"Cardiff\",\"pairedRegion\":[{\"name\":\"uksouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\",\"name\":\"uaecentral\",\"displayName\":\"UAE + Central\",\"regionalDisplayName\":\"(Middle East) UAE Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"54.366669\",\"latitude\":\"24.466667\",\"physicalLocation\":\"Abu + Dhabi\",\"pairedRegion\":[{\"name\":\"uaenorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\",\"name\":\"brazilsoutheast\",\"displayName\":\"Brazil + Southeast\",\"regionalDisplayName\":\"(South America) Brazil Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"-43.2075\",\"latitude\":\"-22.90278\",\"physicalLocation\":\"Rio\",\"pairedRegion\":[{\"name\":\"brazilsouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '31169' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:46 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"fabricASN": 65523, "ipv4Prefix": + "10.1.0.0/19", "ipv6Prefix": "2fff::/59", "managementNetworkConfiguration": + {"infrastructureVpnConfiguration": {"optionBProperties": {"exportRouteTargets": + ["65531:1002", "65532:1003"], "importRouteTargets": ["65521:2001", "65512:2002"]}, + "peeringOption": "OptionB"}, "workloadVpnConfiguration": {"optionBProperties": + {"exportRouteTargets": ["65531:1230", "65532:2301"], "importRouteTargets": ["65541:2001", + "65542:2002"]}, "peeringOption": "OptionB"}}, "networkFabricControllerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-nfc060223", + "networkFabricSku": "fab1", "rackCount": 3, "serverCountPerRack": 7, "terminalServerConfiguration": + {"password": "*****", "primaryIpv4Prefix": "20.20.0.0/27", "secondaryIpv4Prefix": + "20.20.0.0/25", "serialNumber": "1234", "username": "****"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric create + Connection: + - keep-alive + Content-Length: + - '991' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --location --resource-name --nf-sku --nfc-id --fabric-asn + --ipv4-prefix --ipv6-prefix --rack-count --server-count-per-rack --ts-config + --managed-network-config + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","name":"nfa-tool-ts-cli-nf061423","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:41:51.9063112Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:41:51.9063112Z"},"properties":{"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-nfc060223","terminalServerConfiguration":{"username":"****","serialNumber":"1234","primaryIpv4Prefix":"20.20.0.0/27","secondaryIpv4Prefix":"20.20.0.0/25"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65521:2001","65512:2002"],"exportRouteTargets":["65531:1002","65532:1003"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65541:2001","65542:2002"],"exportRouteTargets":["65531:1230","65532:2301"]}}},"provisioningState":"Accepted","rackCount":3,"serverCountPerRack":7,"ipv4Prefix":"10.1.0.0/19","ipv6Prefix":"2fff::/59","fabricASN":65523}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d7d7de2-23dc-4519-8873-8a2a6dfd732a*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '1541' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:54 GMT + etag: + - '"4e018de2-0000-0100-0000-648928f00000"' + expires: + - '-1' + mise-correlation-id: + - 00d2a1d9-12a6-4909-b719-cab75bdbe22e + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --location --resource-name --nf-sku --nfc-id --fabric-asn + --ipv4-prefix --ipv6-prefix --rack-count --server-count-per-rack --ts-config + --managed-network-config + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d7d7de2-23dc-4519-8873-8a2a6dfd732a*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d7d7de2-23dc-4519-8873-8a2a6dfd732a*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","name":"9d7d7de2-23dc-4519-8873-8a2a6dfd732a*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","status":"Updating","startTime":"2023-06-14T02:41:52.8206847Z"}' + headers: + cache-control: + - no-cache + content-length: + - '609' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:55 GMT + etag: + - '"98038051-0000-0100-0000-648928f00000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --location --resource-name --nf-sku --nfc-id --fabric-asn + --ipv4-prefix --ipv6-prefix --rack-count --server-count-per-rack --ts-config + --managed-network-config + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d7d7de2-23dc-4519-8873-8a2a6dfd732a*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/9d7d7de2-23dc-4519-8873-8a2a6dfd732a*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","name":"9d7d7de2-23dc-4519-8873-8a2a6dfd732a*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","status":"Succeeded","startTime":"2023-06-14T02:41:52.8206847Z","endTime":"2023-06-14T02:42:02.6485409Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '669' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:26 GMT + etag: + - '"98039251-0000-0100-0000-648928fa0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --location --resource-name --nf-sku --nfc-id --fabric-asn + --ipv4-prefix --ipv6-prefix --rack-count --server-count-per-rack --ts-config + --managed-network-config + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","name":"nfa-tool-ts-cli-nf061423","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:41:51.9063112Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:42:07.492859Z"},"properties":{"racks":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-aggrack","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-comprack1","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-comprack2"],"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-nfc060223","terminalServerConfiguration":{"username":"****","serialNumber":"1234","primaryIpv4Prefix":"20.20.0.0/27","secondaryIpv4Prefix":"20.20.0.0/25"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65521:2001","65512:2002"],"exportRouteTargets":["65531:1002","65532:1003"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65541:2001","65542:2002"],"exportRouteTargets":["65531:1230","65532:2301"]}}},"provisioningState":"Succeeded","rackCount":3,"serverCountPerRack":7,"ipv4Prefix":"10.1.0.0/19","ipv6Prefix":"2fff::/59","fabricASN":65523}}' + headers: + cache-control: + - no-cache + content-length: + - '2142' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:26 GMT + etag: + - '"4e0198e2-0000-0100-0000-648928ff0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","name":"nfa-tool-ts-cli-nf061423","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:41:51.9063112Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:42:07.492859Z"},"properties":{"racks":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-aggrack","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-comprack1","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-comprack2"],"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-nfc060223","terminalServerConfiguration":{"username":"****","serialNumber":"1234","primaryIpv4Prefix":"20.20.0.0/27","secondaryIpv4Prefix":"20.20.0.0/25"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65521:2001","65512:2002"],"exportRouteTargets":["65531:1002","65532:1003"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65541:2001","65542:2002"],"exportRouteTargets":["65531:1230","65532:2301"]}}},"provisioningState":"Succeeded","rackCount":3,"serverCountPerRack":7,"ipv4Prefix":"10.1.0.0/19","ipv6Prefix":"2fff::/59","fabricASN":65523}}' + headers: + cache-control: + - no-cache + content-length: + - '2142' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:30 GMT + etag: + - '"4e0198e2-0000-0100-0000-648928ff0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/networkFabrics?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestD15nf180423/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfTestD15180423","name":"nfTestD15180423","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus2euap","systemData":{"createdBy":"v-samkan@microsoft.com","createdByType":"User","createdAt":"2023-04-18T10:01:50.5560968Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-18T13:31:51.7541029Z"},"properties":{"racks":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testd15nf180423/providers/microsoft.managednetworkfabric/networkracks/nftestd15180423-aggrack","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testd15nf180423/providers/microsoft.managednetworkfabric/networkracks/nftestd15180423-comprack1","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testd15nf180423/providers/microsoft.managednetworkfabric/networkracks/nftestd15180423-comprack2"],"networkFabricSku":"M4-A400-A100-C16-aa","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testnfcrg032323-reg/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/testnfc032323-reg","terminalServerConfiguration":{"username":"root","serialNumber":"22482205168838","primaryIpv4Prefix":"10.11.255.248/30","secondaryIpv4Prefix":"10.11.255.240/30"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionA","optionAProperties":{"mtu":1500,"vlanId":512,"peerASN":64433,"bfdConfiguration":null,"primaryIpv4Prefix":"10.11.0.132/30","secondaryIpv4Prefix":"10.11.0.136/30"},"optionBProperties":{"importRouteTargets":["10000:64433","10000:64433"],"exportRouteTargets":["10000:64433","10000:64433"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionA","optionAProperties":{"mtu":1500,"vlanId":513,"peerASN":64433,"bfdConfiguration":null,"primaryIpv4Prefix":"10.11.0.120/30","secondaryIpv4Prefix":"10.11.0.116/30"},"optionBProperties":{"importRouteTargets":["10000:64433","10000:64433"],"exportRouteTargets":["10000:64433","10000:64433"]}}},"provisioningState":"Succeeded","rackCount":2,"serverCountPerRack":4,"ipv4Prefix":"10.11.0.0/19","ipv6Prefix":"fda0:d59c:da11::/59","fabricASN":10000}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/labtestnfcrg120922/providers/microsoft.managednetworkfabric/networkfabrics/testnfrg040423-e2etest-01","name":"testnfrg040423-e2etest-01","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus2euap","systemData":{"createdBy":"edf733ea-9067-4115-8588-b12c62d25d45","createdByType":"Application","createdAt":"2023-05-15T13:46:32.7512554Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-05-15T13:50:53.4374126Z"},"properties":{"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/labtestnfcrg120922/providers/microsoft.managednetworkfabric/networkfabriccontrollers/labtest022323","terminalServerConfiguration":{"username":"root","serialNumber":"22482301206308","primaryIpv4Prefix":"20.0.0.13/30","secondaryIpv4Prefix":"20.0.1.13/30"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65046:10039"],"exportRouteTargets":["65046:10039"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65046:10050"],"exportRouteTargets":["65046:10050"]}}},"provisioningState":"Failed","rackCount":2,"serverCountPerRack":7,"ipv4Prefix":"10.2.0.0/19","fabricASN":65046}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/labtestnfcrg150523/providers/microsoft.managednetworkfabric/networkfabrics/testnfrg040423-e2etest-01","name":"testnfrg040423-e2etest-01","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus2euap","systemData":{"createdBy":"edf733ea-9067-4115-8588-b12c62d25d45","createdByType":"Application","createdAt":"2023-05-16T05:52:29.6655592Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-05-16T05:56:44.8087551Z"},"properties":{"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/labtestnfcrg150523/providers/microsoft.managednetworkfabric/networkfabriccontrollers/NFC0516","terminalServerConfiguration":{"username":"root","serialNumber":"22482301206308","primaryIpv4Prefix":"20.0.0.13/30","secondaryIpv4Prefix":"20.0.1.13/30"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65046:10039"],"exportRouteTargets":["65046:10039"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65046:10050"],"exportRouteTargets":["65046:10050"]}}},"provisioningState":"Failed","rackCount":2,"serverCountPerRack":7,"ipv4Prefix":"10.2.0.0/19","fabricASN":65046}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/labtestnfcrg120922/providers/microsoft.managednetworkfabric/networkfabrics/NF-test-0515","name":"NF-test-0515","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus2euap","systemData":{"createdBy":"edf733ea-9067-4115-8588-b12c62d25d45","createdByType":"Application","createdAt":"2023-05-16T07:03:48.2720556Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-05-16T07:07:30.0234852Z"},"properties":{"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/labtestnfcrg120922/providers/microsoft.managednetworkfabric/networkfabriccontrollers/NFC-test-0515","terminalServerConfiguration":{"username":"root","serialNumber":"22482301206308","primaryIpv4Prefix":"20.0.0.13/30","secondaryIpv4Prefix":"20.0.1.13/30"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65046:10039"],"exportRouteTargets":["65046:10039"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65046:10050"],"exportRouteTargets":["65046:10050"]}}},"operationalState":"Deprovisioned","provisioningState":"Failed","rackCount":2,"serverCountPerRack":7,"ipv4Prefix":"10.2.0.0/19","fabricASN":65046}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/networkfabrics/nffab1061323","name":"nffab1061323","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus2euap","systemData":{"createdBy":"edf733ea-9067-4115-8588-b12c62d25d45","createdByType":"Application","createdAt":"2023-06-13T12:06:09.8729126Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T18:10:08.3273262Z"},"properties":{"racks":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/networkracks/nffab1061323-aggrack","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/networkracks/nffab1061323-comprack1","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/networkracks/nffab1061323-comprack2"],"l2IsolationDomains":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/l2isolationdomains/l2isd0613"],"l3IsolationDomains":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/l3isolationdomains/nfcfab1061323-nffab1061323-l3isd3-1196","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/l3isolationdomains/fab1l3isd0613","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/l3isolationdomains/fab1l3isd6132023","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/l3isolationdomains/fab1isdl3"],"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfcrg061323/providers/microsoft.managednetworkfabric/networkfabriccontrollers/nfcfab1061323","terminalServerConfiguration":{"username":"root","serialNumber":"22482112150801","primaryIpv4Prefix":"20.0.1.0/30","secondaryIpv4Prefix":"20.0.0.0/30"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65048:10039"],"exportRouteTargets":["65048:10039"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65048:10050"],"exportRouteTargets":["65048:10050"]}}},"operationalState":"Provisioned","provisioningState":"Succeeded","rackCount":2,"serverCountPerRack":7,"ipv4Prefix":"10.2.0.0/19","ipv6Prefix":"fda0:d59c:da02::/59","fabricASN":65048}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scusnfrgsanity042323/providers/Microsoft.ManagedNetworkFabric/networkFabrics/scusnfsanity042323","name":"scusnfsanity042323","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus","systemData":{"createdBy":"v-kokreddy@microsoft.com","createdByType":"User","createdAt":"2023-04-23T08:58:57.6893718Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-23T08:59:00.1542758Z"},"properties":{"networkFabricSku":"M4-A400-A100-C16-aa","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/d15fixnfcrg042023/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/d15fixnfc042023","terminalServerConfiguration":{"username":"root","serialNumber":"22482301206308","primaryIpv4Prefix":"20.0.0.12/30","secondaryIpv4Prefix":"20.0.1.12/30"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65046:10039"],"exportRouteTargets":["65046:10039"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65046:10050"],"exportRouteTargets":["65046:10050"]}}},"provisioningState":"Failed","rackCount":2,"serverCountPerRack":2,"ipv4Prefix":"10.18.0.0/16","ipv6Prefix":"fda0:d59c:da12::/59","fabricASN":65046}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","name":"nfa-tool-ts-nf060523","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-05T07:01:20.2777059Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:36:52.733968Z"},"properties":{"racks":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-nf060523-aggrack","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-nf060523-comprack1","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-nf060523-comprack2"],"l2IsolationDomains":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/l2isolationdomains/nfa-tool-ts-cli-l2domain1-061423"],"l3IsolationDomains":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/l3isolationdomains/nfa-tool-ts-cli-l3domain1-061223"],"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-nfc060223","terminalServerConfiguration":{"username":"qwer","serialNumber":"1234","primaryIpv4Prefix":"172.31.0.0/30","secondaryIpv4Prefix":"172.31.0.20/30"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionA","optionAProperties":{"mtu":1500,"vlanId":501,"peerASN":65133,"primaryIpv4Prefix":"172.31.0.0/31","secondaryIpv4Prefix":"172.31.0.0/31"}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionA","optionAProperties":{"mtu":1500,"vlanId":501,"peerASN":65133,"primaryIpv4Prefix":"172.31.0.0/31","secondaryIpv4Prefix":"172.31.0.0/31"}}},"operationalState":"Provisioned","provisioningState":"Succeeded","rackCount":3,"serverCountPerRack":7,"ipv4Prefix":"10.1.0.0/19","fabricASN":20}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","name":"nfa-tool-ts-cli-nf1-061223","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-12T09:42:43.9104581Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:42:21.2279339Z"},"properties":{"racks":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf1-061223-aggrack","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf1-061223-comprack1","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf1-061223-comprack2"],"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clitestrg/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061223","terminalServerConfiguration":{"username":"****","serialNumber":"1234","primaryIpv4Prefix":"172.31.0.0/30","secondaryIpv4Prefix":"172.31.0.20/30"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65541:2001","65542:2002"],"exportRouteTargets":["65531:1002","65532:1003"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65541:2001","65542:2002"],"exportRouteTargets":["65531:1230","65532:2301"]}}},"operationalState":"Deprovisioned","provisioningState":"Succeeded","rackCount":3,"serverCountPerRack":7,"ipv4Prefix":"10.1.0.0/19","fabricASN":20}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","name":"nfa-tool-ts-cli-nf061423","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:41:51.9063112Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:42:07.492859Z"},"properties":{"racks":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-aggrack","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-comprack1","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-comprack2"],"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-nfc060223","terminalServerConfiguration":{"username":"****","serialNumber":"1234","primaryIpv4Prefix":"20.20.0.0/27","secondaryIpv4Prefix":"20.20.0.0/25"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65521:2001","65512:2002"],"exportRouteTargets":["65531:1002","65532:1003"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65541:2001","65542:2002"],"exportRouteTargets":["65531:1230","65532:2301"]}}},"provisioningState":"Succeeded","rackCount":3,"serverCountPerRack":7,"ipv4Prefix":"10.1.0.0/19","ipv6Prefix":"2fff::/59","fabricASN":65523}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ankitha-rg/providers/microsoft.managednetworkfabric/networkfabrics/testnfrg040423-e2etest-01","name":"testnfrg040423-e2etest-01","type":"microsoft.managednetworkfabric/networkfabrics","location":"westus3","systemData":{"createdBy":"v-akurapati@microsoft.com","createdByType":"User","createdAt":"2023-04-26T09:09:39.7050638Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-26T09:09:43.5022299Z"},"properties":{"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ankitha-rg/providers/microsoft.managednetworkfabric/networkfabriccontrollers/nfcankitha","terminalServerConfiguration":{"username":"root","serialNumber":"22482301206308","primaryIpv4Prefix":"20.0.0.13/30","secondaryIpv4Prefix":"20.0.1.13/30"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65046:10039"],"exportRouteTargets":["65046:10039"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65046:10050"],"exportRouteTargets":["65046:10050"]}}},"provisioningState":"Succeeded","rackCount":2,"serverCountPerRack":7,"ipv4Prefix":"10.2.0.0/19","fabricASN":65046}}]}' + headers: + cache-control: + - no-cache + content-length: + - '19533' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - c8a15783-919e-448c-b667-d0995eba6a35 + - 8c104cb8-a1f5-428e-ae67-cea7a471e077 + - ec0998d5-ab96-4c8f-9f4b-c77cacd0401e + - d516509a-3562-42e2-a995-d4387202a6f5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-nf060523","name":"nfa-tool-ts-nf060523","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-05T07:01:20.2777059Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:36:52.733968Z"},"properties":{"racks":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-nf060523-aggrack","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-nf060523-comprack1","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-nf060523-comprack2"],"l2IsolationDomains":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/l2isolationdomains/nfa-tool-ts-cli-l2domain1-061423"],"l3IsolationDomains":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/l3isolationdomains/nfa-tool-ts-cli-l3domain1-061223"],"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-nfc060223","terminalServerConfiguration":{"username":"qwer","serialNumber":"1234","primaryIpv4Prefix":"172.31.0.0/30","secondaryIpv4Prefix":"172.31.0.20/30"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionA","optionAProperties":{"mtu":1500,"vlanId":501,"peerASN":65133,"primaryIpv4Prefix":"172.31.0.0/31","secondaryIpv4Prefix":"172.31.0.0/31"}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionA","optionAProperties":{"mtu":1500,"vlanId":501,"peerASN":65133,"primaryIpv4Prefix":"172.31.0.0/31","secondaryIpv4Prefix":"172.31.0.0/31"}}},"operationalState":"Provisioned","provisioningState":"Succeeded","rackCount":3,"serverCountPerRack":7,"ipv4Prefix":"10.1.0.0/19","fabricASN":20}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","name":"nfa-tool-ts-cli-nf1-061223","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-12T09:42:43.9104581Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:42:21.2279339Z"},"properties":{"racks":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf1-061223-aggrack","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf1-061223-comprack1","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf1-061223-comprack2"],"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clitestrg/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061223","terminalServerConfiguration":{"username":"****","serialNumber":"1234","primaryIpv4Prefix":"172.31.0.0/30","secondaryIpv4Prefix":"172.31.0.20/30"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65541:2001","65542:2002"],"exportRouteTargets":["65531:1002","65532:1003"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65541:2001","65542:2002"],"exportRouteTargets":["65531:1230","65532:2301"]}}},"operationalState":"Deprovisioned","provisioningState":"Succeeded","rackCount":3,"serverCountPerRack":7,"ipv4Prefix":"10.1.0.0/19","fabricASN":20}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","name":"nfa-tool-ts-cli-nf061423","type":"microsoft.managednetworkfabric/networkfabrics","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:41:51.9063112Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-14T02:42:07.492859Z"},"properties":{"racks":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-aggrack","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-comprack1","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkracks/nfa-tool-ts-cli-nf061423-comprack2"],"networkFabricSku":"fab1","networkFabricControllerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-nfc060223","terminalServerConfiguration":{"username":"****","serialNumber":"1234","primaryIpv4Prefix":"20.20.0.0/27","secondaryIpv4Prefix":"20.20.0.0/25"},"managementNetworkConfiguration":{"infrastructureVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65521:2001","65512:2002"],"exportRouteTargets":["65531:1002","65532:1003"]}},"workloadVpnConfiguration":{"administrativeState":"Enabled","peeringOption":"OptionB","optionBProperties":{"importRouteTargets":["65541:2001","65542:2002"],"exportRouteTargets":["65531:1230","65532:2301"]}}},"provisioningState":"Succeeded","rackCount":3,"serverCountPerRack":7,"ipv4Prefix":"10.1.0.0/19","ipv6Prefix":"2fff::/59","fabricASN":65523}}]}' + headers: + cache-control: + - no-cache + content-length: + - '6910' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - e4c48a79-9fca-4dd3-8e6c-3d475975a6fb + - 24c763dd-0e47-4b25-86a8-37ddd0366bda + - d3154929-6ad4-4182-8fe2-07c9ed70b4d4 + - 815b602b-6d51-439f-bc28-459eeadc6c77 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:35 GMT + etag: + - '"4e0128e3-0000-0100-0000-6489291b0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064?api-version=2023-02-01-preview + mise-correlation-id: + - eedf6041-65e4-4715-9c80-b2099f7b2afb + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","name":"ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","status":"Deleting","startTime":"2023-06-14T02:42:35.7337268Z"}' + headers: + cache-control: + - no-cache + content-length: + - '609' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:36 GMT + etag: + - '"9803ce52-0000-0100-0000-6489291b0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","name":"ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","status":"Deleting","startTime":"2023-06-14T02:42:35.7337268Z"}' + headers: + cache-control: + - no-cache + content-length: + - '609' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:08 GMT + etag: + - '"9803ce52-0000-0100-0000-6489291b0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","name":"ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","status":"Deleting","startTime":"2023-06-14T02:42:35.7337268Z"}' + headers: + cache-control: + - no-cache + content-length: + - '609' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:39 GMT + etag: + - '"9803ce52-0000-0100-0000-6489291b0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","name":"ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","status":"Deleting","startTime":"2023-06-14T02:42:35.7337268Z"}' + headers: + cache-control: + - no-cache + content-length: + - '609' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:44:10 GMT + etag: + - '"9803ce52-0000-0100-0000-6489291b0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","name":"ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","status":"Succeeded","startTime":"2023-06-14T02:42:35.7337268Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '628' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:44:41 GMT + etag: + - '"98039f57-0000-0100-0000-648929900000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","name":"ba0e919e-6d1c-44e3-b5de-8079756e4d07*06B444CFAD82356ABCBF81C55D0B7BFB64D899B1AA2AFD31EAA1B2209FC40064","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf061423","status":"Succeeded","startTime":"2023-06-14T02:42:35.7337268Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '628' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:44:41 GMT + etag: + - '"98039f57-0000-0100-0000-648929900000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nf_scenario2.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nf_scenario2.yaml new file mode 100644 index 00000000000..bbc8e8a523f --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nf_scenario2.yaml @@ -0,0 +1,332 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric provision + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223/provision?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1cf02001-4892-41c8-bf9e-1370d871f8dc*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:46 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1cf02001-4892-41c8-bf9e-1370d871f8dc*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1?api-version=2023-02-01-preview + mise-correlation-id: + - d064b810-a2ab-46b2-afb1-cea7cc2a2d51 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric provision + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1cf02001-4892-41c8-bf9e-1370d871f8dc*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1cf02001-4892-41c8-bf9e-1370d871f8dc*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1","name":"1cf02001-4892-41c8-bf9e-1370d871f8dc*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","status":"Updating","startTime":"2023-06-14T02:41:46.894624Z"}' + headers: + cache-control: + - no-cache + content-length: + - '610' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:47 GMT + etag: + - '"98036b51-0000-0100-0000-648928eb0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric provision + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1cf02001-4892-41c8-bf9e-1370d871f8dc*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1cf02001-4892-41c8-bf9e-1370d871f8dc*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1","name":"1cf02001-4892-41c8-bf9e-1370d871f8dc*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","status":"Succeeded","startTime":"2023-06-14T02:41:46.894624Z","endTime":"2023-06-14T02:42:01.6041882Z","error":{"code":"NetworkFabricProvisionFailed","message":"!isProcessed"},"properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '743' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:19 GMT + etag: + - '"98039051-0000-0100-0000-648928f90000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric provision + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1cf02001-4892-41c8-bf9e-1370d871f8dc*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/1cf02001-4892-41c8-bf9e-1370d871f8dc*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1","name":"1cf02001-4892-41c8-bf9e-1370d871f8dc*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","status":"Succeeded","startTime":"2023-06-14T02:41:46.894624Z","endTime":"2023-06-14T02:42:01.6041882Z","error":{"code":"NetworkFabricProvisionFailed","message":"!isProcessed"},"properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '743' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:19 GMT + etag: + - '"98039051-0000-0100-0000-648928f90000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric deprovision + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223/deprovision?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/208168bd-2573-451d-807b-0c205ac8f760*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/208168bd-2573-451d-807b-0c205ac8f760*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1?api-version=2023-02-01-preview + mise-correlation-id: + - 184f03f7-ce3d-478c-b88e-fa59c0f8b171 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric deprovision + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/208168bd-2573-451d-807b-0c205ac8f760*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/208168bd-2573-451d-807b-0c205ac8f760*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1","name":"208168bd-2573-451d-807b-0c205ac8f760*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","status":"Succeeded","startTime":"2023-06-14T02:42:20.9647164Z","endTime":"2023-06-14T02:42:21.3640861Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '671' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:21 GMT + etag: + - '"98037452-0000-0100-0000-6489290d0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric fabric deprovision + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/208168bd-2573-451d-807b-0c205ac8f760*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/208168bd-2573-451d-807b-0c205ac8f760*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1","name":"208168bd-2573-451d-807b-0c205ac8f760*97DE87ADBFC177CE87465E8A2DF1C29B9AE0E2DA47FB007591B8D2C8B84804D1","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223","status":"Succeeded","startTime":"2023-06-14T02:42:20.9647164Z","endTime":"2023-06-14T02:42:21.3640861Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '671' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:21 GMT + etag: + - '"98037452-0000-0100-0000-6489290d0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nfc_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nfc_scenario1.yaml new file mode 100644 index 00000000000..f8ede792671 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nfc_scenario1.yaml @@ -0,0 +1,340 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --location --resource-name --infra-er-connections --workload-er-connections + --ipv4-address-space --no-wait + User-Agent: + - AZURECLI/2.49.0 azsdk-python-azure-mgmt-resource/22.0.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: "{\"value\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\",\"name\":\"eastus\",\"displayName\":\"East + US\",\"regionalDisplayName\":\"(US) East US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"westus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\",\"name\":\"eastus2\",\"displayName\":\"East + US 2\",\"regionalDisplayName\":\"(US) East US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"centralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\",\"name\":\"southcentralus\",\"displayName\":\"South + Central US\",\"regionalDisplayName\":\"(US) South Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"northcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\",\"name\":\"westus2\",\"displayName\":\"West + US 2\",\"regionalDisplayName\":\"(US) West US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-119.852\",\"latitude\":\"47.233\",\"physicalLocation\":\"Washington\",\"pairedRegion\":[{\"name\":\"westcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-112.074036\",\"latitude\":\"33.448376\",\"physicalLocation\":\"Phoenix\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\",\"name\":\"australiaeast\",\"displayName\":\"Australia + East\",\"regionalDisplayName\":\"(Asia Pacific) Australia East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"151.2094\",\"latitude\":\"-33.86\",\"physicalLocation\":\"New + South Wales\",\"pairedRegion\":[{\"name\":\"australiasoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\",\"name\":\"southeastasia\",\"displayName\":\"Southeast + Asia\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"103.833\",\"latitude\":\"1.283\",\"physicalLocation\":\"Singapore\",\"pairedRegion\":[{\"name\":\"eastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\",\"name\":\"northeurope\",\"displayName\":\"North + Europe\",\"regionalDisplayName\":\"(Europe) North Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-6.2597\",\"latitude\":\"53.3478\",\"physicalLocation\":\"Ireland\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\",\"name\":\"uksouth\",\"displayName\":\"UK + South\",\"regionalDisplayName\":\"(Europe) UK South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-0.799\",\"latitude\":\"50.941\",\"physicalLocation\":\"London\",\"pairedRegion\":[{\"name\":\"ukwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\",\"name\":\"westeurope\",\"displayName\":\"West + Europe\",\"regionalDisplayName\":\"(Europe) West Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"4.9\",\"latitude\":\"52.3667\",\"physicalLocation\":\"Netherlands\",\"pairedRegion\":[{\"name\":\"northeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\",\"name\":\"centralus\",\"displayName\":\"Central + US\",\"regionalDisplayName\":\"(US) Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"Iowa\",\"pairedRegion\":[{\"name\":\"eastus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\",\"name\":\"southafricanorth\",\"displayName\":\"South + Africa North\",\"regionalDisplayName\":\"(Africa) South Africa North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Africa\",\"longitude\":\"28.21837\",\"latitude\":\"-25.73134\",\"physicalLocation\":\"Johannesburg\",\"pairedRegion\":[{\"name\":\"southafricawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\",\"name\":\"centralindia\",\"displayName\":\"Central + India\",\"regionalDisplayName\":\"(Asia Pacific) Central India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"73.9197\",\"latitude\":\"18.5822\",\"physicalLocation\":\"Pune\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\",\"name\":\"eastasia\",\"displayName\":\"East + Asia\",\"regionalDisplayName\":\"(Asia Pacific) East Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"114.188\",\"latitude\":\"22.267\",\"physicalLocation\":\"Hong + Kong\",\"pairedRegion\":[{\"name\":\"southeastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\",\"name\":\"japaneast\",\"displayName\":\"Japan + East\",\"regionalDisplayName\":\"(Asia Pacific) Japan East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"139.77\",\"latitude\":\"35.68\",\"physicalLocation\":\"Tokyo, + Saitama\",\"pairedRegion\":[{\"name\":\"japanwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\",\"name\":\"koreacentral\",\"displayName\":\"Korea + Central\",\"regionalDisplayName\":\"(Asia Pacific) Korea Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"126.978\",\"latitude\":\"37.5665\",\"physicalLocation\":\"Seoul\",\"pairedRegion\":[{\"name\":\"koreasouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\",\"name\":\"canadacentral\",\"displayName\":\"Canada + Central\",\"regionalDisplayName\":\"(Canada) Canada Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Canada\",\"longitude\":\"-79.383\",\"latitude\":\"43.653\",\"physicalLocation\":\"Toronto\",\"pairedRegion\":[{\"name\":\"canadaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\",\"name\":\"francecentral\",\"displayName\":\"France + Central\",\"regionalDisplayName\":\"(Europe) France Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.373\",\"latitude\":\"46.3772\",\"physicalLocation\":\"Paris\",\"pairedRegion\":[{\"name\":\"francesouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\",\"name\":\"germanywestcentral\",\"displayName\":\"Germany + West Central\",\"regionalDisplayName\":\"(Europe) Germany West Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.682127\",\"latitude\":\"50.110924\",\"physicalLocation\":\"Frankfurt\",\"pairedRegion\":[{\"name\":\"germanynorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\",\"name\":\"norwayeast\",\"displayName\":\"Norway + East\",\"regionalDisplayName\":\"(Europe) Norway East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"10.752245\",\"latitude\":\"59.913868\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwaywest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/polandcentral\",\"name\":\"polandcentral\",\"displayName\":\"Poland + Central\",\"regionalDisplayName\":\"(Europe) Poland Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"21.01666\",\"latitude\":\"52.23334\",\"physicalLocation\":\"Warsaw\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\",\"name\":\"switzerlandnorth\",\"displayName\":\"Switzerland + North\",\"regionalDisplayName\":\"(Europe) Switzerland North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.564572\",\"latitude\":\"47.451542\",\"physicalLocation\":\"Zurich\",\"pairedRegion\":[{\"name\":\"switzerlandwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\",\"name\":\"uaenorth\",\"displayName\":\"UAE + North\",\"regionalDisplayName\":\"(Middle East) UAE North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"55.316666\",\"latitude\":\"25.266666\",\"physicalLocation\":\"Dubai\",\"pairedRegion\":[{\"name\":\"uaecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\",\"name\":\"brazilsouth\",\"displayName\":\"Brazil + South\",\"regionalDisplayName\":\"(South America) Brazil South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"South + America\",\"longitude\":\"-46.633\",\"latitude\":\"-23.55\",\"physicalLocation\":\"Sao + Paulo State\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\",\"name\":\"centraluseuap\",\"displayName\":\"Central + US EUAP\",\"regionalDisplayName\":\"(US) Central US EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"eastus2euap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\",\"name\":\"eastus2euap\",\"displayName\":\"East + US 2 EUAP\",\"regionalDisplayName\":\"(US) East US 2 EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"centraluseuap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Middle East) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage\",\"name\":\"centralusstage\",\"displayName\":\"Central + US (Stage)\",\"regionalDisplayName\":\"(US) Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage\",\"name\":\"eastusstage\",\"displayName\":\"East + US (Stage)\",\"regionalDisplayName\":\"(US) East US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage\",\"name\":\"eastus2stage\",\"displayName\":\"East + US 2 (Stage)\",\"regionalDisplayName\":\"(US) East US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage\",\"name\":\"northcentralusstage\",\"displayName\":\"North + Central US (Stage)\",\"regionalDisplayName\":\"(US) North Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage\",\"name\":\"southcentralusstage\",\"displayName\":\"South + Central US (Stage)\",\"regionalDisplayName\":\"(US) South Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage\",\"name\":\"westusstage\",\"displayName\":\"West + US (Stage)\",\"regionalDisplayName\":\"(US) West US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage\",\"name\":\"westus2stage\",\"displayName\":\"West + US 2 (Stage)\",\"regionalDisplayName\":\"(US) West US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia\",\"name\":\"asia\",\"displayName\":\"Asia\",\"regionalDisplayName\":\"Asia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific\",\"name\":\"asiapacific\",\"displayName\":\"Asia + Pacific\",\"regionalDisplayName\":\"Asia Pacific\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia\",\"name\":\"australia\",\"displayName\":\"Australia\",\"regionalDisplayName\":\"Australia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil\",\"name\":\"brazil\",\"displayName\":\"Brazil\",\"regionalDisplayName\":\"Brazil\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada\",\"name\":\"canada\",\"displayName\":\"Canada\",\"regionalDisplayName\":\"Canada\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe\",\"name\":\"europe\",\"displayName\":\"Europe\",\"regionalDisplayName\":\"Europe\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global\",\"name\":\"global\",\"displayName\":\"Global\",\"regionalDisplayName\":\"Global\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india\",\"name\":\"india\",\"displayName\":\"India\",\"regionalDisplayName\":\"India\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan\",\"name\":\"japan\",\"displayName\":\"Japan\",\"regionalDisplayName\":\"Japan\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/singapore\",\"name\":\"singapore\",\"displayName\":\"Singapore\",\"regionalDisplayName\":\"Singapore\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk\",\"name\":\"uk\",\"displayName\":\"United + Kingdom\",\"regionalDisplayName\":\"United Kingdom\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates\",\"name\":\"unitedstates\",\"displayName\":\"United + States\",\"regionalDisplayName\":\"United States\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage\",\"name\":\"eastasiastage\",\"displayName\":\"East + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) East Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage\",\"name\":\"southeastasiastage\",\"displayName\":\"Southeast + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilus\",\"name\":\"brazilus\",\"displayName\":\"Brazil + US\",\"regionalDisplayName\":\"(South America) Brazil US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"0\",\"latitude\":\"0\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"brazilsoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\",\"name\":\"northcentralus\",\"displayName\":\"North + Central US\",\"regionalDisplayName\":\"(US) North Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-87.6278\",\"latitude\":\"41.8819\",\"physicalLocation\":\"Illinois\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\",\"name\":\"westus\",\"displayName\":\"West + US\",\"regionalDisplayName\":\"(US) West US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-122.417\",\"latitude\":\"37.783\",\"physicalLocation\":\"California\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\",\"name\":\"jioindiawest\",\"displayName\":\"Jio + India West\",\"regionalDisplayName\":\"(Asia Pacific) Jio India West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"70.05773\",\"latitude\":\"22.470701\",\"physicalLocation\":\"Jamnagar\",\"pairedRegion\":[{\"name\":\"jioindiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\",\"name\":\"westcentralus\",\"displayName\":\"West + Central US\",\"regionalDisplayName\":\"(US) West Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-110.234\",\"latitude\":\"40.89\",\"physicalLocation\":\"Wyoming\",\"pairedRegion\":[{\"name\":\"westus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\",\"name\":\"southafricawest\",\"displayName\":\"South + Africa West\",\"regionalDisplayName\":\"(Africa) South Africa West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Africa\",\"longitude\":\"18.843266\",\"latitude\":\"-34.075691\",\"physicalLocation\":\"Cape + Town\",\"pairedRegion\":[{\"name\":\"southafricanorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\",\"name\":\"australiacentral\",\"displayName\":\"Australia + Central\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\",\"name\":\"australiacentral2\",\"displayName\":\"Australia + Central 2\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\",\"name\":\"australiasoutheast\",\"displayName\":\"Australia + Southeast\",\"regionalDisplayName\":\"(Asia Pacific) Australia Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"144.9631\",\"latitude\":\"-37.8136\",\"physicalLocation\":\"Victoria\",\"pairedRegion\":[{\"name\":\"australiaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\",\"name\":\"japanwest\",\"displayName\":\"Japan + West\",\"regionalDisplayName\":\"(Asia Pacific) Japan West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"135.5022\",\"latitude\":\"34.6939\",\"physicalLocation\":\"Osaka\",\"pairedRegion\":[{\"name\":\"japaneast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\",\"name\":\"jioindiacentral\",\"displayName\":\"Jio + India Central\",\"regionalDisplayName\":\"(Asia Pacific) Jio India Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"79.08886\",\"latitude\":\"21.146633\",\"physicalLocation\":\"Nagpur\",\"pairedRegion\":[{\"name\":\"jioindiawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\",\"name\":\"koreasouth\",\"displayName\":\"Korea + South\",\"regionalDisplayName\":\"(Asia Pacific) Korea South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"129.0756\",\"latitude\":\"35.1796\",\"physicalLocation\":\"Busan\",\"pairedRegion\":[{\"name\":\"koreacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\",\"name\":\"southindia\",\"displayName\":\"South + India\",\"regionalDisplayName\":\"(Asia Pacific) South India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"80.1636\",\"latitude\":\"12.9822\",\"physicalLocation\":\"Chennai\",\"pairedRegion\":[{\"name\":\"centralindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia\",\"name\":\"westindia\",\"displayName\":\"West + India\",\"regionalDisplayName\":\"(Asia Pacific) West India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"72.868\",\"latitude\":\"19.088\",\"physicalLocation\":\"Mumbai\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\",\"name\":\"canadaeast\",\"displayName\":\"Canada + East\",\"regionalDisplayName\":\"(Canada) Canada East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Canada\",\"longitude\":\"-71.217\",\"latitude\":\"46.817\",\"physicalLocation\":\"Quebec\",\"pairedRegion\":[{\"name\":\"canadacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\",\"name\":\"francesouth\",\"displayName\":\"France + South\",\"regionalDisplayName\":\"(Europe) France South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.1972\",\"latitude\":\"43.8345\",\"physicalLocation\":\"Marseille\",\"pairedRegion\":[{\"name\":\"francecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\",\"name\":\"germanynorth\",\"displayName\":\"Germany + North\",\"regionalDisplayName\":\"(Europe) Germany North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.806422\",\"latitude\":\"53.073635\",\"physicalLocation\":\"Berlin\",\"pairedRegion\":[{\"name\":\"germanywestcentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\",\"name\":\"norwaywest\",\"displayName\":\"Norway + West\",\"regionalDisplayName\":\"(Europe) Norway West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"5.733107\",\"latitude\":\"58.969975\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwayeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\",\"name\":\"switzerlandwest\",\"displayName\":\"Switzerland + West\",\"regionalDisplayName\":\"(Europe) Switzerland West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"6.143158\",\"latitude\":\"46.204391\",\"physicalLocation\":\"Geneva\",\"pairedRegion\":[{\"name\":\"switzerlandnorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\",\"name\":\"ukwest\",\"displayName\":\"UK + West\",\"regionalDisplayName\":\"(Europe) UK West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"-3.084\",\"latitude\":\"53.427\",\"physicalLocation\":\"Cardiff\",\"pairedRegion\":[{\"name\":\"uksouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\",\"name\":\"uaecentral\",\"displayName\":\"UAE + Central\",\"regionalDisplayName\":\"(Middle East) UAE Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"54.366669\",\"latitude\":\"24.466667\",\"physicalLocation\":\"Abu + Dhabi\",\"pairedRegion\":[{\"name\":\"uaenorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\",\"name\":\"brazilsoutheast\",\"displayName\":\"Brazil + Southeast\",\"regionalDisplayName\":\"(South America) Brazil Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"-43.2075\",\"latitude\":\"-22.90278\",\"physicalLocation\":\"Rio\",\"pairedRegion\":[{\"name\":\"brazilsouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '31169' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:33 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"infrastructureExpressRouteConnections": + [{"expressRouteAuthorizationKey": "", "expressRouteCircuitId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}], + "ipv4AddressSpace": "20.0.0.0/19", "workloadExpressRouteConnections": [{"expressRouteAuthorizationKey": + "", "expressRouteCircuitId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller create + Connection: + - keep-alive + Content-Length: + - '591' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --location --resource-name --infra-er-connections --workload-er-connections + --ipv4-address-space --no-wait + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061423","name":"nfa-tool-ts-cli-nfc061423","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:41:36.8480599Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:41:36.8480599Z"},"properties":{"infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"ipv4AddressSpace":"20.0.0.0/19","workloadExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"managedResourceGroupConfiguration":{"location":"eastus","name":"nfa-tool-ts-cli-nfc061423-HostedResources-13F9FE1E"},"provisioningState":"Accepted"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/2a554f30-f7cc-4f9c-8687-e4e716bf2aed*BF0EC37D727A07AC136C27B1027D25E70E4F7370176FB8B200B9C1ED5C03BE96?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '1183' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:39 GMT + etag: + - '"69045598-0000-0100-0000-648928e20000"' + expires: + - '-1' + mise-correlation-id: + - 5d62fd81-23ed-491c-82aa-6ad288c366ed + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061423","name":"nfa-tool-ts-cli-nfc061423","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:41:36.8480599Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:41:36.8480599Z"},"properties":{"infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"ipv4AddressSpace":"20.0.0.0/19","workloadExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"managedResourceGroupConfiguration":{"location":"eastus","name":"nfa-tool-ts-cli-nfc061423-HostedResources-13F9FE1E"},"provisioningState":"Accepted"}}' + headers: + cache-control: + - no-cache + content-length: + - '1183' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:41 GMT + etag: + - '"69045598-0000-0100-0000-648928e20000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/labtestnfcrg150523/providers/microsoft.managednetworkfabric/networkFabriccontrollers/NFC-Test-172023","name":"NFC-Test-172023","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus2euap","systemData":{"createdBy":"v-thvishnupr@microsoft.com","createdByType":"User","createdAt":"2023-05-17T07:19:00.9840797Z","lastModifiedBy":"v-thvishnupr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-05-17T07:19:00.9840797Z"},"properties":{"managedResourceGroupConfiguration":{"location":"eastus2euap","name":"managedResourceGroupName"},"ipv4AddressSpace":"10.245.160.0/19","annotation":"lab1","infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-11"}],"workloadExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-12"}],"provisioningState":"Failed"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/labtestnfcrg120922/providers/microsoft.managednetworkfabric/networkFabriccontrollers/nffab303012023","name":"nffab303012023","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus2euap","systemData":{"createdBy":"v-rajonnalag@microsoft.com","createdByType":"User","createdAt":"2023-05-17T10:39:01.7469605Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T12:44:47.8088911Z"},"properties":{"provisioningState":"Failed","operationalState":"Succeeded","workloadManagementNetwork":true,"infrastructureServices":{"ipv4AddressSpaces":["10.0.0.0/21"],"ipv6AddressSpaces":[]},"workloadServices":{"ipv4AddressSpaces":["10.0.28.0/22"],"ipv6AddressSpaces":[]},"ipv4AddressSpace":"10.0.0.0/19","infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-13"}],"workloadExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-14"}],"managedResourceGroupConfiguration":{"location":"eastus2euap","name":"nffab303012023-HostedResources-4985EE11"}}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/labtestnfcrg150523/providers/microsoft.managednetworkfabric/networkFabriccontrollers/nfc240523","name":"nfc240523","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus2euap","systemData":{"createdBy":"edf733ea-9067-4115-8588-b12c62d25d45","createdByType":"Application","createdAt":"2023-05-24T09:51:45.7718562Z","lastModifiedBy":"edf733ea-9067-4115-8588-b12c62d25d45","lastModifiedByType":"Application","lastModifiedAt":"2023-05-24T09:51:45.7718562Z"},"properties":{"ipv4AddressSpace":"10.0.0.0/19","annotation":"Fab2","infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-13"}],"workloadExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-14"}],"managedResourceGroupConfiguration":{"location":"eastus2euap","name":"nfc240523-HostedResources-0C087F5B"},"provisioningState":"Failed","operationalState":"Succeeded","workloadManagementNetwork":true,"infrastructureServices":{"ipv4AddressSpaces":["10.0.0.0/21"],"ipv6AddressSpaces":[]},"workloadServices":{"ipv4AddressSpaces":["10.0.28.0/22"],"ipv6AddressSpaces":[]}}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfcrg061323/providers/microsoft.managednetworkfabric/networkFabriccontrollers/nfcfab1061323","name":"nfcfab1061323","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus2euap","systemData":{"createdBy":"edf733ea-9067-4115-8588-b12c62d25d45","createdByType":"Application","createdAt":"2023-06-13T11:08:17.9826172Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T12:06:30.512505Z"},"properties":{"managedResourceGroupConfiguration":{"location":"eastus2euap","name":"nfcfab1061323-HostedResources-1AEC8AB2"},"ipv4AddressSpace":"10.245.96.0/19","annotation":"fab1","infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01"}],"workloadExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-04"}],"provisioningState":"Succeeded","operationalState":"Succeeded","workloadManagementNetwork":true,"infrastructureServices":{"ipv4AddressSpaces":["10.245.96.0/21"],"ipv6AddressSpaces":[]},"workloadServices":{"ipv4AddressSpaces":["10.245.124.0/22"],"ipv6AddressSpaces":[]},"networkFabricIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/fab1nfrg061323/providers/microsoft.managednetworkfabric/networkfabrics/nffab1061323"]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-nfc060223","name":"nfa-tool-ts-nfc060223","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-05T05:39:38.5844335Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:07:08.746557Z"},"properties":{"infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"ssabcdefghabcdefgh"}],"ipv4AddressSpace":"10.0.0.0/19","workloadExpressRouteConnections":[{"expressRouteCircuitId":"ssabcdefghabcdefgh"}],"managedResourceGroupConfiguration":{"location":"eastus","name":"nfa-tool-ts-nfc060223-HostedResources-4166D7B2"},"provisioningState":"Succeeded","operationalState":"Succeeded","workloadManagementNetwork":true,"infrastructureServices":{"ipv4AddressSpaces":["10.0.0.0/21"],"ipv6AddressSpaces":[]},"workloadServices":{"ipv4AddressSpaces":["10.0.28.0/22"],"ipv6AddressSpaces":[]},"networkFabricIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkfabrics/nfa-tool-ts-nf060523"]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","name":"nfa-tool-ts-cli-nfc061323","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:07:44.2597811Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:07:44.2597811Z"},"properties":{"infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"ipv4AddressSpace":"20.0.0.0/19","workloadExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"managedResourceGroupConfiguration":{"location":"eastus","name":"nfa-tool-ts-cli-nfc061323-HostedResources-6EDA7BAC"},"provisioningState":"Deleting","operationalState":"Succeeded","workloadManagementNetwork":true,"infrastructureServices":{"ipv4AddressSpaces":["20.0.0.0/21"],"ipv6AddressSpaces":[]},"workloadServices":{"ipv4AddressSpaces":["20.0.28.0/22"],"ipv6AddressSpaces":[]}}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061423","name":"nfa-tool-ts-cli-nfc061423","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:41:36.8480599Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:41:36.8480599Z"},"properties":{"infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"ipv4AddressSpace":"20.0.0.0/19","workloadExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"managedResourceGroupConfiguration":{"location":"eastus","name":"nfa-tool-ts-cli-nfc061423-HostedResources-13F9FE1E"},"provisioningState":"Accepted"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ankitha-rg/providers/microsoft.managednetworkfabric/networkfabriccontrollers/E2E-Test-NFC","name":"E2E-Test-NFC","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"westus3","systemData":{"createdBy":"v-akurapati@microsoft.com","createdByType":"User","createdAt":"2023-04-26T05:50:56.589034Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-04-26T06:39:57.993253Z"},"properties":{"provisioningState":"Succeeded","operationalState":"Succeeded","workloadManagementNetwork":true,"infrastructureServices":{"ipv4AddressSpaces":["172.253.0.0/21"],"ipv6AddressSpaces":[]},"workloadServices":{"ipv4AddressSpaces":["172.253.28.0/22"],"ipv6AddressSpaces":[]},"managedResourceGroupConfiguration":{"location":"westus3","name":"managedResourceGroupName"},"ipv4AddressSpace":"172.253.0.0/19","annotation":"lab + 1","infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-13"}],"workloadExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-14"}]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '11454' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:43 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 0edc3f7f-6e53-465d-b58f-1eff38d98144 + - e9e9774b-d3ab-4954-ae89-90417cb4b53d + - 1153211c-c739-478e-8096-9bda7fcde96c + - fd207c7d-0981-4be5-94b3-46fe533f698f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-nfc060223","name":"nfa-tool-ts-nfc060223","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-05T05:39:38.5844335Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-12T10:07:08.746557Z"},"properties":{"infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"ssabcdefghabcdefgh"}],"ipv4AddressSpace":"10.0.0.0/19","workloadExpressRouteConnections":[{"expressRouteCircuitId":"ssabcdefghabcdefgh"}],"managedResourceGroupConfiguration":{"location":"eastus","name":"nfa-tool-ts-nfc060223-HostedResources-4166D7B2"},"provisioningState":"Succeeded","operationalState":"Succeeded","workloadManagementNetwork":true,"infrastructureServices":{"ipv4AddressSpaces":["10.0.0.0/21"],"ipv6AddressSpaces":[]},"workloadServices":{"ipv4AddressSpaces":["10.0.28.0/22"],"ipv6AddressSpaces":[]},"networkFabricIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/nfa-tool-ts-clisdktest-nfrg060523/providers/microsoft.managednetworkfabric/networkfabrics/nfa-tool-ts-nf060523"]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","name":"nfa-tool-ts-cli-nfc061323","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:07:44.2597811Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:07:44.2597811Z"},"properties":{"infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"ipv4AddressSpace":"20.0.0.0/19","workloadExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"managedResourceGroupConfiguration":{"location":"eastus","name":"nfa-tool-ts-cli-nfc061323-HostedResources-6EDA7BAC"},"provisioningState":"Deleting","operationalState":"Succeeded","workloadManagementNetwork":true,"infrastructureServices":{"ipv4AddressSpaces":["20.0.0.0/21"],"ipv6AddressSpaces":[]},"workloadServices":{"ipv4AddressSpaces":["20.0.28.0/22"],"ipv6AddressSpaces":[]}}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061423","name":"nfa-tool-ts-cli-nfc061423","type":"microsoft.managednetworkfabric/networkfabriccontrollers","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:41:36.8480599Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:41:36.8480599Z"},"properties":{"infrastructureExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"ipv4AddressSpace":"20.0.0.0/19","workloadExpressRouteConnections":[{"expressRouteCircuitId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/example-rg/providers/Microsoft.Network/expressRouteCircuits/example-circuit"}],"managedResourceGroupConfiguration":{"location":"eastus","name":"nfa-tool-ts-cli-nfc061423-HostedResources-13F9FE1E"},"provisioningState":"Accepted"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '3983' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:44 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 6fcdcbf3-f298-48fa-b034-409cebeb65ed + - f4a7e40b-7bad-49bc-8216-fa0f330e80f0 + - ad7e805c-cd6d-4708-a9f2-14001343e74e + - 5610433d-bdb2-4982-919a-5970e5ea92ac + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nfc_scenario2.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nfc_scenario2.yaml new file mode 100644 index 00000000000..81d0b3e3829 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nfc_scenario2.yaml @@ -0,0 +1,1408 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:33 GMT + etag: + - '"69049a94-0000-0100-0000-648928de0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + mise-correlation-id: + - a8368d95-b7a3-49b7-82e2-f2934e7868d8 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:41:34 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:06 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:42:37 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:10 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:43:42 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:44:13 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:44:44 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:45:15 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:45:46 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:46:16 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:46:48 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:19 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:47:50 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:48:21 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:48:53 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:49:23 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:49:54 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:50:25 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:50:56 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:51:27 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:51:58 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:52:29 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:53:00 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:53:31 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:54:02 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:54:34 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:55:04 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:55:35 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:56:06 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Deleting","startTime":"2023-06-14T02:41:33.9881954Z"}' + headers: + cache-control: + - no-cache + content-length: + - '621' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:56:37 GMT + etag: + - '"9803714f-0000-0100-0000-648928dd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Succeeded","startTime":"2023-06-14T02:41:33.9881954Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '640' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:57:07 GMT + etag: + - '"7900ad8d-0000-0500-0000-64892c6f0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric controller delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","name":"50127353-88d8-4784-b92f-810ed1933c64*DE16F89F06C07A6C8C27BC39D75105791A82DC987E769F64C2ADD4E9D32EC112","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfa-tool-ts-cli-nfc061323","status":"Succeeded","startTime":"2023-06-14T02:41:33.9881954Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '640' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:57:08 GMT + etag: + - '"7900ad8d-0000-0500-0000-64892c6f0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nni_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nni_scenario1.yaml new file mode 100644 index 00000000000..0ace1eb9bae --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_nni_scenario1.yaml @@ -0,0 +1,204 @@ +interactions: +- request: + body: '{"properties": {"isManagementType": "True", "layer2Configuration": {"mtu": + 1500, "portCount": 3}, "layer3Configuration": {"exportRoutePolicyId": "", + "importRoutePolicyId": "", "peerASN": 65535, "primaryIpv4Prefix": + "20.20.0.0/27", "primaryIpv6Prefix": "3FFE:FFFF:0:CD30::a4/127", "secondaryIpv4Prefix": + "20.20.0.0/25", "secondaryIpv6Prefix": "3FFE:FFFF:0:CD30::a4/127", "vlanId": + 600}, "useOptionB": "True"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric nni create + Connection: + - keep-alive + Content-Length: + - '450' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --resource-name --fabric --is-management-type --use-option-b + --layer2-configuration --layer3-configuration + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223/networkToNetworkInterconnects/nfa-tool-ts-cli-nni061223?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223/networkToNetworkInterconnects/nfa-tool-ts-cli-nni061223","name":"nfa-tool-ts-cli-nni061223","type":"microsoft.managednetworkfabric/networkfabrics/networktonetworkinterconnects","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:52:47.6736218Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:52:47.6736218Z"},"properties":{"isManagementType":"True","layer2Configuration":{"mtu":1500,"portCount":3},"layer3Configuration":{"exportRoutePolicyId":"","importRoutePolicyId":"","peerASN":65535,"primaryIpv4Prefix":"20.20.0.0/27","primaryIpv6Prefix":"3FFE:FFFF:0:CD30::a4/127","secondaryIpv4Prefix":"20.20.0.0/25","secondaryIpv6Prefix":"3FFE:FFFF:0:CD30::a4/127","vlanId":600},"useOptionB":"True","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1067' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:52:48 GMT + etag: + - '"0000ae21-0000-0100-0000-64892b810000"' + expires: + - '-1' + mise-correlation-id: + - bea7fb64-41dd-4262-a01c-229c53c73799 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric nni show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group --fabric + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223/networkToNetworkInterconnects/nfa-tool-ts-cli-nni061223?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223/networkToNetworkInterconnects/nfa-tool-ts-cli-nni061223","name":"nfa-tool-ts-cli-nni061223","type":"microsoft.managednetworkfabric/networkfabrics/networktonetworkinterconnects","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:52:47.6736218Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:52:47.6736218Z"},"properties":{"isManagementType":"True","layer2Configuration":{"mtu":1500,"portCount":3},"layer3Configuration":{"exportRoutePolicyId":"","importRoutePolicyId":"","peerASN":65535,"primaryIpv4Prefix":"20.20.0.0/27","primaryIpv6Prefix":"3FFE:FFFF:0:CD30::a4/127","secondaryIpv4Prefix":"20.20.0.0/25","secondaryIpv6Prefix":"3FFE:FFFF:0:CD30::a4/127","vlanId":600},"useOptionB":"True","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1067' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:52:50 GMT + etag: + - '"0000ae21-0000-0100-0000-64892b810000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric nni list + Connection: + - keep-alive + ParameterSetName: + - --resource-group --fabric + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223/networkToNetworkInterconnects?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223/networkToNetworkInterconnects/nfa-tool-ts-cli-nni061223","name":"nfa-tool-ts-cli-nni061223","type":"microsoft.managednetworkfabric/networkfabrics/networktonetworkinterconnects","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:52:47.6736218Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:52:47.6736218Z"},"properties":{"isManagementType":"True","layer2Configuration":{"mtu":1500,"portCount":3},"layer3Configuration":{"exportRoutePolicyId":"","importRoutePolicyId":"","peerASN":65535,"primaryIpv4Prefix":"20.20.0.0/27","primaryIpv6Prefix":"3FFE:FFFF:0:CD30::a4/127","secondaryIpv4Prefix":"20.20.0.0/25","secondaryIpv6Prefix":"3FFE:FFFF:0:CD30::a4/127","vlanId":600},"useOptionB":"True","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1079' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:52:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric nni delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group --fabric + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/networkFabrics/nfa-tool-ts-cli-nf1-061223/networkToNetworkInterconnects/nfa-tool-ts-cli-nni061223?api-version=2023-02-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 14 Jun 2023 02:52:54 GMT + expires: + - '-1' + mise-correlation-id: + - 4e14dcb7-5ec1-4894-8012-d2135ded66cc + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_route_policy_scenario1.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_route_policy_scenario1.yaml new file mode 100644 index 00000000000..d2f89693889 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_route_policy_scenario1.yaml @@ -0,0 +1,578 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --statements + User-Agent: + - AZURECLI/2.49.0 azsdk-python-azure-mgmt-resource/22.0.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: "{\"value\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\",\"name\":\"eastus\",\"displayName\":\"East + US\",\"regionalDisplayName\":\"(US) East US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"westus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\",\"name\":\"eastus2\",\"displayName\":\"East + US 2\",\"regionalDisplayName\":\"(US) East US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"centralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\",\"name\":\"southcentralus\",\"displayName\":\"South + Central US\",\"regionalDisplayName\":\"(US) South Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"northcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\",\"name\":\"westus2\",\"displayName\":\"West + US 2\",\"regionalDisplayName\":\"(US) West US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-119.852\",\"latitude\":\"47.233\",\"physicalLocation\":\"Washington\",\"pairedRegion\":[{\"name\":\"westcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-112.074036\",\"latitude\":\"33.448376\",\"physicalLocation\":\"Phoenix\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\",\"name\":\"australiaeast\",\"displayName\":\"Australia + East\",\"regionalDisplayName\":\"(Asia Pacific) Australia East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"151.2094\",\"latitude\":\"-33.86\",\"physicalLocation\":\"New + South Wales\",\"pairedRegion\":[{\"name\":\"australiasoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\",\"name\":\"southeastasia\",\"displayName\":\"Southeast + Asia\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"103.833\",\"latitude\":\"1.283\",\"physicalLocation\":\"Singapore\",\"pairedRegion\":[{\"name\":\"eastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\",\"name\":\"northeurope\",\"displayName\":\"North + Europe\",\"regionalDisplayName\":\"(Europe) North Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-6.2597\",\"latitude\":\"53.3478\",\"physicalLocation\":\"Ireland\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\",\"name\":\"uksouth\",\"displayName\":\"UK + South\",\"regionalDisplayName\":\"(Europe) UK South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-0.799\",\"latitude\":\"50.941\",\"physicalLocation\":\"London\",\"pairedRegion\":[{\"name\":\"ukwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\",\"name\":\"westeurope\",\"displayName\":\"West + Europe\",\"regionalDisplayName\":\"(Europe) West Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"4.9\",\"latitude\":\"52.3667\",\"physicalLocation\":\"Netherlands\",\"pairedRegion\":[{\"name\":\"northeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\",\"name\":\"centralus\",\"displayName\":\"Central + US\",\"regionalDisplayName\":\"(US) Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"Iowa\",\"pairedRegion\":[{\"name\":\"eastus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\",\"name\":\"southafricanorth\",\"displayName\":\"South + Africa North\",\"regionalDisplayName\":\"(Africa) South Africa North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Africa\",\"longitude\":\"28.21837\",\"latitude\":\"-25.73134\",\"physicalLocation\":\"Johannesburg\",\"pairedRegion\":[{\"name\":\"southafricawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\",\"name\":\"centralindia\",\"displayName\":\"Central + India\",\"regionalDisplayName\":\"(Asia Pacific) Central India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"73.9197\",\"latitude\":\"18.5822\",\"physicalLocation\":\"Pune\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\",\"name\":\"eastasia\",\"displayName\":\"East + Asia\",\"regionalDisplayName\":\"(Asia Pacific) East Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"114.188\",\"latitude\":\"22.267\",\"physicalLocation\":\"Hong + Kong\",\"pairedRegion\":[{\"name\":\"southeastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\",\"name\":\"japaneast\",\"displayName\":\"Japan + East\",\"regionalDisplayName\":\"(Asia Pacific) Japan East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"139.77\",\"latitude\":\"35.68\",\"physicalLocation\":\"Tokyo, + Saitama\",\"pairedRegion\":[{\"name\":\"japanwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\",\"name\":\"koreacentral\",\"displayName\":\"Korea + Central\",\"regionalDisplayName\":\"(Asia Pacific) Korea Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"126.978\",\"latitude\":\"37.5665\",\"physicalLocation\":\"Seoul\",\"pairedRegion\":[{\"name\":\"koreasouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\",\"name\":\"canadacentral\",\"displayName\":\"Canada + Central\",\"regionalDisplayName\":\"(Canada) Canada Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Canada\",\"longitude\":\"-79.383\",\"latitude\":\"43.653\",\"physicalLocation\":\"Toronto\",\"pairedRegion\":[{\"name\":\"canadaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\",\"name\":\"francecentral\",\"displayName\":\"France + Central\",\"regionalDisplayName\":\"(Europe) France Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.373\",\"latitude\":\"46.3772\",\"physicalLocation\":\"Paris\",\"pairedRegion\":[{\"name\":\"francesouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\",\"name\":\"germanywestcentral\",\"displayName\":\"Germany + West Central\",\"regionalDisplayName\":\"(Europe) Germany West Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.682127\",\"latitude\":\"50.110924\",\"physicalLocation\":\"Frankfurt\",\"pairedRegion\":[{\"name\":\"germanynorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\",\"name\":\"norwayeast\",\"displayName\":\"Norway + East\",\"regionalDisplayName\":\"(Europe) Norway East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"10.752245\",\"latitude\":\"59.913868\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwaywest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/polandcentral\",\"name\":\"polandcentral\",\"displayName\":\"Poland + Central\",\"regionalDisplayName\":\"(Europe) Poland Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"21.01666\",\"latitude\":\"52.23334\",\"physicalLocation\":\"Warsaw\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\",\"name\":\"switzerlandnorth\",\"displayName\":\"Switzerland + North\",\"regionalDisplayName\":\"(Europe) Switzerland North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.564572\",\"latitude\":\"47.451542\",\"physicalLocation\":\"Zurich\",\"pairedRegion\":[{\"name\":\"switzerlandwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\",\"name\":\"uaenorth\",\"displayName\":\"UAE + North\",\"regionalDisplayName\":\"(Middle East) UAE North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"55.316666\",\"latitude\":\"25.266666\",\"physicalLocation\":\"Dubai\",\"pairedRegion\":[{\"name\":\"uaecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\",\"name\":\"brazilsouth\",\"displayName\":\"Brazil + South\",\"regionalDisplayName\":\"(South America) Brazil South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"South + America\",\"longitude\":\"-46.633\",\"latitude\":\"-23.55\",\"physicalLocation\":\"Sao + Paulo State\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\",\"name\":\"centraluseuap\",\"displayName\":\"Central + US EUAP\",\"regionalDisplayName\":\"(US) Central US EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"eastus2euap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\",\"name\":\"eastus2euap\",\"displayName\":\"East + US 2 EUAP\",\"regionalDisplayName\":\"(US) East US 2 EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"centraluseuap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Middle East) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage\",\"name\":\"centralusstage\",\"displayName\":\"Central + US (Stage)\",\"regionalDisplayName\":\"(US) Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage\",\"name\":\"eastusstage\",\"displayName\":\"East + US (Stage)\",\"regionalDisplayName\":\"(US) East US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage\",\"name\":\"eastus2stage\",\"displayName\":\"East + US 2 (Stage)\",\"regionalDisplayName\":\"(US) East US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage\",\"name\":\"northcentralusstage\",\"displayName\":\"North + Central US (Stage)\",\"regionalDisplayName\":\"(US) North Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage\",\"name\":\"southcentralusstage\",\"displayName\":\"South + Central US (Stage)\",\"regionalDisplayName\":\"(US) South Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage\",\"name\":\"westusstage\",\"displayName\":\"West + US (Stage)\",\"regionalDisplayName\":\"(US) West US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage\",\"name\":\"westus2stage\",\"displayName\":\"West + US 2 (Stage)\",\"regionalDisplayName\":\"(US) West US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia\",\"name\":\"asia\",\"displayName\":\"Asia\",\"regionalDisplayName\":\"Asia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific\",\"name\":\"asiapacific\",\"displayName\":\"Asia + Pacific\",\"regionalDisplayName\":\"Asia Pacific\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia\",\"name\":\"australia\",\"displayName\":\"Australia\",\"regionalDisplayName\":\"Australia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil\",\"name\":\"brazil\",\"displayName\":\"Brazil\",\"regionalDisplayName\":\"Brazil\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada\",\"name\":\"canada\",\"displayName\":\"Canada\",\"regionalDisplayName\":\"Canada\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe\",\"name\":\"europe\",\"displayName\":\"Europe\",\"regionalDisplayName\":\"Europe\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global\",\"name\":\"global\",\"displayName\":\"Global\",\"regionalDisplayName\":\"Global\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india\",\"name\":\"india\",\"displayName\":\"India\",\"regionalDisplayName\":\"India\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan\",\"name\":\"japan\",\"displayName\":\"Japan\",\"regionalDisplayName\":\"Japan\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/singapore\",\"name\":\"singapore\",\"displayName\":\"Singapore\",\"regionalDisplayName\":\"Singapore\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk\",\"name\":\"uk\",\"displayName\":\"United + Kingdom\",\"regionalDisplayName\":\"United Kingdom\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates\",\"name\":\"unitedstates\",\"displayName\":\"United + States\",\"regionalDisplayName\":\"United States\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage\",\"name\":\"eastasiastage\",\"displayName\":\"East + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) East Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage\",\"name\":\"southeastasiastage\",\"displayName\":\"Southeast + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilus\",\"name\":\"brazilus\",\"displayName\":\"Brazil + US\",\"regionalDisplayName\":\"(South America) Brazil US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"0\",\"latitude\":\"0\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"brazilsoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\",\"name\":\"northcentralus\",\"displayName\":\"North + Central US\",\"regionalDisplayName\":\"(US) North Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-87.6278\",\"latitude\":\"41.8819\",\"physicalLocation\":\"Illinois\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\",\"name\":\"westus\",\"displayName\":\"West + US\",\"regionalDisplayName\":\"(US) West US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-122.417\",\"latitude\":\"37.783\",\"physicalLocation\":\"California\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\",\"name\":\"jioindiawest\",\"displayName\":\"Jio + India West\",\"regionalDisplayName\":\"(Asia Pacific) Jio India West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"70.05773\",\"latitude\":\"22.470701\",\"physicalLocation\":\"Jamnagar\",\"pairedRegion\":[{\"name\":\"jioindiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\",\"name\":\"westcentralus\",\"displayName\":\"West + Central US\",\"regionalDisplayName\":\"(US) West Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-110.234\",\"latitude\":\"40.89\",\"physicalLocation\":\"Wyoming\",\"pairedRegion\":[{\"name\":\"westus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\",\"name\":\"southafricawest\",\"displayName\":\"South + Africa West\",\"regionalDisplayName\":\"(Africa) South Africa West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Africa\",\"longitude\":\"18.843266\",\"latitude\":\"-34.075691\",\"physicalLocation\":\"Cape + Town\",\"pairedRegion\":[{\"name\":\"southafricanorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\",\"name\":\"australiacentral\",\"displayName\":\"Australia + Central\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\",\"name\":\"australiacentral2\",\"displayName\":\"Australia + Central 2\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\",\"name\":\"australiasoutheast\",\"displayName\":\"Australia + Southeast\",\"regionalDisplayName\":\"(Asia Pacific) Australia Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"144.9631\",\"latitude\":\"-37.8136\",\"physicalLocation\":\"Victoria\",\"pairedRegion\":[{\"name\":\"australiaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\",\"name\":\"japanwest\",\"displayName\":\"Japan + West\",\"regionalDisplayName\":\"(Asia Pacific) Japan West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"135.5022\",\"latitude\":\"34.6939\",\"physicalLocation\":\"Osaka\",\"pairedRegion\":[{\"name\":\"japaneast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\",\"name\":\"jioindiacentral\",\"displayName\":\"Jio + India Central\",\"regionalDisplayName\":\"(Asia Pacific) Jio India Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"79.08886\",\"latitude\":\"21.146633\",\"physicalLocation\":\"Nagpur\",\"pairedRegion\":[{\"name\":\"jioindiawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\",\"name\":\"koreasouth\",\"displayName\":\"Korea + South\",\"regionalDisplayName\":\"(Asia Pacific) Korea South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"129.0756\",\"latitude\":\"35.1796\",\"physicalLocation\":\"Busan\",\"pairedRegion\":[{\"name\":\"koreacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\",\"name\":\"southindia\",\"displayName\":\"South + India\",\"regionalDisplayName\":\"(Asia Pacific) South India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"80.1636\",\"latitude\":\"12.9822\",\"physicalLocation\":\"Chennai\",\"pairedRegion\":[{\"name\":\"centralindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia\",\"name\":\"westindia\",\"displayName\":\"West + India\",\"regionalDisplayName\":\"(Asia Pacific) West India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"72.868\",\"latitude\":\"19.088\",\"physicalLocation\":\"Mumbai\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\",\"name\":\"canadaeast\",\"displayName\":\"Canada + East\",\"regionalDisplayName\":\"(Canada) Canada East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Canada\",\"longitude\":\"-71.217\",\"latitude\":\"46.817\",\"physicalLocation\":\"Quebec\",\"pairedRegion\":[{\"name\":\"canadacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\",\"name\":\"francesouth\",\"displayName\":\"France + South\",\"regionalDisplayName\":\"(Europe) France South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.1972\",\"latitude\":\"43.8345\",\"physicalLocation\":\"Marseille\",\"pairedRegion\":[{\"name\":\"francecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\",\"name\":\"germanynorth\",\"displayName\":\"Germany + North\",\"regionalDisplayName\":\"(Europe) Germany North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.806422\",\"latitude\":\"53.073635\",\"physicalLocation\":\"Berlin\",\"pairedRegion\":[{\"name\":\"germanywestcentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\",\"name\":\"norwaywest\",\"displayName\":\"Norway + West\",\"regionalDisplayName\":\"(Europe) Norway West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"5.733107\",\"latitude\":\"58.969975\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwayeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\",\"name\":\"switzerlandwest\",\"displayName\":\"Switzerland + West\",\"regionalDisplayName\":\"(Europe) Switzerland West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"6.143158\",\"latitude\":\"46.204391\",\"physicalLocation\":\"Geneva\",\"pairedRegion\":[{\"name\":\"switzerlandnorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\",\"name\":\"ukwest\",\"displayName\":\"UK + West\",\"regionalDisplayName\":\"(Europe) UK West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"-3.084\",\"latitude\":\"53.427\",\"physicalLocation\":\"Cardiff\",\"pairedRegion\":[{\"name\":\"uksouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\",\"name\":\"uaecentral\",\"displayName\":\"UAE + Central\",\"regionalDisplayName\":\"(Middle East) UAE Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"54.366669\",\"latitude\":\"24.466667\",\"physicalLocation\":\"Abu + Dhabi\",\"pairedRegion\":[{\"name\":\"uaenorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\",\"name\":\"brazilsoutheast\",\"displayName\":\"Brazil + Southeast\",\"regionalDisplayName\":\"(South America) Brazil Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"-43.2075\",\"latitude\":\"-22.90278\",\"physicalLocation\":\"Rio\",\"pairedRegion\":[{\"name\":\"brazilsouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '31169' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:20:46 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"statements": [{"action": {"actionType": + "Permit", "ipCommunityProperties": {"add": {"ipCommunityIds": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"]}}, + "localPreference": 113}, "condition": {"ipCommunityIds": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"], + "ipPrefixId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"}, + "sequenceNumber": 1214}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy create + Connection: + - keep-alive + Content-Length: + - '827' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --resource-name --location --statements + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","name":"nfa-tool-ts-cli-routepolicy061423","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:20:51.042021Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:20:53.9117788Z"},"properties":{"statements":[{"sequenceNumber":1214,"condition":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"],"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"},"action":{"localPreference":113,"actionType":"Permit","ipCommunityProperties":{"add":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"]}}}}],"provisioningState":"Accepted"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e036a575-e2a3-43bd-8d1a-5bd32b12c150*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '1376' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:20:54 GMT + etag: + - '"b80bff46-0000-0100-0000-648924060000"' + expires: + - '-1' + mise-correlation-id: + - 408a2089-e880-41f6-a3c7-1d403d22f00f + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --statements + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e036a575-e2a3-43bd-8d1a-5bd32b12c150*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e036a575-e2a3-43bd-8d1a-5bd32b12c150*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","name":"e036a575-e2a3-43bd-8d1a-5bd32b12c150*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","status":"Succeeded","startTime":"2023-06-14T02:20:54.0981648Z","endTime":"2023-06-14T02:20:54.6778839Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '677' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:20:55 GMT + etag: + - '"98038628-0000-0100-0000-648924060000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --statements + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","name":"nfa-tool-ts-cli-routepolicy061423","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:20:51.042021Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:20:53.9117788Z"},"properties":{"statements":[{"sequenceNumber":1214,"condition":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"],"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"},"action":{"localPreference":113,"actionType":"Permit","ipCommunityProperties":{"add":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"]}}}}],"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1377' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:20:56 GMT + etag: + - '"b80b0847-0000-0100-0000-648924060000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","name":"nfa-tool-ts-cli-routepolicy061423","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:20:51.042021Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:20:53.9117788Z"},"properties":{"statements":[{"sequenceNumber":1214,"condition":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"],"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"},"action":{"localPreference":113,"actionType":"Permit","ipCommunityProperties":{"add":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"]}}}}],"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1377' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:20:57 GMT + etag: + - '"b80b0847-0000-0100-0000-648924060000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/routePolicies?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/routePolicies/rcf-fab1-l3domain-exp-policy","name":"rcf-fab1-l3domain-exp-policy","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T17:42:17.2794193Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T18:10:06.5772621Z"},"properties":{"statements":[{"sequenceNumber":10,"condition":{"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/ipprefixv4internalnetwork1export"},"action":{"actionType":"Permit","ipCommunityProperties":{"set":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipCommunities/ipcommunityinternalexport"]}}}}],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/routePolicies/rcf-fab1-l3domain-imp-policy","name":"rcf-fab1-l3domain-imp-policy","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T17:53:09.3010194Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T18:10:05.5146214Z"},"properties":{"statements":[{"sequenceNumber":10,"condition":{"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/ipprefixv4internalnetwork1import"},"action":{"actionType":"Permit","ipCommunityProperties":{"set":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipCommunities/ipcommunityinternalimport"]}}}}],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ankitha-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/rcf-Fab1-l3domain-connsubnet-ext-policy","name":"rcf-Fab1-l3domain-connsubnet-ext-policy","type":"microsoft.managednetworkfabric/routepolicies","location":"westus3","systemData":{"createdBy":"v-akurapati@microsoft.com","createdByType":"User","createdAt":"2023-05-09T10:31:48.9140534Z","lastModifiedBy":"v-akurapati@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-05-09T10:31:48.9140534Z"},"properties":{"statements":[{"sequenceNumber":10,"condition":{},"action":{"actionType":"Permit","ipCommunityProperties":{"set":{"ipCommunityIds":[""]}}}}],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","name":"nfa-tool-ts-cli-routepolicy061423","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:20:51.042021Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:20:53.9117788Z"},"properties":{"statements":[{"sequenceNumber":1214,"condition":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"],"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"},"action":{"localPreference":113,"actionType":"Permit","ipCommunityProperties":{"add":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"]}}}}],"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '4318' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:20:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 4d1dbfa1-da7d-42b3-897e-9f329c636e0d + - c858f513-69d5-49e4-b063-857ea972c517 + - 85d7c9d4-b403-4a10-ab1a-3aa5d07b9e6e + - e4a06bcf-2ba3-48b8-a2b7-32745857b7d5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","name":"nfa-tool-ts-cli-routepolicy061423","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:20:51.042021Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:20:53.9117788Z"},"properties":{"statements":[{"sequenceNumber":1214,"condition":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"],"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"},"action":{"localPreference":113,"actionType":"Permit","ipCommunityProperties":{"add":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipCommunities/nfa-tool-ts-cli-ipcommunity1-061223"]}}}}],"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1389' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:21:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 70e0ad17-5a66-41b6-8b05-a34a85775320 + - 234f26bf-ac73-49ec-9e60-fcff20f5cd30 + - 4d5f0258-63fe-4888-972d-2cf203bcdf31 + - 64d9a8a7-312a-4e0b-af52-a4523ef19071 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/fb628b55-7ac3-4190-8a1a-c7d295efbf78*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:21:02 GMT + etag: + - '"b80b4448-0000-0100-0000-6489240e0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/fb628b55-7ac3-4190-8a1a-c7d295efbf78*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + mise-correlation-id: + - 26e5a4d2-1a83-477e-ae88-130ad14bcf5e + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/fb628b55-7ac3-4190-8a1a-c7d295efbf78*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/fb628b55-7ac3-4190-8a1a-c7d295efbf78*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","name":"fb628b55-7ac3-4190-8a1a-c7d295efbf78*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","status":"Succeeded","startTime":"2023-06-14T02:21:02.4686135Z","endTime":"2023-06-14T02:21:02.9327073Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '677' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:21:03 GMT + etag: + - '"9803a228-0000-0100-0000-6489240e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/fb628b55-7ac3-4190-8a1a-c7d295efbf78*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/fb628b55-7ac3-4190-8a1a-c7d295efbf78*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","name":"fb628b55-7ac3-4190-8a1a-c7d295efbf78*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","status":"Succeeded","startTime":"2023-06-14T02:21:02.4686135Z","endTime":"2023-06-14T02:21:02.9327073Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '677' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:21:03 GMT + etag: + - '"9803a228-0000-0100-0000-6489240e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_route_policy_scenario2.yaml b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_route_policy_scenario2.yaml new file mode 100644 index 00000000000..b2176ba7718 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/recordings/test_route_policy_scenario2.yaml @@ -0,0 +1,621 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --statements + User-Agent: + - AZURECLI/2.49.0 azsdk-python-azure-mgmt-resource/22.0.0 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: "{\"value\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\",\"name\":\"eastus\",\"displayName\":\"East + US\",\"regionalDisplayName\":\"(US) East US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"westus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\",\"name\":\"eastus2\",\"displayName\":\"East + US 2\",\"regionalDisplayName\":\"(US) East US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"centralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\",\"name\":\"southcentralus\",\"displayName\":\"South + Central US\",\"regionalDisplayName\":\"(US) South Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"northcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\",\"name\":\"westus2\",\"displayName\":\"West + US 2\",\"regionalDisplayName\":\"(US) West US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-119.852\",\"latitude\":\"47.233\",\"physicalLocation\":\"Washington\",\"pairedRegion\":[{\"name\":\"westcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-112.074036\",\"latitude\":\"33.448376\",\"physicalLocation\":\"Phoenix\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\",\"name\":\"australiaeast\",\"displayName\":\"Australia + East\",\"regionalDisplayName\":\"(Asia Pacific) Australia East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"151.2094\",\"latitude\":\"-33.86\",\"physicalLocation\":\"New + South Wales\",\"pairedRegion\":[{\"name\":\"australiasoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\",\"name\":\"southeastasia\",\"displayName\":\"Southeast + Asia\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"103.833\",\"latitude\":\"1.283\",\"physicalLocation\":\"Singapore\",\"pairedRegion\":[{\"name\":\"eastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\",\"name\":\"northeurope\",\"displayName\":\"North + Europe\",\"regionalDisplayName\":\"(Europe) North Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-6.2597\",\"latitude\":\"53.3478\",\"physicalLocation\":\"Ireland\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\",\"name\":\"uksouth\",\"displayName\":\"UK + South\",\"regionalDisplayName\":\"(Europe) UK South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-0.799\",\"latitude\":\"50.941\",\"physicalLocation\":\"London\",\"pairedRegion\":[{\"name\":\"ukwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\",\"name\":\"westeurope\",\"displayName\":\"West + Europe\",\"regionalDisplayName\":\"(Europe) West Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"4.9\",\"latitude\":\"52.3667\",\"physicalLocation\":\"Netherlands\",\"pairedRegion\":[{\"name\":\"northeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\",\"name\":\"centralus\",\"displayName\":\"Central + US\",\"regionalDisplayName\":\"(US) Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"Iowa\",\"pairedRegion\":[{\"name\":\"eastus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\",\"name\":\"southafricanorth\",\"displayName\":\"South + Africa North\",\"regionalDisplayName\":\"(Africa) South Africa North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Africa\",\"longitude\":\"28.21837\",\"latitude\":\"-25.73134\",\"physicalLocation\":\"Johannesburg\",\"pairedRegion\":[{\"name\":\"southafricawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\",\"name\":\"centralindia\",\"displayName\":\"Central + India\",\"regionalDisplayName\":\"(Asia Pacific) Central India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"73.9197\",\"latitude\":\"18.5822\",\"physicalLocation\":\"Pune\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\",\"name\":\"eastasia\",\"displayName\":\"East + Asia\",\"regionalDisplayName\":\"(Asia Pacific) East Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"114.188\",\"latitude\":\"22.267\",\"physicalLocation\":\"Hong + Kong\",\"pairedRegion\":[{\"name\":\"southeastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\",\"name\":\"japaneast\",\"displayName\":\"Japan + East\",\"regionalDisplayName\":\"(Asia Pacific) Japan East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"139.77\",\"latitude\":\"35.68\",\"physicalLocation\":\"Tokyo, + Saitama\",\"pairedRegion\":[{\"name\":\"japanwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\",\"name\":\"koreacentral\",\"displayName\":\"Korea + Central\",\"regionalDisplayName\":\"(Asia Pacific) Korea Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"126.978\",\"latitude\":\"37.5665\",\"physicalLocation\":\"Seoul\",\"pairedRegion\":[{\"name\":\"koreasouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\",\"name\":\"canadacentral\",\"displayName\":\"Canada + Central\",\"regionalDisplayName\":\"(Canada) Canada Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Canada\",\"longitude\":\"-79.383\",\"latitude\":\"43.653\",\"physicalLocation\":\"Toronto\",\"pairedRegion\":[{\"name\":\"canadaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\",\"name\":\"francecentral\",\"displayName\":\"France + Central\",\"regionalDisplayName\":\"(Europe) France Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.373\",\"latitude\":\"46.3772\",\"physicalLocation\":\"Paris\",\"pairedRegion\":[{\"name\":\"francesouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\",\"name\":\"germanywestcentral\",\"displayName\":\"Germany + West Central\",\"regionalDisplayName\":\"(Europe) Germany West Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.682127\",\"latitude\":\"50.110924\",\"physicalLocation\":\"Frankfurt\",\"pairedRegion\":[{\"name\":\"germanynorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\",\"name\":\"norwayeast\",\"displayName\":\"Norway + East\",\"regionalDisplayName\":\"(Europe) Norway East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"10.752245\",\"latitude\":\"59.913868\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwaywest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/polandcentral\",\"name\":\"polandcentral\",\"displayName\":\"Poland + Central\",\"regionalDisplayName\":\"(Europe) Poland Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"21.01666\",\"latitude\":\"52.23334\",\"physicalLocation\":\"Warsaw\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\",\"name\":\"switzerlandnorth\",\"displayName\":\"Switzerland + North\",\"regionalDisplayName\":\"(Europe) Switzerland North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.564572\",\"latitude\":\"47.451542\",\"physicalLocation\":\"Zurich\",\"pairedRegion\":[{\"name\":\"switzerlandwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\",\"name\":\"uaenorth\",\"displayName\":\"UAE + North\",\"regionalDisplayName\":\"(Middle East) UAE North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"55.316666\",\"latitude\":\"25.266666\",\"physicalLocation\":\"Dubai\",\"pairedRegion\":[{\"name\":\"uaecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\",\"name\":\"brazilsouth\",\"displayName\":\"Brazil + South\",\"regionalDisplayName\":\"(South America) Brazil South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"South + America\",\"longitude\":\"-46.633\",\"latitude\":\"-23.55\",\"physicalLocation\":\"Sao + Paulo State\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\",\"name\":\"centraluseuap\",\"displayName\":\"Central + US EUAP\",\"regionalDisplayName\":\"(US) Central US EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"eastus2euap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\",\"name\":\"eastus2euap\",\"displayName\":\"East + US 2 EUAP\",\"regionalDisplayName\":\"(US) East US 2 EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"centraluseuap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Middle East) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage\",\"name\":\"centralusstage\",\"displayName\":\"Central + US (Stage)\",\"regionalDisplayName\":\"(US) Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage\",\"name\":\"eastusstage\",\"displayName\":\"East + US (Stage)\",\"regionalDisplayName\":\"(US) East US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage\",\"name\":\"eastus2stage\",\"displayName\":\"East + US 2 (Stage)\",\"regionalDisplayName\":\"(US) East US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage\",\"name\":\"northcentralusstage\",\"displayName\":\"North + Central US (Stage)\",\"regionalDisplayName\":\"(US) North Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage\",\"name\":\"southcentralusstage\",\"displayName\":\"South + Central US (Stage)\",\"regionalDisplayName\":\"(US) South Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage\",\"name\":\"westusstage\",\"displayName\":\"West + US (Stage)\",\"regionalDisplayName\":\"(US) West US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage\",\"name\":\"westus2stage\",\"displayName\":\"West + US 2 (Stage)\",\"regionalDisplayName\":\"(US) West US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia\",\"name\":\"asia\",\"displayName\":\"Asia\",\"regionalDisplayName\":\"Asia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific\",\"name\":\"asiapacific\",\"displayName\":\"Asia + Pacific\",\"regionalDisplayName\":\"Asia Pacific\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia\",\"name\":\"australia\",\"displayName\":\"Australia\",\"regionalDisplayName\":\"Australia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil\",\"name\":\"brazil\",\"displayName\":\"Brazil\",\"regionalDisplayName\":\"Brazil\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada\",\"name\":\"canada\",\"displayName\":\"Canada\",\"regionalDisplayName\":\"Canada\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe\",\"name\":\"europe\",\"displayName\":\"Europe\",\"regionalDisplayName\":\"Europe\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global\",\"name\":\"global\",\"displayName\":\"Global\",\"regionalDisplayName\":\"Global\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india\",\"name\":\"india\",\"displayName\":\"India\",\"regionalDisplayName\":\"India\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan\",\"name\":\"japan\",\"displayName\":\"Japan\",\"regionalDisplayName\":\"Japan\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/singapore\",\"name\":\"singapore\",\"displayName\":\"Singapore\",\"regionalDisplayName\":\"Singapore\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk\",\"name\":\"uk\",\"displayName\":\"United + Kingdom\",\"regionalDisplayName\":\"United Kingdom\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates\",\"name\":\"unitedstates\",\"displayName\":\"United + States\",\"regionalDisplayName\":\"United States\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage\",\"name\":\"eastasiastage\",\"displayName\":\"East + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) East Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage\",\"name\":\"southeastasiastage\",\"displayName\":\"Southeast + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilus\",\"name\":\"brazilus\",\"displayName\":\"Brazil + US\",\"regionalDisplayName\":\"(South America) Brazil US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"0\",\"latitude\":\"0\",\"physicalLocation\":\"\",\"pairedRegion\":[{\"name\":\"brazilsoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\",\"name\":\"northcentralus\",\"displayName\":\"North + Central US\",\"regionalDisplayName\":\"(US) North Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-87.6278\",\"latitude\":\"41.8819\",\"physicalLocation\":\"Illinois\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\",\"name\":\"westus\",\"displayName\":\"West + US\",\"regionalDisplayName\":\"(US) West US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-122.417\",\"latitude\":\"37.783\",\"physicalLocation\":\"California\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\",\"name\":\"jioindiawest\",\"displayName\":\"Jio + India West\",\"regionalDisplayName\":\"(Asia Pacific) Jio India West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"70.05773\",\"latitude\":\"22.470701\",\"physicalLocation\":\"Jamnagar\",\"pairedRegion\":[{\"name\":\"jioindiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\",\"name\":\"westcentralus\",\"displayName\":\"West + Central US\",\"regionalDisplayName\":\"(US) West Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-110.234\",\"latitude\":\"40.89\",\"physicalLocation\":\"Wyoming\",\"pairedRegion\":[{\"name\":\"westus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\",\"name\":\"southafricawest\",\"displayName\":\"South + Africa West\",\"regionalDisplayName\":\"(Africa) South Africa West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Africa\",\"longitude\":\"18.843266\",\"latitude\":\"-34.075691\",\"physicalLocation\":\"Cape + Town\",\"pairedRegion\":[{\"name\":\"southafricanorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\",\"name\":\"australiacentral\",\"displayName\":\"Australia + Central\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\",\"name\":\"australiacentral2\",\"displayName\":\"Australia + Central 2\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\",\"name\":\"australiasoutheast\",\"displayName\":\"Australia + Southeast\",\"regionalDisplayName\":\"(Asia Pacific) Australia Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"144.9631\",\"latitude\":\"-37.8136\",\"physicalLocation\":\"Victoria\",\"pairedRegion\":[{\"name\":\"australiaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\",\"name\":\"japanwest\",\"displayName\":\"Japan + West\",\"regionalDisplayName\":\"(Asia Pacific) Japan West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"135.5022\",\"latitude\":\"34.6939\",\"physicalLocation\":\"Osaka\",\"pairedRegion\":[{\"name\":\"japaneast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\",\"name\":\"jioindiacentral\",\"displayName\":\"Jio + India Central\",\"regionalDisplayName\":\"(Asia Pacific) Jio India Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"79.08886\",\"latitude\":\"21.146633\",\"physicalLocation\":\"Nagpur\",\"pairedRegion\":[{\"name\":\"jioindiawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\",\"name\":\"koreasouth\",\"displayName\":\"Korea + South\",\"regionalDisplayName\":\"(Asia Pacific) Korea South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"129.0756\",\"latitude\":\"35.1796\",\"physicalLocation\":\"Busan\",\"pairedRegion\":[{\"name\":\"koreacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\",\"name\":\"southindia\",\"displayName\":\"South + India\",\"regionalDisplayName\":\"(Asia Pacific) South India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"80.1636\",\"latitude\":\"12.9822\",\"physicalLocation\":\"Chennai\",\"pairedRegion\":[{\"name\":\"centralindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia\",\"name\":\"westindia\",\"displayName\":\"West + India\",\"regionalDisplayName\":\"(Asia Pacific) West India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"72.868\",\"latitude\":\"19.088\",\"physicalLocation\":\"Mumbai\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\",\"name\":\"canadaeast\",\"displayName\":\"Canada + East\",\"regionalDisplayName\":\"(Canada) Canada East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Canada\",\"longitude\":\"-71.217\",\"latitude\":\"46.817\",\"physicalLocation\":\"Quebec\",\"pairedRegion\":[{\"name\":\"canadacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\",\"name\":\"francesouth\",\"displayName\":\"France + South\",\"regionalDisplayName\":\"(Europe) France South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.1972\",\"latitude\":\"43.8345\",\"physicalLocation\":\"Marseille\",\"pairedRegion\":[{\"name\":\"francecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\",\"name\":\"germanynorth\",\"displayName\":\"Germany + North\",\"regionalDisplayName\":\"(Europe) Germany North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.806422\",\"latitude\":\"53.073635\",\"physicalLocation\":\"Berlin\",\"pairedRegion\":[{\"name\":\"germanywestcentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\",\"name\":\"norwaywest\",\"displayName\":\"Norway + West\",\"regionalDisplayName\":\"(Europe) Norway West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"5.733107\",\"latitude\":\"58.969975\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwayeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\",\"name\":\"switzerlandwest\",\"displayName\":\"Switzerland + West\",\"regionalDisplayName\":\"(Europe) Switzerland West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"6.143158\",\"latitude\":\"46.204391\",\"physicalLocation\":\"Geneva\",\"pairedRegion\":[{\"name\":\"switzerlandnorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\",\"name\":\"ukwest\",\"displayName\":\"UK + West\",\"regionalDisplayName\":\"(Europe) UK West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"-3.084\",\"latitude\":\"53.427\",\"physicalLocation\":\"Cardiff\",\"pairedRegion\":[{\"name\":\"uksouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\",\"name\":\"uaecentral\",\"displayName\":\"UAE + Central\",\"regionalDisplayName\":\"(Middle East) UAE Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"54.366669\",\"latitude\":\"24.466667\",\"physicalLocation\":\"Abu + Dhabi\",\"pairedRegion\":[{\"name\":\"uaenorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\",\"name\":\"brazilsoutheast\",\"displayName\":\"Brazil + Southeast\",\"regionalDisplayName\":\"(South America) Brazil Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"-43.2075\",\"latitude\":\"-22.90278\",\"physicalLocation\":\"Rio\",\"pairedRegion\":[{\"name\":\"brazilsouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '31169' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:13 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"statements": [{"action": {"actionType": + "Permit", "ipExtendedCommunityProperties": {"add": {"ipExtendedCommunityIds": + ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"]}}, + "localPreference": 113}, "condition": {"ipExtendedCommunityIds": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"], + "ipPrefixId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"}, + "sequenceNumber": 1214}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy create + Connection: + - keep-alive + Content-Length: + - '873' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --resource-name --location --statements + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","name":"nfa-tool-ts-cli-routepolicy061423","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:17.7706101Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:17.7706101Z"},"properties":{"statements":[{"sequenceNumber":1214,"condition":{"ipExtendedCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"],"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"},"action":{"localPreference":113,"actionType":"Permit","ipExtendedCommunityProperties":{"add":{"ipExtendedCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"]}}}}],"provisioningState":"Accepted"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/8f802884-6dd3-48db-a839-3f83adf2545d*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '1423' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:19 GMT + etag: + - '"b80b513b-0000-0100-0000-648923a60000"' + expires: + - '-1' + mise-correlation-id: + - fa8ed602-33ec-483e-84df-f012028010ac + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --statements + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/8f802884-6dd3-48db-a839-3f83adf2545d*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/8f802884-6dd3-48db-a839-3f83adf2545d*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","name":"8f802884-6dd3-48db-a839-3f83adf2545d*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","status":"Succeeded","startTime":"2023-06-14T02:19:18.8674088Z","endTime":"2023-06-14T02:19:20.146161Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '676' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:20 GMT + etag: + - '"98037522-0000-0100-0000-648923a80000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name --location --statements + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","name":"nfa-tool-ts-cli-routepolicy061423","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:17.7706101Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:17.7706101Z"},"properties":{"statements":[{"sequenceNumber":1214,"condition":{"ipExtendedCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"],"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"},"action":{"localPreference":113,"actionType":"Permit","ipExtendedCommunityProperties":{"add":{"ipExtendedCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"]}}}}],"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1424' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:21 GMT + etag: + - '"b80b643b-0000-0100-0000-648923a80000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","name":"nfa-tool-ts-cli-routepolicy061423","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:17.7706101Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:20.7209453Z"},"properties":{"statements":[{"sequenceNumber":1214,"condition":{"ipExtendedCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"],"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"},"action":{"localPreference":113,"actionType":"Permit","ipExtendedCommunityProperties":{"add":{"ipExtendedCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"]}}}}],"provisioningState":"Updating"}}' + headers: + cache-control: + - no-cache + content-length: + - '1423' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:22 GMT + etag: + - '"b80b7e3b-0000-0100-0000-648923aa0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/routePolicies?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/routePolicies/rcf-fab1-l3domain-exp-policy","name":"rcf-fab1-l3domain-exp-policy","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T17:42:17.2794193Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T18:10:06.5772621Z"},"properties":{"statements":[{"sequenceNumber":10,"condition":{"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/ipprefixv4internalnetwork1export"},"action":{"actionType":"Permit","ipCommunityProperties":{"set":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipCommunities/ipcommunityinternalexport"]}}}}],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/routePolicies/rcf-fab1-l3domain-imp-policy","name":"rcf-fab1-l3domain-imp-policy","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus2euap","systemData":{"createdBy":"v-abalka@microsoft.com","createdByType":"User","createdAt":"2023-06-13T17:53:09.3010194Z","lastModifiedBy":"d1bd24c7-b27f-477e-86dd-939e107873d7","lastModifiedByType":"Application","lastModifiedAt":"2023-06-13T18:10:05.5146214Z"},"properties":{"statements":[{"sequenceNumber":10,"condition":{"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/ipprefixv4internalnetwork1import"},"action":{"actionType":"Permit","ipCommunityProperties":{"set":{"ipCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fab1nfrg061323/providers/Microsoft.ManagedNetworkFabric/ipCommunities/ipcommunityinternalimport"]}}}}],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ankitha-rg/providers/Microsoft.ManagedNetworkFabric/routePolicies/rcf-Fab1-l3domain-connsubnet-ext-policy","name":"rcf-Fab1-l3domain-connsubnet-ext-policy","type":"microsoft.managednetworkfabric/routepolicies","location":"westus3","systemData":{"createdBy":"v-akurapati@microsoft.com","createdByType":"User","createdAt":"2023-05-09T10:31:48.9140534Z","lastModifiedBy":"v-akurapati@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-05-09T10:31:48.9140534Z"},"properties":{"statements":[{"sequenceNumber":10,"condition":{},"action":{"actionType":"Permit","ipCommunityProperties":{"set":{"ipCommunityIds":[""]}}}}],"provisioningState":"Succeeded"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","name":"nfa-tool-ts-cli-routepolicy061423","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:17.7706101Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:20.7209453Z"},"properties":{"statements":[{"sequenceNumber":1214,"condition":{"ipExtendedCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"],"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"},"action":{"localPreference":113,"actionType":"Permit","ipExtendedCommunityProperties":{"add":{"ipExtendedCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"]}}}}],"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '4365' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:23 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - f597a045-d1bf-44f6-bb65-85bf82041b03 + - 3efe5dae-dd24-4dcc-b66c-3ec46f96a169 + - 5d821260-a2c3-4cda-a510-19fd3aea2fe6 + - 4c7843ed-1532-4a1d-8369-5cb8b9ca92f3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies?api-version=2023-02-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","name":"nfa-tool-ts-cli-routepolicy061423","type":"microsoft.managednetworkfabric/routepolicies","location":"eastus","systemData":{"createdBy":"v-rmarimuthu@microsoft.com","createdByType":"User","createdAt":"2023-06-14T02:19:17.7706101Z","lastModifiedBy":"v-rmarimuthu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-06-14T02:19:20.7209453Z"},"properties":{"statements":[{"sequenceNumber":1214,"condition":{"ipExtendedCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"],"ipPrefixId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipPrefixes/nfa-tool-ts-cli-ipprefix1-061223"},"action":{"localPreference":113,"actionType":"Permit","ipExtendedCommunityProperties":{"add":{"ipExtendedCommunityIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfcrg060523/providers/Microsoft.ManagedNetworkFabric/ipExtendedCommunities/nfa-tool-ts-cli-ipextcommunity1-061223"]}}}}],"provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1436' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:23 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - 2eb08301-d5ad-4647-9929-3f2e3867d17b + - 07fb955a-de23-4b4c-bdce-3155f5f9e40a + - a92a8ae4-bc7f-40bb-a092-56b1a8b1f5cd + - a1d93668-5e42-4a53-9ab9-632183eb5142 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423?api-version=2023-02-01-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c1db0ca8-5bc9-40b7-ab44-b89e7772bca0*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:24 GMT + etag: + - '"b80b9c3b-0000-0100-0000-648923ad0000"' + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c1db0ca8-5bc9-40b7-ab44-b89e7772bca0*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + mise-correlation-id: + - 71a5fc37-da9d-4a0f-835a-60b06ac053db + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c1db0ca8-5bc9-40b7-ab44-b89e7772bca0*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c1db0ca8-5bc9-40b7-ab44-b89e7772bca0*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","name":"c1db0ca8-5bc9-40b7-ab44-b89e7772bca0*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","status":"Updating","startTime":"2023-06-14T02:19:25.4538713Z"}' + headers: + cache-control: + - no-cache + content-length: + - '617' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:25 GMT + etag: + - '"9803b422-0000-0100-0000-648923ad0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c1db0ca8-5bc9-40b7-ab44-b89e7772bca0*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c1db0ca8-5bc9-40b7-ab44-b89e7772bca0*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","name":"c1db0ca8-5bc9-40b7-ab44-b89e7772bca0*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","status":"Succeeded","startTime":"2023-06-14T02:19:25.4538713Z","endTime":"2023-06-14T02:19:25.8861701Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '677' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:55 GMT + etag: + - '"9803ba22-0000-0100-0000-648923ad0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - networkfabric routepolicy delete + Connection: + - keep-alive + ParameterSetName: + - --resource-name --resource-group + User-Agent: + - AZURECLI/2.49.0 (AAZ) azsdk-python-core/1.26.4 Python/3.8.10 (Linux-5.15.90.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c1db0ca8-5bc9-40b7-ab44-b89e7772bca0*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0?api-version=2023-02-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/c1db0ca8-5bc9-40b7-ab44-b89e7772bca0*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","name":"c1db0ca8-5bc9-40b7-ab44-b89e7772bca0*D151D6B4864CA13859B46DA8F0E329119AD80990BFB1F452E9AD20500DF473C0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nfa-tool-ts-clisdktest-nfrg060523/providers/Microsoft.ManagedNetworkFabric/routePolicies/nfa-tool-ts-cli-routepolicy061423","status":"Succeeded","startTime":"2023-06-14T02:19:25.4538713Z","endTime":"2023-06-14T02:19:25.8861701Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '677' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 14 Jun 2023 02:19:56 GMT + etag: + - '"9803ba22-0000-0100-0000-648923ad0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_device.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_device.py new file mode 100644 index 00000000000..5d7b55c1812 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_device.py @@ -0,0 +1,75 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +from azure.cli.testsdk.scenario_tests import AllowLargeResponse + +""" +Device tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_show(test, checks=[]) + step_list_subscription(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_update(test, checks=[]) + cleanup_scenario1(test) + +def step_update(test, checks=None): + '''Device create operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric device update --resource-group {rg} --resource-name {name} ' + ' --serial-number {serial_number}', checks=checks) + +def step_show(test, checks=None): + '''Device show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric device show --resource-name {name} --resource-group {rg}') + +def step_list_resource_group(test, checks=None): + '''Device list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric device list --resource-group {rg}') + +def step_list_subscription(test, checks=None): + '''Device list by subscription operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric device list') + +class DeviceScenarioTest1(ScenarioTest): + ''' DeviceScenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('NETWORK_DEVICE', 'name'), + 'rg': CONFIG.get('NETWORK_DEVICE', 'resource_group'), + 'host_name': CONFIG.get('NETWORK_DEVICE', 'host_name'), + 'serial_number': CONFIG.get('NETWORK_DEVICE', 'serial_number') + }) + + @AllowLargeResponse() + def test_Device_scenario1(self): + ''' test scenario for Device CRUD operations''' + call_scenario1(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_externalnetwork.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_externalnetwork.py new file mode 100644 index 00000000000..a3e9b0614c7 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_externalnetwork.py @@ -0,0 +1,76 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +External Network tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_create(test, checks=[]) + step_show(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_delete(test, checks=[]) + cleanup_scenario1(test) + +def step_create(test, checks=None): + '''externalnetwork create operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric externalnetwork create --resource-group {rg} --l3domain {l3domain} --resource-name {name} --peering-option {peering_option} --option-a-properties {optionAProperties} --option-b-properties {optionBProperties}', checks=checks) + +def step_show(test, checks=None): + '''externalnetwork show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric externalnetwork show --resource-name {name} --l3domain {l3domain} --resource-group {rg}') + +def step_delete(test, checks=None): + '''externalnetwork delete operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric externalnetwork delete --resource-name {name} --l3domain {l3domain} --resource-group {rg}') + +def step_list_resource_group(test, checks=None): + '''externalnetwork list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric externalnetwork list --resource-group {rg} --l3domain {l3domain}') + +class ExternalNetworkScenarioTest1(ScenarioTest): + ''' External Network Scenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('External_Network', 'name'), + 'rg': CONFIG.get('External_Network', 'resource_group'), + 'l3domain': CONFIG.get('External_Network', 'l3domain'), + 'peering_option': CONFIG.get('External_Network', 'peering_option'), + 'importRoutePolicyId': CONFIG.get('External_Network', 'import_route_policy_id'), + 'exportRoutePolicyId': CONFIG.get('External_Network', 'export_route_policy_id'), + 'optionBProperties': CONFIG.get('External_Network', 'option_b_properties'), + 'optionAProperties': CONFIG.get('External_Network', 'option_a_properties') + }) + + def test_externalnetwork_scenario1(self): + ''' test scenario for externalnetwork CRUD operations''' + call_scenario1(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_interface.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_interface.py new file mode 100644 index 00000000000..079e4a01a93 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_interface.py @@ -0,0 +1,72 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +Interface tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_show(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_update_admin_state_Disable(test, checks=[]) + step_update_admin_state_Enable(test, checks=[]) + cleanup_scenario1(test) + +def step_show(test, checks=None): + '''Interface show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric interface show --resource-name {name} --resource-group {rg} --device {device_name}') + +def step_list_resource_group(test, checks=None): + '''Interface list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric interface list --resource-group {rg} --device {device_name}') + +def step_update_admin_state_Enable(test, checks=None): + '''Interface Update admin state Enable operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric interface update-admin-state --resource-group {rg} --device {device_name} --resource-name {name} --state {state_Enable}') + +def step_update_admin_state_Disable(test, checks=None): + '''Interface Update admin state Disable operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric interface update-admin-state --resource-group {rg} --device {device_name} --resource-name {name} --state {state_Disable}') + +class InterfaceScenarioTest1(ScenarioTest): + ''' InterfaceScenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('NETWORK_INTERFACE', 'name'), + 'rg': CONFIG.get('NETWORK_INTERFACE', 'resource_group'), + 'device_name': CONFIG.get('NETWORK_INTERFACE', 'device_name'), + 'state_Enable': CONFIG.get('NETWORK_INTERFACE', 'state_Enable'), + 'state_Disable': CONFIG.get('NETWORK_INTERFACE', 'state_Disable') + }) + + def test_Interface_scenario1(self): + ''' test scenario for Interface CRUD operations''' + call_scenario1(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_internalnetwork.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_internalnetwork.py new file mode 100644 index 00000000000..143832a3321 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_internalnetwork.py @@ -0,0 +1,78 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +Internal Network tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_create(test, checks=[]) + step_show(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_delete(test, checks=[]) + cleanup_scenario1(test) + +def step_create(test, checks=None): + '''internalnetwork create operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric internalnetwork create --resource-group {rg} --l3-isolation-domain-name {l3domain} --resource-name {name} --vlan-id {vlan_id}' + ' --mtu {mtu} --connected-ipv4-subnets {connectedIpv4Subnets} --connected-ipv6-subnets {connectedIpv6Subnets} --static-route-configuration {staticRouteConf} --bgp-configuration {bgpConf} --no-wait', checks=checks) + +def step_show(test, checks=None): + '''internalnetwork show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric internalnetwork show --resource-name {name} --l3domain {l3domain} --resource-group {rg}') + +def step_delete(test, checks=None): + '''internalnetwork delete operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric internalnetwork delete --resource-name {name} --l3domain {l3domain} --resource-group {rg}') + +def step_list_resource_group(test, checks=None): + '''internalnetwork list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric internalnetwork list --resource-group {rg} --l3domain {l3domain}') + +class InternalNetworkScenarioTest1(ScenarioTest): + ''' Internal Network Scenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('Internal_Network', 'name'), + 'rg': CONFIG.get('Internal_Network', 'resource_group'), + 'l3domain': CONFIG.get('Internal_Network', 'l3domain'), + 'vlan_id': CONFIG.get('Internal_Network', 'vlan_id'), + 'mtu': CONFIG.get('Internal_Network', 'mtu'), + 'connectedIpv4Subnets': CONFIG.get('Internal_Network', 'connected_Ipv4_subnets'), + 'connectedIpv6Subnets': CONFIG.get('Internal_Network', 'connected_Ipv6_subnets'), + 'staticRouteConf': CONFIG.get('Internal_Network', 'static_route_conf'), + 'bgpConf': CONFIG.get('Internal_Network', 'bgp_conf') + }) + + def test_internalnetwork_scenario1(self): + ''' test scenario for internalnetwork CRUD operations''' + call_scenario1(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_ipcommunity.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_ipcommunity.py new file mode 100644 index 00000000000..652680f8fe2 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_ipcommunity.py @@ -0,0 +1,82 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +Ip Community tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_create(test, checks=[]) + step_show(test, checks=[]) + step_list_subscription(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_delete(test, checks=[]) + cleanup_scenario1(test) + +def step_create(test, checks=None): + '''ipcommunity create operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric ipcommunity create --resource-group {rg} --location {location} --resource-name {name} ' + ' --action {action} --well-known-communities {well_known_communities} --community-members {community_members}', checks=checks) + +def step_show(test, checks=None): + '''ipcommunity show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric ipcommunity show --resource-name {name} --resource-group {rg}') + +def step_delete(test, checks=None): + '''ipcommunity delete operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric ipcommunity delete --resource-name {name} --resource-group {rg}') + +def step_list_resource_group(test, checks=None): + '''ipcommunity list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric ipcommunity list --resource-group {rg}') + +def step_list_subscription(test, checks=None): + '''ipcommunity list by subscription operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric ipcommunity list') + +class IpCommunityScenarioTest1(ScenarioTest): + ''' Ip Community Scenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('IP_COMMUNITY', 'name'), + 'rg': CONFIG.get('IP_COMMUNITY', 'resource_group'), + 'location': CONFIG.get('IP_COMMUNITY', 'location'), + 'action': CONFIG.get('IP_COMMUNITY', 'action'), + 'well_known_communities': CONFIG.get('IP_COMMUNITY', 'well_known_communities'), + 'community_members': CONFIG.get('IP_COMMUNITY', 'community_members') + }) + + def test_ipcommunity_scenario1(self): + ''' test scenario for IpCommunity CRUD operations''' + call_scenario1(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_ipextendedcommunity.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_ipextendedcommunity.py new file mode 100644 index 00000000000..01d6ca8d1cc --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_ipextendedcommunity.py @@ -0,0 +1,79 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +Ip Extended Community tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_create(test, checks=[]) + step_show(test, checks=[]) + step_list_subscription(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_delete(test, checks=[]) + cleanup_scenario1(test) + +def step_create(test, checks=None): + '''ipextendedcommunity create operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric ipextendedcommunity create --resource-group {rg} --location {location} --resource-name {name}' + ' --action {action} --route-targets {route_targets}', checks=checks) + +def step_show(test, checks=None): + '''ipextendedcommunity show operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric ipextendedcommunity show --resource-name {name} --resource-group {rg}') + +def step_delete(test, checks=None): + '''ipextendedcommunity delete operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric ipextendedcommunity delete --resource-name {name} --resource-group {rg}') + +def step_list_resource_group(test, checks=None): + '''ipextendedcommunity list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric ipextendedcommunity list --resource-group {rg}') + +def step_list_subscription(test, checks=None): + '''ipextendedcommunity list by subscription operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric ipextendedcommunity list') + +class IpExtendedCommunityScenarioTest1(ScenarioTest): + ''' Ip Extended Community Scenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('IP_EXTENDED_COMMUNITY', 'name'), + 'rg': CONFIG.get('IP_EXTENDED_COMMUNITY', 'resource_group'), + 'location': CONFIG.get('IP_EXTENDED_COMMUNITY', 'location'), + 'action': CONFIG.get('IP_EXTENDED_COMMUNITY', 'action'), + 'route_targets': CONFIG.get('IP_EXTENDED_COMMUNITY', 'route_targets') + }) + + def test_ipextendedcommunity_scenario1(self): + ''' test scenario for IpExtendedCommunity CRUD operations''' + call_scenario1(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_ipprefix.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_ipprefix.py new file mode 100644 index 00000000000..7298703cb9a --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_ipprefix.py @@ -0,0 +1,82 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +Ip Prefix tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_create(test, checks=[]) + step_show(test, checks=[]) + step_list_subscription(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_delete(test, checks=[]) + cleanup_scenario1(test) + +def step_create(test, checks=None): + '''ipprefix create operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric ipprefix create --resource-group {rg} --location {location} --resource-name {name} --ip-prefix-rules {ipPrefixRules} ', checks=checks) + +def step_show(test, checks=None): + '''ipprefix show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric ipprefix show --resource-name {name} --resource-group {rg}') + +def step_delete(test, checks=None): + '''ipprefix delete operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric ipprefix delete --resource-name {name} --resource-group {rg}') + +def step_list_resource_group(test, checks=None): + '''ipprefix list by resource group operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric ipprefix list --resource-group {rg}') + +def step_list_subscription(test, checks=None): + '''ipprefix list by subscription operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric ipprefix list') + +class IpPrefixScenarioTest1(ScenarioTest): + ''' IpPrefix Scenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('IP_PREFIX', 'name'), + 'rg': CONFIG.get('IP_PREFIX', 'resource_group'), + 'location': CONFIG.get('IP_PREFIX', 'location'), + 'ipPrefixRules': CONFIG.get('IP_PREFIX', 'ip_prefix_rules') + }) + + def test_ipprefix_scenario1(self): + ''' test scenario for IpPrefix CRUD operations''' + call_scenario1(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_l2domain.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_l2domain.py new file mode 100644 index 00000000000..83a5a0650f9 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_l2domain.py @@ -0,0 +1,97 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +L2 Domain tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_create(test, checks=[]) + step_show(test, checks=[]) + step_list_subscription(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_update_admin_state_Enable(test, checks=[]) + step_update_admin_state_Disable(test, checks=[]) + step_delete(test, checks=[]) + cleanup_scenario1(test) + +def step_create(test, checks=None): + '''l2domain create operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric l2domain create --resource-group {rg} --resource-name {name} --location {location} --nf-id {nf_id} --vlan-id {vlan_id}', checks=checks) + +def step_show(test, checks=None): + '''l2domain show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric l2domain show --resource-name {name} --resource-group {rg}') + +def step_delete(test, checks=None): + '''l2domain delete operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric l2domain delete --resource-name {name} --resource-group {rg}') + +def step_list_subscription(test, checks=None): + '''l2domain list by subscription operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric l2domain list') + +def step_list_resource_group(test, checks=None): + '''l2domain list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric l2domain list --resource-group {rg}') + +def step_update_admin_state_Enable(test, checks=None): + '''l2domain Update admin state operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric l2domain update-admin-state --resource-group {rg} --resource-name {name} --state {state_Enable} --no-wait') + +def step_update_admin_state_Disable(test, checks=None): + '''l2domain Update admin state operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric l2domain update-admin-state --resource-group {rg} --resource-name {name} --state {state_Disable} --no-wait') + +class L2DomainScenarioTest1(ScenarioTest): + ''' L2 Domain Scenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('L2_ISOLATION_DOMAIN', 'name'), + 'rg': CONFIG.get('L2_ISOLATION_DOMAIN', 'resource_group'), + 'location': CONFIG.get('L2_ISOLATION_DOMAIN', 'location'), + 'nf_id': CONFIG.get('L2_ISOLATION_DOMAIN', 'nf_id'), + 'mtu': CONFIG.get('L2_ISOLATION_DOMAIN', 'mtu'), + 'vlan_id': CONFIG.get('L2_ISOLATION_DOMAIN', 'vlan_id'), + 'state_Enable': CONFIG.get('L2_ISOLATION_DOMAIN', 'state_Enable'), + 'state_Disable': CONFIG.get('L2_ISOLATION_DOMAIN', 'state_Disable') + }) + + def test_l2domain_scenario1(self): + ''' test scenario for L2 Domain CRUD operations''' + call_scenario1(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_l3domain.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_l3domain.py new file mode 100644 index 00000000000..7dcb2557e03 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_l3domain.py @@ -0,0 +1,118 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +L3 Domain tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def setup_scenario2(test): + ''' Env setup_scenario2 ''' + pass + +def cleanup_scenario2(test): + '''Env cleanup_scenario2 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_create(test, checks=[]) + step_show(test, checks=[]) + step_list_subscription(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_delete(test, checks=[]) + cleanup_scenario1(test) + +def call_scenario2(test): + ''' # Testcase: scenario2''' + step_update_admin_state_Enable(test, checks=[]) + step_update_admin_state_Disable(test, checks=[]) + cleanup_scenario2(test) + +def step_create(test, checks=None): + '''l3domain create operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric l3domain create --resource-group {rg} --resource-name {name} --location {location} --nf-id {nf_id}' + ' --redistribute-connected-subnets {redistributeConnectedSubnets} --redistribute-static-routes {redistributeStaticRoutes} ' + ' --aggregate-route-configuration {aggregateRouteConf} --connected-subnet-route-policy {connectedSubnetRoutePolicy}', checks=checks) + +def step_show(test, checks=None): + '''l3domain show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric l3domain show --resource-name {name} --resource-group {rg}') + +def step_delete(test, checks=None): + '''l3domain delete operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric l3domain delete --resource-name {name} --resource-group {rg}') + +def step_list_resource_group(test, checks=None): + '''l3domain list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric l3domain list --resource-group {rg}') + +def step_list_subscription(test, checks=None): + '''l3domain list by subscription operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric l3domain list') + +def step_update_admin_state_Enable(test, checks=None): + '''l3domain Update admin state operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric l3domain update-admin-state --resource-group {rg} --resource-name {resource_name} --state {state_Enable} --no-wait') + +def step_update_admin_state_Disable(test, checks=None): + '''l3domain Update admin state operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric l3domain update-admin-state --resource-group {rg} --resource-name {resource_name} --state {state_Disable} --no-wait') + +class L3DomainScenarioTest1(ScenarioTest): + ''' L3 Domain Scenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('L3_ISOLATION_DOMAIN', 'name'), + 'rg': CONFIG.get('L3_ISOLATION_DOMAIN', 'resource_group'), + 'location': CONFIG.get('L3_ISOLATION_DOMAIN', 'location'), + 'nf_id': CONFIG.get('L3_ISOLATION_DOMAIN', 'nf_id'), + 'redistributeConnectedSubnets': CONFIG.get('L3_ISOLATION_DOMAIN', 'redistribute_connected_subnets'), + 'redistributeStaticRoutes': CONFIG.get('L3_ISOLATION_DOMAIN', 'redistribute_static_routes'), + 'connectedSubnetRoutePolicy': CONFIG.get('L3_ISOLATION_DOMAIN', 'connected_subnet_route_policy'), + 'aggregateRouteConf': CONFIG.get('L3_ISOLATION_DOMAIN', 'aggregate_route_conf'), + 'state_Enable': CONFIG.get('L3_ISOLATION_DOMAIN', 'state_Enable'), + 'state_Disable': CONFIG.get('L3_ISOLATION_DOMAIN', 'state_Disable'), + 'resource_name': CONFIG.get('L3_ISOLATION_DOMAIN', 'resource_name') + }) + + def test_l3domain_scenario1(self): + ''' test scenario for L3 Domain CRUD operations''' + call_scenario1(self) + + def test_l3domain_scenario2(self): + ''' test scenario for L3 Domain CRUD operations''' + call_scenario2(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_managednetworkfabric.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_managednetworkfabric.py new file mode 100644 index 00000000000..5fac61a85f4 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_managednetworkfabric.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +from azure.cli.testsdk import * + + +class ManagednetworkfabricScenario(ScenarioTest): + # TODO: add tests here + pass diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_nf.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_nf.py new file mode 100644 index 00000000000..8cac4ae12f6 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_nf.py @@ -0,0 +1,123 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +NF tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def setup_scenario2(test): + ''' Env setup_scenario2 ''' + pass + +def cleanup_scenario2(test): + '''Env cleanup_scenario2 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_create(test, checks=[]) + step_show(test, checks=[]) + step_list_subscription(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_delete(test, checks=[]) + cleanup_scenario1(test) + +def call_scenario2(test): + ''' # Testcase: scenario2''' + setup_scenario2(test) + step_provision(test) + step_deprovision(test) + cleanup_scenario2(test) + +def step_create(test, checks=None): + '''nf create operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric fabric create --resource-group {rg} --location {location} --resource-name {name} --nf-sku {nf_sku} --nfc-id {nfc_id}' + ' --fabric-asn {fabric_asn} --ipv4-prefix {ipv4_prefix} --ipv6-prefix {ipv6_prefix} --rack-count {rack_count} --server-count-per-rack {server_count_per_rack}' + ' --ts-config {terminalServerConf} --managed-network-config {managedNetworkConf}', checks=checks) + +def step_show(test, checks=None): + '''nf show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric fabric show --resource-name {name} --resource-group {rg}') + +def step_delete(test, checks=None): + '''nf delete operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric fabric delete --resource-name {name} --resource-group {rg}') + +def step_list_resource_group(test, checks=None): + '''nf list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric fabric list --resource-group {rg}') + +def step_list_subscription(test, checks=None): + '''nf list by subscription operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric fabric list') + +def step_provision(test, checks=None): + '''nf provision operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric fabric provision --resource-name {resource_name} --resource-group {rg}') + +def step_deprovision(test, checks=None): + '''nf deprovision operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric fabric deprovision --resource-name {resource_name} --resource-group {rg}') + +class NFScenarioTest1(ScenarioTest): + ''' NFScenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('NETWORK_FABRIC', 'name'), + 'rg': CONFIG.get('NETWORK_FABRIC', 'resource_group'), + 'location': CONFIG.get('NETWORK_FABRIC', 'location'), + 'nf_sku': CONFIG.get('NETWORK_FABRIC', 'nf_sku'), + 'nfc_id': CONFIG.get('NETWORK_FABRIC', 'nfc_id'), + 'fabric_asn': CONFIG.get('NETWORK_FABRIC', 'fabric_asn'), + 'ipv4_prefix': CONFIG.get('NETWORK_FABRIC', 'ipv4_prefix'), + 'ipv6_prefix': CONFIG.get('NETWORK_FABRIC', 'ipv6_prefix'), + 'rack_count': CONFIG.get('NETWORK_FABRIC', 'rack_count'), + 'server_count_per_rack': CONFIG.get('NETWORK_FABRIC', 'server_count_per_rack'), + 'terminalServerConf': CONFIG.get('NETWORK_FABRIC', 'terminalServerConf'), + 'managedNetworkConf': CONFIG.get('NETWORK_FABRIC', 'managedNetworkConf'), + 'resource_name': CONFIG.get('NETWORK_FABRIC', 'resource_name') + }) + + def test_nf_scenario1(self): + ''' test scenario for NF CRUD operations''' + call_scenario1(self) + + def test_nf_scenario2(self): + ''' test scenario for NF Provision/Deprovision operations''' + call_scenario2(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_nfc.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_nfc.py new file mode 100644 index 00000000000..ac25e284fb2 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_nfc.py @@ -0,0 +1,103 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +NFC tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def setup_scenario2(test): + ''' Env setup_scenario2 ''' + pass + +def cleanup_scenario2(test): + '''Env cleanup_scenario2 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_create(test, checks=[]) + step_show(test, checks=[]) + step_list_subscription(test, checks=[]) + step_list_resource_group(test, checks=[]) + # skip testing delete until the Network Fabric Controller can be deleted without being created + # Instead we will delete in scenario 2 + # step_delete(test, checks=[]) + cleanup_scenario1(test) + +def call_scenario2(test): + setup_scenario2(test) + step_delete(test, checks=[]) + cleanup_scenario2(test) + +def step_create(test, checks=None): + '''nfc create operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric controller create --resource-group {rg} --location {location} --resource-name {name}' + ' --infra-er-connections {infraERConnections} --workload-er-connections {workloadERConnections}' + ' --ipv4-address-space {ipv4AddressSpace} --no-wait' , checks=checks) + +def step_show(test, checks=None): + '''nfc show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric controller show --resource-name {name} --resource-group {rg}') + +def step_delete(test, checks=None): + '''nfc delete operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric controller delete --resource-name {nameDelete} --resource-group {rg}') + +def step_list_resource_group(test, checks=None): + '''nfc list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric controller list --resource-group {rg}') + +def step_list_subscription(test, checks=None): + '''nfc list by subscription operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric controller list') + +class NFCScenarioTest1(ScenarioTest): + ''' NFCScenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('NETWORK_FABRIC_CONTROLLER', 'name'), + 'nameDelete': CONFIG.get('NETWORK_FABRIC_CONTROLLER', 'nameDelete'), + 'rg': CONFIG.get('NETWORK_FABRIC_CONTROLLER', 'resource_group'), + 'location': CONFIG.get('NETWORK_FABRIC_CONTROLLER', 'location'), + 'infraERConnections': CONFIG.get('NETWORK_FABRIC_CONTROLLER', 'infra_ER_Connections'), + 'workloadERConnections': CONFIG.get('NETWORK_FABRIC_CONTROLLER', 'workload_ER_Connections'), + 'ipv4AddressSpace': CONFIG.get('NETWORK_FABRIC_CONTROLLER', 'ipv4_address_space') + }) + + def test_nfc_scenario1(self): + ''' test scenario for NFC CRUD operations''' + call_scenario1(self) + + def test_nfc_scenario2(self): + ''' test scenario for NFC CRUD operations''' + call_scenario2(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_nni.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_nni.py new file mode 100644 index 00000000000..acc18496ecc --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_nni.py @@ -0,0 +1,78 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +NNI tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_create(test, checks=[]) + step_show(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_delete(test, checks=[]) + cleanup_scenario1(test) + +def step_create(test, checks=None): + '''nni create operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric nni create --resource-group {rg} --resource-name {name} --fabric {fabric}' + ' --is-management-type {isManagementType} --use-option-b {useOptionB}' + ' --layer2-configuration {layer2Configuration}' + ' --layer3-configuration {layer3Configuration}', checks=checks) + +def step_show(test, checks=None): + '''nni show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric nni show --resource-name {name} --resource-group {rg} --fabric {fabric}') + +def step_delete(test, checks=None): + '''nni delete operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric nni delete --resource-name {name} --resource-group {rg} --fabric {fabric}') + +def step_list_resource_group(test, checks=None): + '''nni list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric nni list --resource-group {rg} --fabric {fabric}') + +class NNIScenarioTest1(ScenarioTest): + ''' NNIScenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('NETWORK_TO_NETWORK_INTERCONNECT', 'name'), + 'rg': CONFIG.get('NETWORK_TO_NETWORK_INTERCONNECT', 'resource_group'), + 'fabric': CONFIG.get('NETWORK_TO_NETWORK_INTERCONNECT', 'fabric'), + 'isManagementType': CONFIG.get('NETWORK_TO_NETWORK_INTERCONNECT', 'is_management_type'), + 'useOptionB': CONFIG.get('NETWORK_TO_NETWORK_INTERCONNECT', 'use_option_b'), + 'layer2Configuration': CONFIG.get('NETWORK_TO_NETWORK_INTERCONNECT', 'layer2_Configuration'), + 'layer3Configuration': CONFIG.get('NETWORK_TO_NETWORK_INTERCONNECT', 'layer3_Configuration') + }) + + def test_nni_scenario1(self): + ''' test scenario for NNI CRUD operations''' + call_scenario1(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_rack.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_rack.py new file mode 100644 index 00000000000..1d8856e209f --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_rack.py @@ -0,0 +1,63 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +Rack tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_show(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_list_subscription(test, checks=[]) + cleanup_scenario1(test) + +def step_show(test, checks=None): + '''Rack show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric rack show --resource-name {name} --resource-group {rg}') + +def step_list_resource_group(test, checks=None): + '''Rack list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric rack list --resource-group {rg}') + +def step_list_subscription(test, checks=None): + '''Rack list by subscription''' + if checks is None: + checks = [] + test.cmd('az networkfabric rack list') + +class RackScenarioTest1(ScenarioTest): + ''' RackScenario test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('NETWORK_RACK', 'name'), + 'rg': CONFIG.get('NETWORK_RACK', 'resource_group') + }) + + #@ResourceGroupPreparer(name_prefix='cli_test_rack_rg_', key='rg', parameter_name='rg', location="westus3") + def test_Rack_scenario1(self): + ''' test scenario for Rack CRUD operations''' + call_scenario1(self) \ No newline at end of file diff --git a/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_routepolicy.py b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_routepolicy.py new file mode 100644 index 00000000000..0f5954b5394 --- /dev/null +++ b/src/managednetworkfabric/azext_managednetworkfabric/tests/latest/test_routepolicy.py @@ -0,0 +1,108 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# -------------------------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods,unnecessary-pass,unused-argument + +""" +Route Policy tests scenarios +""" + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .config import CONFIG + +def setup_scenario1(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario1(test): + '''Env cleanup_scenario1 ''' + pass + +def setup_scenario2(test): + ''' Env setup_scenario1 ''' + pass + +def cleanup_scenario2(test): + '''Env cleanup_scenario1 ''' + pass + +def call_scenario1(test): + ''' # Testcase: scenario1''' + setup_scenario1(test) + step_create_s1(test, checks=[]) + step_show(test, checks=[]) + step_list_subscription(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_delete(test, checks=[]) + cleanup_scenario1(test) + +def call_scenario2(test): + ''' # Testcase: scenario1''' + setup_scenario2(test) + step_create_s2(test, checks=[]) + step_show(test, checks=[]) + step_list_subscription(test, checks=[]) + step_list_resource_group(test, checks=[]) + step_delete(test, checks=[]) + cleanup_scenario2(test) + +def step_create_s1(test, checks=None): + '''routepolicy create operation with IpCommunities''' + if checks is None: + checks = [] + test.cmd('az networkfabric routepolicy create --resource-group {rg} --resource-name {name} --location {location} --statements {statements_with_ipcommunity}', checks=checks) + +def step_create_s2(test, checks=None): + '''routepolicy create operation with IpExtendedCommunities''' + if checks is None: + checks = [] + test.cmd('az networkfabric routepolicy create --resource-group {rg} --resource-name {name} --location {location} --statements {statements_with_ipextcommunity}', checks=checks) + +def step_show(test, checks=None): + '''routepolicy show operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric routepolicy show --resource-name {name} --resource-group {rg}') + +def step_delete(test, checks=None): + '''routepolicy delete operation''' + if checks is None: + checks = [] + test.cmd( + 'az networkfabric routepolicy delete --resource-name {name} --resource-group {rg}') + +def step_list_resource_group(test, checks=None): + '''routepolicy list by resource group operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric routepolicy list --resource-group {rg}') + +def step_list_subscription(test, checks=None): + '''routepolicy list by subscription operation''' + if checks is None: + checks = [] + test.cmd('az networkfabric routepolicy list') + +class RoutePolicyScenarioTest1(ScenarioTest): + ''' Route Policy Scenario1 test''' + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.kwargs.update({ + 'name': CONFIG.get('ROUTE_POLICY', 'name'), + 'rg': CONFIG.get('ROUTE_POLICY', 'resource_group'), + 'location': CONFIG.get('ROUTE_POLICY', 'location'), + 'statements_with_ipcommunity': CONFIG.get('ROUTE_POLICY', 'statements_with_ipcommunity'), + 'statements_with_ipextcommunity': CONFIG.get('ROUTE_POLICY', 'statements_with_ipextcommunity') + }) + + def test_route_policy_scenario1(self): + ''' test scenario for Route Policy CRUD operations''' + call_scenario1(self) + + def test_route_policy_scenario2(self): + ''' test scenario for Route Policy CRUD operations''' + call_scenario2(self) diff --git a/src/managednetworkfabric/setup.cfg b/src/managednetworkfabric/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/managednetworkfabric/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/managednetworkfabric/setup.py b/src/managednetworkfabric/setup.py new file mode 100644 index 00000000000..5491bfcaf8c --- /dev/null +++ b/src/managednetworkfabric/setup.py @@ -0,0 +1,49 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +from codecs import open +from setuptools import setup, find_packages + + +# HISTORY.rst entry. +VERSION = '1.0.0b1' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'License :: OSI Approved :: MIT License', +] + +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='managednetworkfabric', + version=VERSION, + description='Support for managednetworkfabric commands based on 2023-02-01-preview API version.', + long_description=README + '\n\n' + HISTORY, + license='MIT', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/managednetworkfabric', + classifiers=CLASSIFIERS, + packages=find_packages(exclude=["tests"]), + package_data={'azext_managednetworkfabric': ['azext_metadata.json']}, + install_requires=DEPENDENCIES +) diff --git a/src/service_name.json b/src/service_name.json index 3f5d45f0fd6..73e9557947f 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -394,6 +394,11 @@ "AzureServiceName": "Azure Operator Nexus", "URL": "https://learn.microsoft.com/en-us/azure/operator-nexus/" }, + { + "Command": "az networkfabric", + "AzureServiceName": "Managed Network Fabric", + "URL": "https://learn.microsoft.com/en-us/azure/operator-nexus/" + }, { "Command": "az network-function", "AzureServiceName": "Azure Network Function",