diff --git a/src/interconnect/HISTORY.rst b/src/interconnect/HISTORY.rst
index 52c1dc2ae85..6e8dee37cd8 100644
--- a/src/interconnect/HISTORY.rst
+++ b/src/interconnect/HISTORY.rst
@@ -3,6 +3,10 @@
Release History
===============
+1.0.0b2
+++++++
+* Add preview support for interconnect block create/ show/ list/ update/ delete operation.
+
1.0.0b1
++++++
* Add preview support for interconnect group CRUD, node availability queries, and subgroup list/show operations.
diff --git a/src/interconnect/README.md b/src/interconnect/README.md
index 96a1bb4c009..e6a8ae3e190 100644
--- a/src/interconnect/README.md
+++ b/src/interconnect/README.md
@@ -2,12 +2,12 @@
This is an extension to Azure CLI to manage Interconnect resources.
## How to use ##
-Install the extension:
-
+Install this extension using the below CLI command
```
az extension add --name interconnect
```
+### Included Features
### Manage interconnect groups ###
Create an interconnect group:
@@ -60,3 +60,70 @@ Show a subgroup:
```
az interconnect-group subgroup show --resource-group rg1 --interconnect-group-name test-ig --subgroup-name subgroup0
```
+
+#### Interconnect Block:
+##### Creates a new Interconnect Block resource.
+```
+az interconnect-block create --name training-icb-001 --resource-group ai-training-rg \
+ --location eastus --zones 1 --sku-name Standard_ND128isr_GB300_v6 --sku-capacity 36 \
+ --interconnect-group-id \
+ "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/network-\
+ rg/providers/Microsoft.Network/interconnectGroups/training-ig" --tags Environment=Production\
+ Workload=AI-Training CostCenter=ML-Engineering
+```
+
+##### Delete an Interconnect Block.
+```
+az interconnect-block delete --name training-icb-001 --resource-group ai-training-rg
+```
+
+##### Delete without confirmation
+```
+az interconnect-block delete --name training-icb-001 --resource-group ai-training-rg --yes
+```
+
+##### List all in subscription
+```
+az interconnect-block list
+```
+
+##### List by resource group
+```
+az interconnect-block list --resource-group ai-training-rg
+```
+
+##### List and filter by capacity
+```
+az interconnect-block list --resource-group ai-training-rg --query "[?sku.capacity>=36]"
+```
+
+##### Get basic information
+```
+az interconnect-block show --name training-icb-001 --resource-group ai-training-rg
+```
+
+##### Get with instance view (includes runtime details)
+```
+az interconnect-block show --name training-icb-001 --resource-group ai-training-rg --expand \
+ instanceView
+```
+
+##### Update scale capacity
+```
+az interconnect-block update --name training-icb-001 --resource-group ai-training-rg --sku-\
+ capacity 54
+```
+
+##### Update tags
+```
+az interconnect-block update --name training-icb-001 --resource-group ai-training-rg --tags \
+ Environment=Production Capacity=54-nodes LastScaled=$(date +%Y-%m-%d)
+```
+
+##### Update scale with no-wait
+```
+az interconnect-block update --name training-icb-001 --resource-group ai-training-rg --sku-\
+ capacity 72 --no-wait
+```
+
+If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues.
diff --git a/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/__cmd_group.py b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/__cmd_group.py
new file mode 100644
index 00000000000..fdf72d0d450
--- /dev/null
+++ b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/__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(
+ "interconnect-block",
+)
+class __CMDGroup(AAZCommandGroup):
+ """Manage Interconnect Block
+ """
+ pass
+
+
+__all__ = ["__CMDGroup"]
diff --git a/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/__init__.py b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/__init__.py
new file mode 100644
index 00000000000..db73033039b
--- /dev/null
+++ b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/__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 import *
+from ._wait import *
diff --git a/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_create.py b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_create.py
new file mode 100644
index 00000000000..d15ca926f8a
--- /dev/null
+++ b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_create.py
@@ -0,0 +1,450 @@
+# --------------------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All 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(
+ "interconnect-block create",
+)
+class Create(AAZCommand):
+ """Create an Interconnect Block. When updating an Interconnect Block, only tags and sku-capacity may be modified.
+
+ :example: Creates a new InterconnectBlock resource.
+ az interconnect-block create --name training-icb-001 --resource-group ai-training-rg --location eastus --zones 1 --sku-name Standard_ND128isr_GB300_v6 --sku-capacity 36 --interconnect-group-id "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/network-rg/providers/Microsoft.Network/interconnectGroups/training-ig" --tags Environment=Production Workload=AI-Training CostCenter=ML-Engineering
+ """
+
+ _aaz_info = {
+ "version": "2026-03-01",
+ "resources": [
+ ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/interconnectblocks/{}", "2026-03-01"],
+ ]
+ }
+
+ AZ_SUPPORT_NO_WAIT = True
+
+ def _handler(self, command_args):
+ super()._handler(command_args)
+ return self.build_lro_poller(self._execute_operations, self._output)
+
+ _args_schema = None
+
+ @classmethod
+ def _build_arguments_schema(cls, *args, **kwargs):
+ if cls._args_schema is not None:
+ return cls._args_schema
+ cls._args_schema = super()._build_arguments_schema(*args, **kwargs)
+
+ # define Arg Group ""
+
+ _args_schema = cls._args_schema
+ _args_schema.interconnect_block_name = AAZStrArg(
+ options=["-n", "--name", "--interconnect-block-name"],
+ help="The name of the Interconnect Block.",
+ required=True,
+ )
+ _args_schema.resource_group = AAZResourceGroupNameArg(
+ required=True,
+ )
+
+ # define Arg Group "InterconnectGroup"
+
+ _args_schema = cls._args_schema
+ _args_schema.interconnect_group_id = AAZStrArg(
+ options=["--group-id", "--interconnect-group-id"],
+ arg_group="InterconnectGroup",
+ help="The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...",
+ )
+
+ # define Arg Group "Placement"
+
+ _args_schema = cls._args_schema
+ _args_schema.placement_exclude_zones = AAZListArg(
+ options=["--exclude-zones", "--placement-exclude-zones"],
+ arg_group="Placement",
+ help="This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection.",
+ )
+ _args_schema.placement_include_zones = AAZListArg(
+ options=["--include-zones", "--placement-include-zones"],
+ arg_group="Placement",
+ help="This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection.",
+ )
+ _args_schema.zone_placement_policy = AAZStrArg(
+ options=["--placement-policy", "--zone-placement-policy"],
+ arg_group="Placement",
+ help="Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation.",
+ enum={"Any": "Any", "Auto": "Auto"},
+ )
+
+ placement_exclude_zones = cls._args_schema.placement_exclude_zones
+ placement_exclude_zones.Element = AAZStrArg()
+
+ placement_include_zones = cls._args_schema.placement_include_zones
+ placement_include_zones.Element = AAZStrArg()
+
+ # define Arg Group "Resource"
+
+ _args_schema = cls._args_schema
+ _args_schema.location = AAZResourceLocationArg(
+ arg_group="Resource",
+ help="The geo-location where the resource lives",
+ required=True,
+ fmt=AAZResourceLocationArgFormat(
+ resource_group_arg="resource_group",
+ ),
+ )
+ _args_schema.tags = AAZDictArg(
+ options=["--tags"],
+ arg_group="Resource",
+ help="Resource tags.",
+ )
+ _args_schema.zones = AAZListArg(
+ options=["--zones"],
+ arg_group="Resource",
+ help="The availability zones.",
+ )
+
+ tags = cls._args_schema.tags
+ tags.Element = AAZStrArg()
+
+ zones = cls._args_schema.zones
+ zones.Element = AAZStrArg()
+
+ # define Arg Group "Sku"
+
+ _args_schema = cls._args_schema
+ _args_schema.sku_capacity = AAZIntArg(
+ options=["--sku-capacity"],
+ arg_group="Sku",
+ help="Specifies the number of virtual machines in the scale set.",
+ )
+ _args_schema.sku_name = AAZStrArg(
+ options=["--sku-name"],
+ arg_group="Sku",
+ help="The sku name.",
+ )
+ _args_schema.sku_tier = AAZStrArg(
+ options=["--sku-tier"],
+ arg_group="Sku",
+ help="Specifies the tier of virtual machines in a scale set.
Possible Values:
**Standard**
**Basic**",
+ )
+ return cls._args_schema
+
+ def _execute_operations(self):
+ self.pre_operations()
+ yield self.InterconnectBlocksCreateOrUpdate(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 InterconnectBlocksCreateOrUpdate(AAZHttpOperation):
+ CLIENT_TYPE = "MgmtClient"
+
+ def __call__(self, *args, **kwargs):
+ request = self.make_request()
+ session = self.client.send_request(request=request, stream=False, **kwargs)
+ if session.http_response.status_code in [202]:
+ return self.client.build_lro_polling(
+ self.ctx.args.no_wait,
+ session,
+ self.on_200_201,
+ self.on_error,
+ lro_options={"final-state-via": "location"},
+ path_format_arguments=self.url_parameters,
+ )
+ if session.http_response.status_code in [200, 201]:
+ return self.client.build_lro_polling(
+ self.ctx.args.no_wait,
+ session,
+ self.on_200_201,
+ self.on_error,
+ lro_options={"final-state-via": "location"},
+ path_format_arguments=self.url_parameters,
+ )
+
+ return self.on_error(session.http_response)
+
+ @property
+ def url(self):
+ return self.client.format_url(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/interconnectBlocks/{interconnectBlockName}",
+ **self.url_parameters
+ )
+
+ @property
+ def method(self):
+ return "PUT"
+
+ @property
+ def error_format(self):
+ return "ODataV4Format"
+
+ @property
+ def url_parameters(self):
+ parameters = {
+ **self.serialize_url_param(
+ "interconnectBlockName", self.ctx.args.interconnect_block_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", "2026-03-01",
+ required=True,
+ ),
+ }
+ return parameters
+
+ @property
+ def header_parameters(self):
+ parameters = {
+ **self.serialize_header_param(
+ "Content-Type", "application/json",
+ ),
+ **self.serialize_header_param(
+ "Accept", "application/json",
+ ),
+ }
+ return parameters
+
+ @property
+ def content(self):
+ _content_value, _builder = self.new_content_builder(
+ self.ctx.args,
+ typ=AAZObjectType,
+ typ_kwargs={"flags": {"required": True, "client_flatten": True}}
+ )
+ _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}})
+ _builder.set_prop("placement", AAZObjectType)
+ _builder.set_prop("properties", AAZObjectType)
+ _builder.set_prop("sku", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}})
+ _builder.set_prop("tags", AAZDictType, ".tags")
+ _builder.set_prop("zones", AAZListType, ".zones")
+
+ placement = _builder.get(".placement")
+ if placement is not None:
+ placement.set_prop("excludeZones", AAZListType, ".placement_exclude_zones")
+ placement.set_prop("includeZones", AAZListType, ".placement_include_zones")
+ placement.set_prop("zonePlacementPolicy", AAZStrType, ".zone_placement_policy")
+
+ exclude_zones = _builder.get(".placement.excludeZones")
+ if exclude_zones is not None:
+ exclude_zones.set_elements(AAZStrType, ".")
+
+ include_zones = _builder.get(".placement.includeZones")
+ if include_zones is not None:
+ include_zones.set_elements(AAZStrType, ".")
+
+ properties = _builder.get(".properties")
+ if properties is not None:
+ properties.set_prop("interconnectGroup", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}})
+
+ interconnect_group = _builder.get(".properties.interconnectGroup")
+ if interconnect_group is not None:
+ interconnect_group.set_prop("id", AAZStrType, ".interconnect_group_id")
+
+ sku = _builder.get(".sku")
+ if sku is not None:
+ sku.set_prop("capacity", AAZIntType, ".sku_capacity")
+ sku.set_prop("name", AAZStrType, ".sku_name")
+ sku.set_prop("tier", AAZStrType, ".sku_tier")
+
+ tags = _builder.get(".tags")
+ if tags is not None:
+ tags.set_elements(AAZStrType, ".")
+
+ zones = _builder.get(".zones")
+ if zones is not None:
+ zones.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.placement = AAZObjectType()
+ _schema_on_200_201.properties = AAZObjectType()
+ _schema_on_200_201.sku = AAZObjectType(
+ flags={"required": 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},
+ )
+ _schema_on_200_201.zones = AAZListType()
+
+ placement = cls._schema_on_200_201.placement
+ placement.exclude_zones = AAZListType(
+ serialized_name="excludeZones",
+ )
+ placement.include_zones = AAZListType(
+ serialized_name="includeZones",
+ )
+ placement.zone_placement_policy = AAZStrType(
+ serialized_name="zonePlacementPolicy",
+ )
+
+ exclude_zones = cls._schema_on_200_201.placement.exclude_zones
+ exclude_zones.Element = AAZStrType()
+
+ include_zones = cls._schema_on_200_201.placement.include_zones
+ include_zones.Element = AAZStrType()
+
+ properties = cls._schema_on_200_201.properties
+ properties.instance_view = AAZObjectType(
+ serialized_name="instanceView",
+ flags={"read_only": True},
+ )
+ properties.interconnect_block_id = AAZStrType(
+ serialized_name="interconnectBlockId",
+ flags={"read_only": True},
+ )
+ properties.interconnect_group = AAZObjectType(
+ serialized_name="interconnectGroup",
+ flags={"required": True},
+ )
+ properties.provisioning_state = AAZStrType(
+ serialized_name="provisioningState",
+ flags={"read_only": True},
+ )
+ properties.provisioning_time = AAZStrType(
+ serialized_name="provisioningTime",
+ flags={"read_only": True},
+ )
+ properties.time_created = AAZStrType(
+ serialized_name="timeCreated",
+ flags={"read_only": True},
+ )
+ properties.virtual_machines_associated = AAZListType(
+ serialized_name="virtualMachinesAssociated",
+ flags={"read_only": True},
+ )
+
+ instance_view = cls._schema_on_200_201.properties.instance_view
+ instance_view.current_capacity = AAZIntType(
+ serialized_name="currentCapacity",
+ flags={"read_only": True},
+ )
+ instance_view.statuses = AAZListType(
+ flags={"read_only": True},
+ )
+
+ statuses = cls._schema_on_200_201.properties.instance_view.statuses
+ statuses.Element = AAZObjectType()
+
+ _element = cls._schema_on_200_201.properties.instance_view.statuses.Element
+ _element.code = AAZStrType()
+ _element.display_status = AAZStrType(
+ serialized_name="displayStatus",
+ )
+ _element.level = AAZStrType()
+ _element.message = AAZStrType()
+ _element.time = AAZStrType()
+
+ interconnect_group = cls._schema_on_200_201.properties.interconnect_group
+ interconnect_group.id = AAZStrType()
+
+ virtual_machines_associated = cls._schema_on_200_201.properties.virtual_machines_associated
+ virtual_machines_associated.Element = AAZObjectType()
+
+ _element = cls._schema_on_200_201.properties.virtual_machines_associated.Element
+ _element.id = AAZStrType(
+ flags={"read_only": True},
+ )
+
+ sku = cls._schema_on_200_201.sku
+ sku.capacity = AAZIntType()
+ sku.name = AAZStrType()
+ sku.tier = 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()
+
+ zones = cls._schema_on_200_201.zones
+ zones.Element = AAZStrType()
+
+ return cls._schema_on_200_201
+
+
+class _CreateHelper:
+ """Helper class for Create"""
+
+
+__all__ = ["Create"]
diff --git a/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_delete.py b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_delete.py
new file mode 100644
index 00000000000..ed65117ea9d
--- /dev/null
+++ b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_delete.py
@@ -0,0 +1,166 @@
+# --------------------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All 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(
+ "interconnect-block delete",
+ confirmation="Are you sure you want to perform this operation?",
+)
+class Delete(AAZCommand):
+ """Delete an Interconnect Block. The operation is only allowed when there are no virtual machines or VMSS VM instances associated with the Interconnect Block.
+
+ :example: Delete with confirmation
+ az interconnect-block delete --name training-icb-001 --resource-group ai-training-rg
+
+ :example: Delete without confirmation
+ az interconnect-block delete --name training-icb-001 --resource-group ai-training-rg --yes
+ """
+
+ _aaz_info = {
+ "version": "2026-03-01",
+ "resources": [
+ ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/interconnectblocks/{}", "2026-03-01"],
+ ]
+ }
+
+ AZ_SUPPORT_NO_WAIT = True
+
+ def _handler(self, command_args):
+ super()._handler(command_args)
+ return self.build_lro_poller(self._execute_operations, None)
+
+ _args_schema = None
+
+ @classmethod
+ def _build_arguments_schema(cls, *args, **kwargs):
+ if cls._args_schema is not None:
+ return cls._args_schema
+ cls._args_schema = super()._build_arguments_schema(*args, **kwargs)
+
+ # define Arg Group ""
+
+ _args_schema = cls._args_schema
+ _args_schema.interconnect_block_name = AAZStrArg(
+ options=["-n", "--name", "--interconnect-block-name"],
+ help="The name of the Interconnect Block.",
+ required=True,
+ id_part="name",
+ )
+ _args_schema.resource_group = AAZResourceGroupNameArg(
+ required=True,
+ )
+ return cls._args_schema
+
+ def _execute_operations(self):
+ self.pre_operations()
+ yield self.InterconnectBlocksDelete(ctx=self.ctx)()
+ self.post_operations()
+
+ @register_callback
+ def pre_operations(self):
+ pass
+
+ @register_callback
+ def post_operations(self):
+ pass
+
+ class InterconnectBlocksDelete(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.Compute/interconnectBlocks/{interconnectBlockName}",
+ **self.url_parameters
+ )
+
+ @property
+ def method(self):
+ return "DELETE"
+
+ @property
+ def error_format(self):
+ return "ODataV4Format"
+
+ @property
+ def url_parameters(self):
+ parameters = {
+ **self.serialize_url_param(
+ "interconnectBlockName", self.ctx.args.interconnect_block_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", "2026-03-01",
+ required=True,
+ ),
+ }
+ return parameters
+
+ def on_200(self, session):
+ pass
+
+ def on_204(self, session):
+ pass
+
+
+class _DeleteHelper:
+ """Helper class for Delete"""
+
+
+__all__ = ["Delete"]
diff --git a/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_list.py b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_list.py
new file mode 100644
index 00000000000..a789d8c10fd
--- /dev/null
+++ b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_list.py
@@ -0,0 +1,530 @@
+# --------------------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All 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(
+ "interconnect-block list",
+)
+class List(AAZCommand):
+ """List all of the Interconnect Blocks in the subscription. Use the nextLink property in the response to get the next page of Interconnect Blocks.
+
+ :example: List all in subscription
+ az interconnect-block list
+
+ :example: List by resource group
+ az interconnect-block list --resource-group ai-training-rg
+
+ :example: List and filter by capacity
+ az interconnect-block list --resource-group ai-training-rg --query "[?sku.capacity>=36]"
+ """
+
+ _aaz_info = {
+ "version": "2026-03-01",
+ "resources": [
+ ["mgmt-plane", "/subscriptions/{}/providers/microsoft.compute/interconnectblocks", "2026-03-01"],
+ ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/interconnectblocks", "2026-03-01"],
+ ]
+ }
+
+ AZ_SUPPORT_PAGINATION = True
+
+ def _handler(self, command_args):
+ super()._handler(command_args)
+ return self.build_paging(self._execute_operations, self._output)
+
+ _args_schema = None
+
+ @classmethod
+ def _build_arguments_schema(cls, *args, **kwargs):
+ if cls._args_schema is not None:
+ return cls._args_schema
+ cls._args_schema = super()._build_arguments_schema(*args, **kwargs)
+
+ # define Arg Group ""
+
+ _args_schema = cls._args_schema
+ _args_schema.resource_group = AAZResourceGroupNameArg()
+ return cls._args_schema
+
+ def _execute_operations(self):
+ self.pre_operations()
+ condition_0 = has_value(self.ctx.subscription_id) and has_value(self.ctx.args.resource_group) is not True
+ condition_1 = has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id)
+ if condition_0:
+ self.InterconnectBlocksListBySubscription(ctx=self.ctx)()
+ if condition_1:
+ self.InterconnectBlocksListByResourceGroup(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 InterconnectBlocksListBySubscription(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.Compute/interconnectBlocks",
+ **self.url_parameters
+ )
+
+ @property
+ def method(self):
+ return "GET"
+
+ @property
+ def error_format(self):
+ return "ODataV4Format"
+
+ @property
+ def url_parameters(self):
+ parameters = {
+ **self.serialize_url_param(
+ "subscriptionId", self.ctx.subscription_id,
+ required=True,
+ ),
+ }
+ return parameters
+
+ @property
+ def query_parameters(self):
+ parameters = {
+ **self.serialize_query_param(
+ "api-version", "2026-03-01",
+ required=True,
+ ),
+ }
+ return parameters
+
+ @property
+ def header_parameters(self):
+ parameters = {
+ **self.serialize_header_param(
+ "Accept", "application/json",
+ ),
+ }
+ return parameters
+
+ def on_200(self, session):
+ data = self.deserialize_http_content(session)
+ self.ctx.set_var(
+ "instance",
+ data,
+ schema_builder=self._build_schema_on_200
+ )
+
+ _schema_on_200 = None
+
+ @classmethod
+ def _build_schema_on_200(cls):
+ if cls._schema_on_200 is not None:
+ return cls._schema_on_200
+
+ cls._schema_on_200 = AAZObjectType()
+
+ _schema_on_200 = cls._schema_on_200
+ _schema_on_200.next_link = AAZStrType(
+ serialized_name="nextLink",
+ )
+ _schema_on_200.value = AAZListType(
+ flags={"required": True},
+ )
+
+ value = cls._schema_on_200.value
+ value.Element = AAZObjectType()
+
+ _element = cls._schema_on_200.value.Element
+ _element.id = AAZStrType(
+ flags={"read_only": True},
+ )
+ _element.location = AAZStrType(
+ flags={"required": True},
+ )
+ _element.name = AAZStrType(
+ flags={"read_only": True},
+ )
+ _element.placement = AAZObjectType()
+ _element.properties = AAZObjectType()
+ _element.sku = AAZObjectType(
+ flags={"required": True},
+ )
+ _element.system_data = AAZObjectType(
+ serialized_name="systemData",
+ flags={"read_only": True},
+ )
+ _element.tags = AAZDictType()
+ _element.type = AAZStrType(
+ flags={"read_only": True},
+ )
+ _element.zones = AAZListType()
+
+ placement = cls._schema_on_200.value.Element.placement
+ placement.exclude_zones = AAZListType(
+ serialized_name="excludeZones",
+ )
+ placement.include_zones = AAZListType(
+ serialized_name="includeZones",
+ )
+ placement.zone_placement_policy = AAZStrType(
+ serialized_name="zonePlacementPolicy",
+ )
+
+ exclude_zones = cls._schema_on_200.value.Element.placement.exclude_zones
+ exclude_zones.Element = AAZStrType()
+
+ include_zones = cls._schema_on_200.value.Element.placement.include_zones
+ include_zones.Element = AAZStrType()
+
+ properties = cls._schema_on_200.value.Element.properties
+ properties.instance_view = AAZObjectType(
+ serialized_name="instanceView",
+ flags={"read_only": True},
+ )
+ properties.interconnect_block_id = AAZStrType(
+ serialized_name="interconnectBlockId",
+ flags={"read_only": True},
+ )
+ properties.interconnect_group = AAZObjectType(
+ serialized_name="interconnectGroup",
+ flags={"required": True},
+ )
+ properties.provisioning_state = AAZStrType(
+ serialized_name="provisioningState",
+ flags={"read_only": True},
+ )
+ properties.provisioning_time = AAZStrType(
+ serialized_name="provisioningTime",
+ flags={"read_only": True},
+ )
+ properties.time_created = AAZStrType(
+ serialized_name="timeCreated",
+ flags={"read_only": True},
+ )
+ properties.virtual_machines_associated = AAZListType(
+ serialized_name="virtualMachinesAssociated",
+ flags={"read_only": True},
+ )
+
+ instance_view = cls._schema_on_200.value.Element.properties.instance_view
+ instance_view.current_capacity = AAZIntType(
+ serialized_name="currentCapacity",
+ flags={"read_only": True},
+ )
+ instance_view.statuses = AAZListType(
+ flags={"read_only": True},
+ )
+
+ statuses = cls._schema_on_200.value.Element.properties.instance_view.statuses
+ statuses.Element = AAZObjectType()
+
+ _element = cls._schema_on_200.value.Element.properties.instance_view.statuses.Element
+ _element.code = AAZStrType()
+ _element.display_status = AAZStrType(
+ serialized_name="displayStatus",
+ )
+ _element.level = AAZStrType()
+ _element.message = AAZStrType()
+ _element.time = AAZStrType()
+
+ interconnect_group = cls._schema_on_200.value.Element.properties.interconnect_group
+ interconnect_group.id = AAZStrType()
+
+ virtual_machines_associated = cls._schema_on_200.value.Element.properties.virtual_machines_associated
+ virtual_machines_associated.Element = AAZObjectType()
+
+ _element = cls._schema_on_200.value.Element.properties.virtual_machines_associated.Element
+ _element.id = AAZStrType(
+ flags={"read_only": True},
+ )
+
+ sku = cls._schema_on_200.value.Element.sku
+ sku.capacity = AAZIntType()
+ sku.name = AAZStrType()
+ sku.tier = 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()
+
+ zones = cls._schema_on_200.value.Element.zones
+ zones.Element = AAZStrType()
+
+ return cls._schema_on_200
+
+ class InterconnectBlocksListByResourceGroup(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.Compute/interconnectBlocks",
+ **self.url_parameters
+ )
+
+ @property
+ def method(self):
+ return "GET"
+
+ @property
+ def error_format(self):
+ return "ODataV4Format"
+
+ @property
+ def url_parameters(self):
+ parameters = {
+ **self.serialize_url_param(
+ "resourceGroupName", self.ctx.args.resource_group,
+ required=True,
+ ),
+ **self.serialize_url_param(
+ "subscriptionId", self.ctx.subscription_id,
+ required=True,
+ ),
+ }
+ return parameters
+
+ @property
+ def query_parameters(self):
+ parameters = {
+ **self.serialize_query_param(
+ "api-version", "2026-03-01",
+ required=True,
+ ),
+ }
+ return parameters
+
+ @property
+ def header_parameters(self):
+ parameters = {
+ **self.serialize_header_param(
+ "Accept", "application/json",
+ ),
+ }
+ return parameters
+
+ def on_200(self, session):
+ data = self.deserialize_http_content(session)
+ self.ctx.set_var(
+ "instance",
+ data,
+ schema_builder=self._build_schema_on_200
+ )
+
+ _schema_on_200 = None
+
+ @classmethod
+ def _build_schema_on_200(cls):
+ if cls._schema_on_200 is not None:
+ return cls._schema_on_200
+
+ cls._schema_on_200 = AAZObjectType()
+
+ _schema_on_200 = cls._schema_on_200
+ _schema_on_200.next_link = AAZStrType(
+ serialized_name="nextLink",
+ )
+ _schema_on_200.value = AAZListType(
+ flags={"required": True},
+ )
+
+ value = cls._schema_on_200.value
+ value.Element = AAZObjectType()
+
+ _element = cls._schema_on_200.value.Element
+ _element.id = AAZStrType(
+ flags={"read_only": True},
+ )
+ _element.location = AAZStrType(
+ flags={"required": True},
+ )
+ _element.name = AAZStrType(
+ flags={"read_only": True},
+ )
+ _element.placement = AAZObjectType()
+ _element.properties = AAZObjectType()
+ _element.sku = AAZObjectType(
+ flags={"required": True},
+ )
+ _element.system_data = AAZObjectType(
+ serialized_name="systemData",
+ flags={"read_only": True},
+ )
+ _element.tags = AAZDictType()
+ _element.type = AAZStrType(
+ flags={"read_only": True},
+ )
+ _element.zones = AAZListType()
+
+ placement = cls._schema_on_200.value.Element.placement
+ placement.exclude_zones = AAZListType(
+ serialized_name="excludeZones",
+ )
+ placement.include_zones = AAZListType(
+ serialized_name="includeZones",
+ )
+ placement.zone_placement_policy = AAZStrType(
+ serialized_name="zonePlacementPolicy",
+ )
+
+ exclude_zones = cls._schema_on_200.value.Element.placement.exclude_zones
+ exclude_zones.Element = AAZStrType()
+
+ include_zones = cls._schema_on_200.value.Element.placement.include_zones
+ include_zones.Element = AAZStrType()
+
+ properties = cls._schema_on_200.value.Element.properties
+ properties.instance_view = AAZObjectType(
+ serialized_name="instanceView",
+ flags={"read_only": True},
+ )
+ properties.interconnect_block_id = AAZStrType(
+ serialized_name="interconnectBlockId",
+ flags={"read_only": True},
+ )
+ properties.interconnect_group = AAZObjectType(
+ serialized_name="interconnectGroup",
+ flags={"required": True},
+ )
+ properties.provisioning_state = AAZStrType(
+ serialized_name="provisioningState",
+ flags={"read_only": True},
+ )
+ properties.provisioning_time = AAZStrType(
+ serialized_name="provisioningTime",
+ flags={"read_only": True},
+ )
+ properties.time_created = AAZStrType(
+ serialized_name="timeCreated",
+ flags={"read_only": True},
+ )
+ properties.virtual_machines_associated = AAZListType(
+ serialized_name="virtualMachinesAssociated",
+ flags={"read_only": True},
+ )
+
+ instance_view = cls._schema_on_200.value.Element.properties.instance_view
+ instance_view.current_capacity = AAZIntType(
+ serialized_name="currentCapacity",
+ flags={"read_only": True},
+ )
+ instance_view.statuses = AAZListType(
+ flags={"read_only": True},
+ )
+
+ statuses = cls._schema_on_200.value.Element.properties.instance_view.statuses
+ statuses.Element = AAZObjectType()
+
+ _element = cls._schema_on_200.value.Element.properties.instance_view.statuses.Element
+ _element.code = AAZStrType()
+ _element.display_status = AAZStrType(
+ serialized_name="displayStatus",
+ )
+ _element.level = AAZStrType()
+ _element.message = AAZStrType()
+ _element.time = AAZStrType()
+
+ interconnect_group = cls._schema_on_200.value.Element.properties.interconnect_group
+ interconnect_group.id = AAZStrType()
+
+ virtual_machines_associated = cls._schema_on_200.value.Element.properties.virtual_machines_associated
+ virtual_machines_associated.Element = AAZObjectType()
+
+ _element = cls._schema_on_200.value.Element.properties.virtual_machines_associated.Element
+ _element.id = AAZStrType(
+ flags={"read_only": True},
+ )
+
+ sku = cls._schema_on_200.value.Element.sku
+ sku.capacity = AAZIntType()
+ sku.name = AAZStrType()
+ sku.tier = 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()
+
+ zones = cls._schema_on_200.value.Element.zones
+ zones.Element = AAZStrType()
+
+ return cls._schema_on_200
+
+
+class _ListHelper:
+ """Helper class for List"""
+
+
+__all__ = ["List"]
diff --git a/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_show.py b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_show.py
new file mode 100644
index 00000000000..e873341717d
--- /dev/null
+++ b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_show.py
@@ -0,0 +1,308 @@
+# --------------------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+#
+# Code generated by aaz-dev-tools
+# --------------------------------------------------------------------------------------------
+
+# pylint: skip-file
+# flake8: noqa
+
+from azure.cli.core.aaz import *
+
+
+@register_command(
+ "interconnect-block show",
+)
+class Show(AAZCommand):
+ """Get information about an Interconnect Block.
+
+ :example: Get basic information
+ az interconnect-block show --name training-icb-001 --resource-group ai-training-rg
+
+ :example: Get with instance view (includes runtime details)
+ az interconnect-block show --name training-icb-001 --resource-group ai-training-rg --expand instanceView
+ """
+
+ _aaz_info = {
+ "version": "2026-03-01",
+ "resources": [
+ ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/interconnectblocks/{}", "2026-03-01"],
+ ]
+ }
+
+ def _handler(self, command_args):
+ super()._handler(command_args)
+ self._execute_operations()
+ return self._output()
+
+ _args_schema = None
+
+ @classmethod
+ def _build_arguments_schema(cls, *args, **kwargs):
+ if cls._args_schema is not None:
+ return cls._args_schema
+ cls._args_schema = super()._build_arguments_schema(*args, **kwargs)
+
+ # define Arg Group ""
+
+ _args_schema = cls._args_schema
+ _args_schema.interconnect_block_name = AAZStrArg(
+ options=["-n", "--name", "--interconnect-block-name"],
+ help="The name of the Interconnect Block.",
+ required=True,
+ id_part="name",
+ )
+ _args_schema.resource_group = AAZResourceGroupNameArg(
+ required=True,
+ )
+ _args_schema.expand = AAZStrArg(
+ options=["--expand"],
+ help="The expand expression to apply on the operation. 'instanceView' retrieves a snapshot of the runtime properties of the Interconnect Block that is managed by the platform and can change outside of control plane operations.",
+ enum={"instanceView": "instanceView"},
+ )
+ return cls._args_schema
+
+ def _execute_operations(self):
+ self.pre_operations()
+ self.InterconnectBlocksGet(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 InterconnectBlocksGet(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.Compute/interconnectBlocks/{interconnectBlockName}",
+ **self.url_parameters
+ )
+
+ @property
+ def method(self):
+ return "GET"
+
+ @property
+ def error_format(self):
+ return "ODataV4Format"
+
+ @property
+ def url_parameters(self):
+ parameters = {
+ **self.serialize_url_param(
+ "interconnectBlockName", self.ctx.args.interconnect_block_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(
+ "$expand", self.ctx.args.expand,
+ ),
+ **self.serialize_query_param(
+ "api-version", "2026-03-01",
+ required=True,
+ ),
+ }
+ return parameters
+
+ @property
+ def header_parameters(self):
+ parameters = {
+ **self.serialize_header_param(
+ "Accept", "application/json",
+ ),
+ }
+ return parameters
+
+ def on_200(self, session):
+ data = self.deserialize_http_content(session)
+ self.ctx.set_var(
+ "instance",
+ data,
+ schema_builder=self._build_schema_on_200
+ )
+
+ _schema_on_200 = None
+
+ @classmethod
+ def _build_schema_on_200(cls):
+ if cls._schema_on_200 is not None:
+ return cls._schema_on_200
+
+ cls._schema_on_200 = AAZObjectType()
+
+ _schema_on_200 = cls._schema_on_200
+ _schema_on_200.id = AAZStrType(
+ flags={"read_only": True},
+ )
+ _schema_on_200.location = AAZStrType(
+ flags={"required": True},
+ )
+ _schema_on_200.name = AAZStrType(
+ flags={"read_only": True},
+ )
+ _schema_on_200.placement = AAZObjectType()
+ _schema_on_200.properties = AAZObjectType()
+ _schema_on_200.sku = AAZObjectType(
+ flags={"required": 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},
+ )
+ _schema_on_200.zones = AAZListType()
+
+ placement = cls._schema_on_200.placement
+ placement.exclude_zones = AAZListType(
+ serialized_name="excludeZones",
+ )
+ placement.include_zones = AAZListType(
+ serialized_name="includeZones",
+ )
+ placement.zone_placement_policy = AAZStrType(
+ serialized_name="zonePlacementPolicy",
+ )
+
+ exclude_zones = cls._schema_on_200.placement.exclude_zones
+ exclude_zones.Element = AAZStrType()
+
+ include_zones = cls._schema_on_200.placement.include_zones
+ include_zones.Element = AAZStrType()
+
+ properties = cls._schema_on_200.properties
+ properties.instance_view = AAZObjectType(
+ serialized_name="instanceView",
+ flags={"read_only": True},
+ )
+ properties.interconnect_block_id = AAZStrType(
+ serialized_name="interconnectBlockId",
+ flags={"read_only": True},
+ )
+ properties.interconnect_group = AAZObjectType(
+ serialized_name="interconnectGroup",
+ flags={"required": True},
+ )
+ properties.provisioning_state = AAZStrType(
+ serialized_name="provisioningState",
+ flags={"read_only": True},
+ )
+ properties.provisioning_time = AAZStrType(
+ serialized_name="provisioningTime",
+ flags={"read_only": True},
+ )
+ properties.time_created = AAZStrType(
+ serialized_name="timeCreated",
+ flags={"read_only": True},
+ )
+ properties.virtual_machines_associated = AAZListType(
+ serialized_name="virtualMachinesAssociated",
+ flags={"read_only": True},
+ )
+
+ instance_view = cls._schema_on_200.properties.instance_view
+ instance_view.current_capacity = AAZIntType(
+ serialized_name="currentCapacity",
+ flags={"read_only": True},
+ )
+ instance_view.statuses = AAZListType(
+ flags={"read_only": True},
+ )
+
+ statuses = cls._schema_on_200.properties.instance_view.statuses
+ statuses.Element = AAZObjectType()
+
+ _element = cls._schema_on_200.properties.instance_view.statuses.Element
+ _element.code = AAZStrType()
+ _element.display_status = AAZStrType(
+ serialized_name="displayStatus",
+ )
+ _element.level = AAZStrType()
+ _element.message = AAZStrType()
+ _element.time = AAZStrType()
+
+ interconnect_group = cls._schema_on_200.properties.interconnect_group
+ interconnect_group.id = AAZStrType()
+
+ virtual_machines_associated = cls._schema_on_200.properties.virtual_machines_associated
+ virtual_machines_associated.Element = AAZObjectType()
+
+ _element = cls._schema_on_200.properties.virtual_machines_associated.Element
+ _element.id = AAZStrType(
+ flags={"read_only": True},
+ )
+
+ sku = cls._schema_on_200.sku
+ sku.capacity = AAZIntType()
+ sku.name = AAZStrType()
+ sku.tier = 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()
+
+ zones = cls._schema_on_200.zones
+ zones.Element = AAZStrType()
+
+ return cls._schema_on_200
+
+
+class _ShowHelper:
+ """Helper class for Show"""
+
+
+__all__ = ["Show"]
diff --git a/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_update.py b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_update.py
new file mode 100644
index 00000000000..6d87ac09083
--- /dev/null
+++ b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_update.py
@@ -0,0 +1,596 @@
+# --------------------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All 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(
+ "interconnect-block update",
+)
+class Update(AAZCommand):
+ """Update an Interconnect Block. When updating an Interconnect Block, only tags and sku-capacity may be modified.
+
+ :example: Update scale capacity
+ az interconnect-block update --name training-icb-001 --resource-group ai-training-rg --sku-capacity 54
+
+ :example: Update tags
+ az interconnect-block update --name training-icb-001 --resource-group ai-training-rg --tags Environment=Production Capacity=54-nodes LastScaled=$(date +%Y-%m-%d)
+
+ :example: Update scale with no-wait
+ az interconnect-block update --name training-icb-001 --resource-group ai-training-rg --sku-capacity 72 --no-wait
+ """
+
+ _aaz_info = {
+ "version": "2026-03-01",
+ "resources": [
+ ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/interconnectblocks/{}", "2026-03-01"],
+ ]
+ }
+
+ AZ_SUPPORT_NO_WAIT = True
+
+ AZ_SUPPORT_GENERIC_UPDATE = True
+
+ def _handler(self, command_args):
+ super()._handler(command_args)
+ return self.build_lro_poller(self._execute_operations, self._output)
+
+ _args_schema = None
+
+ @classmethod
+ def _build_arguments_schema(cls, *args, **kwargs):
+ if cls._args_schema is not None:
+ return cls._args_schema
+ cls._args_schema = super()._build_arguments_schema(*args, **kwargs)
+
+ # define Arg Group ""
+
+ _args_schema = cls._args_schema
+ _args_schema.interconnect_block_name = AAZStrArg(
+ options=["-n", "--name", "--interconnect-block-name"],
+ help="The name of the Interconnect Block.",
+ required=True,
+ id_part="name",
+ )
+ _args_schema.resource_group = AAZResourceGroupNameArg(
+ required=True,
+ )
+
+ # define Arg Group "Placement"
+
+ _args_schema = cls._args_schema
+ _args_schema.placement_exclude_zones = AAZListArg(
+ options=["--exclude-zones", "--placement-exclude-zones"],
+ arg_group="Placement",
+ help="This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must not be present in the list of availability zones passed with 'excludeZones'. If 'excludeZones' is not provided, all availability zones in region will be considered for selection.",
+ nullable=True,
+ )
+ _args_schema.placement_include_zones = AAZListArg(
+ options=["--include-zones", "--placement-include-zones"],
+ arg_group="Placement",
+ help="This property supplements the 'zonePlacementPolicy' property. If 'zonePlacementPolicy' is set to 'Any'/'Auto', availability zone selected by the system must be present in the list of availability zones passed with 'includeZones'. If 'includeZones' is not provided, all availability zones in region will be considered for selection.",
+ nullable=True,
+ )
+ _args_schema.zone_placement_policy = AAZStrArg(
+ options=["--placement-policy", "--zone-placement-policy"],
+ arg_group="Placement",
+ help="Specifies the policy for resource's placement in availability zone. Possible values are: **Any** (used for Virtual Machines), **Auto** (used for Virtual Machine Scale Sets) - An availability zone will be automatically picked by system as part of resource creation.",
+ nullable=True,
+ enum={"Any": "Any", "Auto": "Auto"},
+ )
+
+ placement_exclude_zones = cls._args_schema.placement_exclude_zones
+ placement_exclude_zones.Element = AAZStrArg(
+ nullable=True,
+ )
+
+ placement_include_zones = cls._args_schema.placement_include_zones
+ placement_include_zones.Element = AAZStrArg(
+ nullable=True,
+ )
+
+ # define Arg Group "Resource"
+
+ _args_schema = cls._args_schema
+ _args_schema.tags = AAZDictArg(
+ options=["--tags"],
+ arg_group="Resource",
+ help="Resource tags.",
+ nullable=True,
+ )
+ _args_schema.zones = AAZListArg(
+ options=["--zones"],
+ arg_group="Resource",
+ help="The availability zones.",
+ nullable=True,
+ )
+
+ tags = cls._args_schema.tags
+ tags.Element = AAZStrArg(
+ nullable=True,
+ )
+
+ zones = cls._args_schema.zones
+ zones.Element = AAZStrArg(
+ nullable=True,
+ )
+
+ # define Arg Group "Sku"
+
+ _args_schema = cls._args_schema
+ _args_schema.sku_capacity = AAZIntArg(
+ options=["--sku-capacity"],
+ arg_group="Sku",
+ help="Specifies the number of virtual machines in the scale set.",
+ nullable=True,
+ )
+ _args_schema.sku_name = AAZStrArg(
+ options=["--sku-name"],
+ arg_group="Sku",
+ help="The sku name.",
+ nullable=True,
+ )
+ _args_schema.sku_tier = AAZStrArg(
+ options=["--sku-tier"],
+ arg_group="Sku",
+ help="Specifies the tier of virtual machines in a scale set.
Possible Values:
**Standard**
**Basic**",
+ nullable=True,
+ )
+ return cls._args_schema
+
+ def _execute_operations(self):
+ self.pre_operations()
+ self.InterconnectBlocksGet(ctx=self.ctx)()
+ self.pre_instance_update(self.ctx.vars.instance)
+ self.InstanceUpdateByJson(ctx=self.ctx)()
+ self.InstanceUpdateByGeneric(ctx=self.ctx)()
+ self.post_instance_update(self.ctx.vars.instance)
+ yield self.InterconnectBlocksCreateOrUpdate(ctx=self.ctx)()
+ self.post_operations()
+
+ @register_callback
+ def pre_operations(self):
+ pass
+
+ @register_callback
+ def post_operations(self):
+ pass
+
+ @register_callback
+ def pre_instance_update(self, instance):
+ pass
+
+ @register_callback
+ def post_instance_update(self, instance):
+ pass
+
+ def _output(self, *args, **kwargs):
+ result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True)
+ return result
+
+ class InterconnectBlocksGet(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.Compute/interconnectBlocks/{interconnectBlockName}",
+ **self.url_parameters
+ )
+
+ @property
+ def method(self):
+ return "GET"
+
+ @property
+ def error_format(self):
+ return "ODataV4Format"
+
+ @property
+ def url_parameters(self):
+ parameters = {
+ **self.serialize_url_param(
+ "interconnectBlockName", self.ctx.args.interconnect_block_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", "2026-03-01",
+ required=True,
+ ),
+ }
+ return parameters
+
+ @property
+ def header_parameters(self):
+ parameters = {
+ **self.serialize_header_param(
+ "Accept", "application/json",
+ ),
+ }
+ return parameters
+
+ def on_200(self, session):
+ data = self.deserialize_http_content(session)
+ self.ctx.set_var(
+ "instance",
+ data,
+ schema_builder=self._build_schema_on_200
+ )
+
+ _schema_on_200 = None
+
+ @classmethod
+ def _build_schema_on_200(cls):
+ if cls._schema_on_200 is not None:
+ return cls._schema_on_200
+
+ cls._schema_on_200 = AAZObjectType()
+ _UpdateHelper._build_schema_interconnect_block_read(cls._schema_on_200)
+
+ return cls._schema_on_200
+
+ class InterconnectBlocksCreateOrUpdate(AAZHttpOperation):
+ CLIENT_TYPE = "MgmtClient"
+
+ def __call__(self, *args, **kwargs):
+ request = self.make_request()
+ session = self.client.send_request(request=request, stream=False, **kwargs)
+ if session.http_response.status_code in [202]:
+ return self.client.build_lro_polling(
+ self.ctx.args.no_wait,
+ session,
+ self.on_200_201,
+ self.on_error,
+ lro_options={"final-state-via": "location"},
+ path_format_arguments=self.url_parameters,
+ )
+ if session.http_response.status_code in [200, 201]:
+ return self.client.build_lro_polling(
+ self.ctx.args.no_wait,
+ session,
+ self.on_200_201,
+ self.on_error,
+ lro_options={"final-state-via": "location"},
+ path_format_arguments=self.url_parameters,
+ )
+
+ return self.on_error(session.http_response)
+
+ @property
+ def url(self):
+ return self.client.format_url(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/interconnectBlocks/{interconnectBlockName}",
+ **self.url_parameters
+ )
+
+ @property
+ def method(self):
+ return "PUT"
+
+ @property
+ def error_format(self):
+ return "ODataV4Format"
+
+ @property
+ def url_parameters(self):
+ parameters = {
+ **self.serialize_url_param(
+ "interconnectBlockName", self.ctx.args.interconnect_block_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", "2026-03-01",
+ required=True,
+ ),
+ }
+ return parameters
+
+ @property
+ def header_parameters(self):
+ parameters = {
+ **self.serialize_header_param(
+ "Content-Type", "application/json",
+ ),
+ **self.serialize_header_param(
+ "Accept", "application/json",
+ ),
+ }
+ return parameters
+
+ @property
+ def content(self):
+ _content_value, _builder = self.new_content_builder(
+ self.ctx.args,
+ value=self.ctx.vars.instance,
+ )
+
+ return self.serialize_content(_content_value)
+
+ def on_200_201(self, session):
+ data = self.deserialize_http_content(session)
+ self.ctx.set_var(
+ "instance",
+ data,
+ schema_builder=self._build_schema_on_200_201
+ )
+
+ _schema_on_200_201 = None
+
+ @classmethod
+ def _build_schema_on_200_201(cls):
+ if cls._schema_on_200_201 is not None:
+ return cls._schema_on_200_201
+
+ cls._schema_on_200_201 = AAZObjectType()
+ _UpdateHelper._build_schema_interconnect_block_read(cls._schema_on_200_201)
+
+ return cls._schema_on_200_201
+
+ class InstanceUpdateByJson(AAZJsonInstanceUpdateOperation):
+
+ def __call__(self, *args, **kwargs):
+ self._update_instance(self.ctx.vars.instance)
+
+ def _update_instance(self, instance):
+ _instance_value, _builder = self.new_content_builder(
+ self.ctx.args,
+ value=instance,
+ typ=AAZObjectType
+ )
+ _builder.set_prop("placement", AAZObjectType)
+ _builder.set_prop("sku", AAZObjectType, ".", typ_kwargs={"flags": {"required": True}})
+ _builder.set_prop("tags", AAZDictType, ".tags")
+ _builder.set_prop("zones", AAZListType, ".zones")
+
+ placement = _builder.get(".placement")
+ if placement is not None:
+ placement.set_prop("excludeZones", AAZListType, ".placement_exclude_zones")
+ placement.set_prop("includeZones", AAZListType, ".placement_include_zones")
+ placement.set_prop("zonePlacementPolicy", AAZStrType, ".zone_placement_policy")
+
+ exclude_zones = _builder.get(".placement.excludeZones")
+ if exclude_zones is not None:
+ exclude_zones.set_elements(AAZStrType, ".")
+
+ include_zones = _builder.get(".placement.includeZones")
+ if include_zones is not None:
+ include_zones.set_elements(AAZStrType, ".")
+
+ sku = _builder.get(".sku")
+ if sku is not None:
+ sku.set_prop("capacity", AAZIntType, ".sku_capacity")
+ sku.set_prop("name", AAZStrType, ".sku_name")
+ sku.set_prop("tier", AAZStrType, ".sku_tier")
+
+ tags = _builder.get(".tags")
+ if tags is not None:
+ tags.set_elements(AAZStrType, ".")
+
+ zones = _builder.get(".zones")
+ if zones is not None:
+ zones.set_elements(AAZStrType, ".")
+
+ return _instance_value
+
+ class InstanceUpdateByGeneric(AAZGenericInstanceUpdateOperation):
+
+ def __call__(self, *args, **kwargs):
+ self._update_instance_by_generic(
+ self.ctx.vars.instance,
+ self.ctx.generic_update_args
+ )
+
+
+class _UpdateHelper:
+ """Helper class for Update"""
+
+ _schema_interconnect_block_read = None
+
+ @classmethod
+ def _build_schema_interconnect_block_read(cls, _schema):
+ if cls._schema_interconnect_block_read is not None:
+ _schema.id = cls._schema_interconnect_block_read.id
+ _schema.location = cls._schema_interconnect_block_read.location
+ _schema.name = cls._schema_interconnect_block_read.name
+ _schema.placement = cls._schema_interconnect_block_read.placement
+ _schema.properties = cls._schema_interconnect_block_read.properties
+ _schema.sku = cls._schema_interconnect_block_read.sku
+ _schema.system_data = cls._schema_interconnect_block_read.system_data
+ _schema.tags = cls._schema_interconnect_block_read.tags
+ _schema.type = cls._schema_interconnect_block_read.type
+ _schema.zones = cls._schema_interconnect_block_read.zones
+ return
+
+ cls._schema_interconnect_block_read = _schema_interconnect_block_read = AAZObjectType()
+
+ interconnect_block_read = _schema_interconnect_block_read
+ interconnect_block_read.id = AAZStrType(
+ flags={"read_only": True},
+ )
+ interconnect_block_read.location = AAZStrType(
+ flags={"required": True},
+ )
+ interconnect_block_read.name = AAZStrType(
+ flags={"read_only": True},
+ )
+ interconnect_block_read.placement = AAZObjectType()
+ interconnect_block_read.properties = AAZObjectType()
+ interconnect_block_read.sku = AAZObjectType(
+ flags={"required": True},
+ )
+ interconnect_block_read.system_data = AAZObjectType(
+ serialized_name="systemData",
+ flags={"read_only": True},
+ )
+ interconnect_block_read.tags = AAZDictType()
+ interconnect_block_read.type = AAZStrType(
+ flags={"read_only": True},
+ )
+ interconnect_block_read.zones = AAZListType()
+
+ placement = _schema_interconnect_block_read.placement
+ placement.exclude_zones = AAZListType(
+ serialized_name="excludeZones",
+ )
+ placement.include_zones = AAZListType(
+ serialized_name="includeZones",
+ )
+ placement.zone_placement_policy = AAZStrType(
+ serialized_name="zonePlacementPolicy",
+ )
+
+ exclude_zones = _schema_interconnect_block_read.placement.exclude_zones
+ exclude_zones.Element = AAZStrType()
+
+ include_zones = _schema_interconnect_block_read.placement.include_zones
+ include_zones.Element = AAZStrType()
+
+ properties = _schema_interconnect_block_read.properties
+ properties.instance_view = AAZObjectType(
+ serialized_name="instanceView",
+ flags={"read_only": True},
+ )
+ properties.interconnect_block_id = AAZStrType(
+ serialized_name="interconnectBlockId",
+ flags={"read_only": True},
+ )
+ properties.interconnect_group = AAZObjectType(
+ serialized_name="interconnectGroup",
+ flags={"required": True},
+ )
+ properties.provisioning_state = AAZStrType(
+ serialized_name="provisioningState",
+ flags={"read_only": True},
+ )
+ properties.provisioning_time = AAZStrType(
+ serialized_name="provisioningTime",
+ flags={"read_only": True},
+ )
+ properties.time_created = AAZStrType(
+ serialized_name="timeCreated",
+ flags={"read_only": True},
+ )
+ properties.virtual_machines_associated = AAZListType(
+ serialized_name="virtualMachinesAssociated",
+ flags={"read_only": True},
+ )
+
+ instance_view = _schema_interconnect_block_read.properties.instance_view
+ instance_view.current_capacity = AAZIntType(
+ serialized_name="currentCapacity",
+ flags={"read_only": True},
+ )
+ instance_view.statuses = AAZListType(
+ flags={"read_only": True},
+ )
+
+ statuses = _schema_interconnect_block_read.properties.instance_view.statuses
+ statuses.Element = AAZObjectType()
+
+ _element = _schema_interconnect_block_read.properties.instance_view.statuses.Element
+ _element.code = AAZStrType()
+ _element.display_status = AAZStrType(
+ serialized_name="displayStatus",
+ )
+ _element.level = AAZStrType()
+ _element.message = AAZStrType()
+ _element.time = AAZStrType()
+
+ interconnect_group = _schema_interconnect_block_read.properties.interconnect_group
+ interconnect_group.id = AAZStrType()
+
+ virtual_machines_associated = _schema_interconnect_block_read.properties.virtual_machines_associated
+ virtual_machines_associated.Element = AAZObjectType()
+
+ _element = _schema_interconnect_block_read.properties.virtual_machines_associated.Element
+ _element.id = AAZStrType(
+ flags={"read_only": True},
+ )
+
+ sku = _schema_interconnect_block_read.sku
+ sku.capacity = AAZIntType()
+ sku.name = AAZStrType()
+ sku.tier = AAZStrType()
+
+ system_data = _schema_interconnect_block_read.system_data
+ system_data.created_at = AAZStrType(
+ serialized_name="createdAt",
+ )
+ system_data.created_by = AAZStrType(
+ serialized_name="createdBy",
+ )
+ system_data.created_by_type = AAZStrType(
+ serialized_name="createdByType",
+ )
+ system_data.last_modified_at = AAZStrType(
+ serialized_name="lastModifiedAt",
+ )
+ system_data.last_modified_by = AAZStrType(
+ serialized_name="lastModifiedBy",
+ )
+ system_data.last_modified_by_type = AAZStrType(
+ serialized_name="lastModifiedByType",
+ )
+
+ tags = _schema_interconnect_block_read.tags
+ tags.Element = AAZStrType()
+
+ zones = _schema_interconnect_block_read.zones
+ zones.Element = AAZStrType()
+
+ _schema.id = cls._schema_interconnect_block_read.id
+ _schema.location = cls._schema_interconnect_block_read.location
+ _schema.name = cls._schema_interconnect_block_read.name
+ _schema.placement = cls._schema_interconnect_block_read.placement
+ _schema.properties = cls._schema_interconnect_block_read.properties
+ _schema.sku = cls._schema_interconnect_block_read.sku
+ _schema.system_data = cls._schema_interconnect_block_read.system_data
+ _schema.tags = cls._schema_interconnect_block_read.tags
+ _schema.type = cls._schema_interconnect_block_read.type
+ _schema.zones = cls._schema_interconnect_block_read.zones
+
+
+__all__ = ["Update"]
diff --git a/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_wait.py b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_wait.py
new file mode 100644
index 00000000000..cc8e3dfbbda
--- /dev/null
+++ b/src/interconnect/azext_interconnect/aaz/latest/interconnect_block/_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(
+ "interconnect-block 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.compute/interconnectblocks/{}", "2026-03-01"],
+ ]
+ }
+
+ def _handler(self, command_args):
+ super()._handler(command_args)
+ self._execute_operations()
+ return self._output()
+
+ _args_schema = None
+
+ @classmethod
+ def _build_arguments_schema(cls, *args, **kwargs):
+ if cls._args_schema is not None:
+ return cls._args_schema
+ cls._args_schema = super()._build_arguments_schema(*args, **kwargs)
+
+ # define Arg Group ""
+
+ _args_schema = cls._args_schema
+ _args_schema.interconnect_block_name = AAZStrArg(
+ options=["-n", "--name", "--interconnect-block-name"],
+ help="The name of the Interconnect Block.",
+ required=True,
+ id_part="name",
+ )
+ _args_schema.resource_group = AAZResourceGroupNameArg(
+ required=True,
+ )
+ _args_schema.expand = AAZStrArg(
+ options=["--expand"],
+ help="The expand expression to apply on the operation. 'instanceView' retrieves a snapshot of the runtime properties of the Interconnect Block that is managed by the platform and can change outside of control plane operations.",
+ enum={"instanceView": "instanceView"},
+ )
+ return cls._args_schema
+
+ def _execute_operations(self):
+ self.pre_operations()
+ self.InterconnectBlocksGet(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 InterconnectBlocksGet(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.Compute/interconnectBlocks/{interconnectBlockName}",
+ **self.url_parameters
+ )
+
+ @property
+ def method(self):
+ return "GET"
+
+ @property
+ def error_format(self):
+ return "ODataV4Format"
+
+ @property
+ def url_parameters(self):
+ parameters = {
+ **self.serialize_url_param(
+ "interconnectBlockName", self.ctx.args.interconnect_block_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(
+ "$expand", self.ctx.args.expand,
+ ),
+ **self.serialize_query_param(
+ "api-version", "2026-03-01",
+ required=True,
+ ),
+ }
+ return parameters
+
+ @property
+ def header_parameters(self):
+ parameters = {
+ **self.serialize_header_param(
+ "Accept", "application/json",
+ ),
+ }
+ return parameters
+
+ def on_200(self, session):
+ data = self.deserialize_http_content(session)
+ self.ctx.set_var(
+ "instance",
+ data,
+ schema_builder=self._build_schema_on_200
+ )
+
+ _schema_on_200 = None
+
+ @classmethod
+ def _build_schema_on_200(cls):
+ if cls._schema_on_200 is not None:
+ return cls._schema_on_200
+
+ cls._schema_on_200 = AAZObjectType()
+
+ _schema_on_200 = cls._schema_on_200
+ _schema_on_200.id = AAZStrType(
+ flags={"read_only": True},
+ )
+ _schema_on_200.location = AAZStrType(
+ flags={"required": True},
+ )
+ _schema_on_200.name = AAZStrType(
+ flags={"read_only": True},
+ )
+ _schema_on_200.placement = AAZObjectType()
+ _schema_on_200.properties = AAZObjectType()
+ _schema_on_200.sku = AAZObjectType(
+ flags={"required": 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},
+ )
+ _schema_on_200.zones = AAZListType()
+
+ placement = cls._schema_on_200.placement
+ placement.exclude_zones = AAZListType(
+ serialized_name="excludeZones",
+ )
+ placement.include_zones = AAZListType(
+ serialized_name="includeZones",
+ )
+ placement.zone_placement_policy = AAZStrType(
+ serialized_name="zonePlacementPolicy",
+ )
+
+ exclude_zones = cls._schema_on_200.placement.exclude_zones
+ exclude_zones.Element = AAZStrType()
+
+ include_zones = cls._schema_on_200.placement.include_zones
+ include_zones.Element = AAZStrType()
+
+ properties = cls._schema_on_200.properties
+ properties.instance_view = AAZObjectType(
+ serialized_name="instanceView",
+ flags={"read_only": True},
+ )
+ properties.interconnect_block_id = AAZStrType(
+ serialized_name="interconnectBlockId",
+ flags={"read_only": True},
+ )
+ properties.interconnect_group = AAZObjectType(
+ serialized_name="interconnectGroup",
+ flags={"required": True},
+ )
+ properties.provisioning_state = AAZStrType(
+ serialized_name="provisioningState",
+ flags={"read_only": True},
+ )
+ properties.provisioning_time = AAZStrType(
+ serialized_name="provisioningTime",
+ flags={"read_only": True},
+ )
+ properties.time_created = AAZStrType(
+ serialized_name="timeCreated",
+ flags={"read_only": True},
+ )
+ properties.virtual_machines_associated = AAZListType(
+ serialized_name="virtualMachinesAssociated",
+ flags={"read_only": True},
+ )
+
+ instance_view = cls._schema_on_200.properties.instance_view
+ instance_view.current_capacity = AAZIntType(
+ serialized_name="currentCapacity",
+ flags={"read_only": True},
+ )
+ instance_view.statuses = AAZListType(
+ flags={"read_only": True},
+ )
+
+ statuses = cls._schema_on_200.properties.instance_view.statuses
+ statuses.Element = AAZObjectType()
+
+ _element = cls._schema_on_200.properties.instance_view.statuses.Element
+ _element.code = AAZStrType()
+ _element.display_status = AAZStrType(
+ serialized_name="displayStatus",
+ )
+ _element.level = AAZStrType()
+ _element.message = AAZStrType()
+ _element.time = AAZStrType()
+
+ interconnect_group = cls._schema_on_200.properties.interconnect_group
+ interconnect_group.id = AAZStrType()
+
+ virtual_machines_associated = cls._schema_on_200.properties.virtual_machines_associated
+ virtual_machines_associated.Element = AAZObjectType()
+
+ _element = cls._schema_on_200.properties.virtual_machines_associated.Element
+ _element.id = AAZStrType(
+ flags={"read_only": True},
+ )
+
+ sku = cls._schema_on_200.sku
+ sku.capacity = AAZIntType()
+ sku.name = AAZStrType()
+ sku.tier = 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()
+
+ zones = cls._schema_on_200.zones
+ zones.Element = AAZStrType()
+
+ return cls._schema_on_200
+
+
+class _WaitHelper:
+ """Helper class for Wait"""
+
+
+__all__ = ["Wait"]
diff --git a/src/interconnect/azext_interconnect/tests/latest/recordings/test_interconnect_block.yaml b/src/interconnect/azext_interconnect/tests/latest/recordings/test_interconnect_block.yaml
new file mode 100644
index 00000000000..567148fed2e
--- /dev/null
+++ b/src/interconnect/azext_interconnect/tests/latest/recordings/test_interconnect_block.yaml
@@ -0,0 +1,914 @@
+interactions:
+- request:
+ body: '{"location": "eastus2euap", "properties": {"scope": "InfiniBand", "subgroupProfile":
+ {"vmSize": "Standard_ND128isr_GB300_v6", "scope": "VerticalConnect", "size":
+ 18}}}'
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - resource create
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '167'
+ Content-Type:
+ - application/json
+ ParameterSetName:
+ - -g -n --resource-type --api-version --location --properties
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: PUT
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig?api-version=2026-01-01
+ response:
+ body:
+ string: '{"name":"training-ig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig","etag":"W/\"0d7b4867-2b04-43ff-9d3a-e3c3b8037951\"","type":"Microsoft.Network/interconnectGroups","location":"eastus2euap","properties":{"provisioningState":"Succeeded","resourceGuid":"c315f126-50d3-4a2c-80f5-3137184243e0","scope":"InfiniBand","subgroupProfile":{"vmSize":"Standard_ND128isr_GB300_v6","scope":"VerticalConnect","size":18},"subgroups":[]}}'
+ headers:
+ cache-control:
+ - no-cache
+ content-length:
+ - '544'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:11 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-arm-service-request-id:
+ - 71054c4c-9cb4-40b8-aa21-cb3c154fb847
+ x-ms-operation-identifier:
+ - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=50aa02a5-cef7-4a1c-be56-d7b8a8c363ab/eastus2euap/f7ee85a4-e5e0-4bcb-8000-bdf97a790e92
+ x-ms-ratelimit-remaining-subscription-writes:
+ - '799'
+ x-ms-throttle-levels:
+ - operationRatePct=0.1, operationConcurrencyPct=0.3, subscriptionWriteRatePct=0.1,
+ etc
+ x-ms-throttling-version:
+ - v2
+ x-msedge-ref:
+ - 'Ref A: 8C44826825B94790BC0B9D6E1DB140FE Ref B: KUL201100111031 Ref C: 2026-08-03T07:52:11Z'
+ status:
+ code: 201
+ message: ''
+- request:
+ body: '{"location": "eastus2euap", "placement": {"zonePlacementPolicy": "Any"},
+ "properties": {"interconnectGroup": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig"}},
+ "sku": {"capacity": 18, "name": "Standard_ND128isr_GB300_v6"}, "tags": {"env":
+ "test"}}'
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block create
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '369'
+ Content-Type:
+ - application/json
+ ParameterSetName:
+ - -g -n --location --zone-placement-policy --sku-name --sku-capacity --interconnect-group-id
+ --tags
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: PUT
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002?api-version=2026-03-01
+ response:
+ body:
+ string: "{\r\n \"Result\": {\r\n \"name\": \"icb000002\",\r\n \"id\":
+ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002\",\r\n
+ \ \"type\": \"Microsoft.Compute/interconnectBlocks\",\r\n \"location\":
+ \"eastus2euap\",\r\n \"tags\": {\r\n \"env\": \"test\"\r\n },\r\n
+ \ \"sku\": {\r\n \"name\": \"Standard_ND128isr_GB300_v6\",\r\n \"capacity\":
+ 18\r\n },\r\n \"placement\": {\r\n \"zonePlacementPolicy\": \"Any\"\r\n
+ \ },\r\n \"properties\": {\r\n \"interconnectGroup\": {\r\n \"id\":
+ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig\"\r\n
+ \ },\r\n \"interconnectBlockId\": \"0311902e-15ae-4836-85c5-c13701d917f5\",\r\n
+ \ \"provisioningState\": \"Creating\"\r\n }\r\n },\r\n \"Id\": 87464607,\r\n
+ \ \"Status\": \"RanToCompletion\",\r\n \"IsCanceled\": false,\r\n \"IsCompleted\":
+ true,\r\n \"CreationOptions\": \"None\",\r\n \"IsFaulted\": false\r\n}"
+ headers:
+ azure-asyncnotification:
+ - Enabled
+ azure-asyncoperation:
+ - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/EastUS2EUAP/operations/5caf30d6-b9c6-4eda-8244-a84a86874355?p=f6830f8f-cf25-42e7-9aa3-89582227249f&api-version=2026-03-01&t=639213403340257180&c=MIIH9TCCBt2gAwIBAgIRAIv6bqY7SwhL3LG8FAICEKMwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UEAxMrQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgRVUyQyBDQSAwMTAeFw0yNjA3MjAxOTMxMjBaFw0yNzAxMTYwMTMxMjBaMEAxPjA8BgNVBAMTNWFzeW5jb3BlcmF0aW9uc2lnbmluZ2NlcnRpZmljYXRlLm1hbmFnZW1lbnQuYXp1cmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA60XvbHp6raPh7-g9YtwjAqWd8-7lJaqYevbtT_chcmJKVGCqalDpcpjm1c7dJ0qttCqzgccGmOaUWRed2_AMGGNlJShP44ilyJABuOT-EaoRkb3opVLWjv64yC_HkTxj2rVcdFdi0mzKyfN-4xe_IO6lAgKTxPPX2W5koMP89MUtB9_TIF0ZmAmHkUJ2buzabC1mfecmfqeNzrWGwtYHEeBWwdbVL2G8hvN1QfQR8Fn7voXnu_aco27ks_o_kTCamRZw9DWQxrZpUKOcr-oF3519-slXDvongk1J2qEhVwm4ubCSPVapkQk-IT3Ta9s8LWV2Xxc4kK3ltL6a3X8HsQIDAQABo4IE8jCCBO4wgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMAwGA1UdEwEB_wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB_wQEAwIFoDAdBgNVHQ4EFgQUQVGqcnvgw6L4YX39W1RhWMO33mMwHwYDVR0jBBgwFoAUz1EBqulDLGR2G0rwqsDykvhPw7swggHiBgNVHR8EggHZMIIB1TB1oHOgcYZvaHR0cDovL3ByaW1hcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHegdaBzhnFodHRwOi8vc2Vjb25kYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9lYXN0dXMyZXVhcC9jcmxzL2NjbWVlYXN0dXMyZXVhcHBraS9jY21lZWFzdHVzMmV1YXBpY2EwMS82My9jdXJyZW50LmNybDBmoGSgYoZgaHR0cDovL2NybC5taWNyb3NvZnQuY29tL2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHugeaB3hnVodHRwOi8vY2NtZWVhc3R1czJldWFwcGtpLmVhc3R1czJldWFwLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWVhc3R1czJldWFwaWNhMDEvNjMvY3VycmVudC5jcmwwggHnBggrBgEFBQcBAQSCAdkwggHVMHgGCCsGAQUFBzAChmxodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwegYIKwYBBQUHMAKGbmh0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NhY2VydHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxL2NlcnQuY2VyMGkGCCsGAQUFBzAChl1odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwcgYIKwYBBQUHMAKGZmh0dHA6Ly9jY21lZWFzdHVzMmV1YXBwa2kuZWFzdHVzMmV1YXAucGtpLmNvcmUud2luZG93cy5uZXQvY2VydGlmaWNhdGVBdXRob3JpdGllcy9jY21lZWFzdHVzMmV1YXBpY2EwMTANBgkqhkiG9w0BAQsFAAOCAQEALvKIKeG4LLHrBV6i-dD6mlha6SyIEw86psNUSqq7gX5SSbyC2LJl0hFPP6eZnQIrAgslagPJmiu8xxyQWfXEKPk7iNcOu63xs7xRhS-vgQ0kFSP5UxHToK0eCIC8X2PnmZ7uEC9lLcC8zR4xTCvuFX0aJc2tjjIiJnrnU8CZ8y8Tp6poCS2KvpJk1Rk2x5p-AouDt-0UkRsaEIlvVM95rgiZ4yKxGKzI02X8n3p__rHt7iaxLW9fSrXQnyDr5zIzVd9UvUEpXgp3vGpV6iDTwYvEwQbg3Lj4sYLyDjKV2rOvDeOPa6rGbGc3mvGUerYDmqPuw4XWatkr7IoISbVPeg&s=SjF40gUy5hHy4dzGKMPSpQKSzYQ7WTsncFEkqp8MBvoP5lhbOd-5MDNY2625rnogG_OefIXqYlsMxmd81IIVXw0sBFBe-rnW6signfF7WmQjYTEMuM2d-xaDvkuXMZ_q-G8_usNYWW9Uck46FwFSgvHfOe3ghuHtJm9inHV5Fd5jzwyROrEYljfy5RRidtWYy6C08ODzH3hOBUWTV0yKDYstEqzywU4hqC_FSq5eE3vVN0hbuMXqoZWVXRTE98Tk_0IFlTPxsKn0XLMmfmBB6ZxB6LIxmhcXUrhllL6AFqm_T8hGkFpLuMy8WOt-xuAXpmYRa8Vb6hwSc0O8sfqkgQ&h=5xEjj1IXX1OqL_HN9fSCjyeNb-bYJqvqw0DH4oHuCWE
+ cache-control:
+ - no-cache
+ content-length:
+ - '1012'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:14 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-operation-identifier:
+ - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=50aa02a5-cef7-4a1c-be56-d7b8a8c363ab/eastus2euap/e211f7eb-9e06-4ad4-a751-fe7d3a0b1d93
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/PutDeleteInterconnectBlockSubscriptionMaximum;119
+ x-ms-ratelimit-remaining-subscription-writes:
+ - '799'
+ x-ms-throttling-version:
+ - v2
+ x-msedge-ref:
+ - 'Ref A: 55D5783F0F154464BAFDA03174804C4D Ref B: KUL201100111054 Ref C: 2026-08-03T07:52:12Z'
+ status:
+ code: 201
+ message: ''
+- request:
+ body: null
+ headers:
+ Accept:
+ - '*/*'
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block create
+ Connection:
+ - keep-alive
+ ParameterSetName:
+ - -g -n --location --zone-placement-policy --sku-name --sku-capacity --interconnect-group-id
+ --tags
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/EastUS2EUAP/operations/5caf30d6-b9c6-4eda-8244-a84a86874355?p=f6830f8f-cf25-42e7-9aa3-89582227249f&api-version=2026-03-01&t=639213403340257180&c=MIIH9TCCBt2gAwIBAgIRAIv6bqY7SwhL3LG8FAICEKMwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UEAxMrQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgRVUyQyBDQSAwMTAeFw0yNjA3MjAxOTMxMjBaFw0yNzAxMTYwMTMxMjBaMEAxPjA8BgNVBAMTNWFzeW5jb3BlcmF0aW9uc2lnbmluZ2NlcnRpZmljYXRlLm1hbmFnZW1lbnQuYXp1cmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA60XvbHp6raPh7-g9YtwjAqWd8-7lJaqYevbtT_chcmJKVGCqalDpcpjm1c7dJ0qttCqzgccGmOaUWRed2_AMGGNlJShP44ilyJABuOT-EaoRkb3opVLWjv64yC_HkTxj2rVcdFdi0mzKyfN-4xe_IO6lAgKTxPPX2W5koMP89MUtB9_TIF0ZmAmHkUJ2buzabC1mfecmfqeNzrWGwtYHEeBWwdbVL2G8hvN1QfQR8Fn7voXnu_aco27ks_o_kTCamRZw9DWQxrZpUKOcr-oF3519-slXDvongk1J2qEhVwm4ubCSPVapkQk-IT3Ta9s8LWV2Xxc4kK3ltL6a3X8HsQIDAQABo4IE8jCCBO4wgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMAwGA1UdEwEB_wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB_wQEAwIFoDAdBgNVHQ4EFgQUQVGqcnvgw6L4YX39W1RhWMO33mMwHwYDVR0jBBgwFoAUz1EBqulDLGR2G0rwqsDykvhPw7swggHiBgNVHR8EggHZMIIB1TB1oHOgcYZvaHR0cDovL3ByaW1hcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHegdaBzhnFodHRwOi8vc2Vjb25kYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9lYXN0dXMyZXVhcC9jcmxzL2NjbWVlYXN0dXMyZXVhcHBraS9jY21lZWFzdHVzMmV1YXBpY2EwMS82My9jdXJyZW50LmNybDBmoGSgYoZgaHR0cDovL2NybC5taWNyb3NvZnQuY29tL2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHugeaB3hnVodHRwOi8vY2NtZWVhc3R1czJldWFwcGtpLmVhc3R1czJldWFwLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWVhc3R1czJldWFwaWNhMDEvNjMvY3VycmVudC5jcmwwggHnBggrBgEFBQcBAQSCAdkwggHVMHgGCCsGAQUFBzAChmxodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwegYIKwYBBQUHMAKGbmh0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NhY2VydHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxL2NlcnQuY2VyMGkGCCsGAQUFBzAChl1odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwcgYIKwYBBQUHMAKGZmh0dHA6Ly9jY21lZWFzdHVzMmV1YXBwa2kuZWFzdHVzMmV1YXAucGtpLmNvcmUud2luZG93cy5uZXQvY2VydGlmaWNhdGVBdXRob3JpdGllcy9jY21lZWFzdHVzMmV1YXBpY2EwMTANBgkqhkiG9w0BAQsFAAOCAQEALvKIKeG4LLHrBV6i-dD6mlha6SyIEw86psNUSqq7gX5SSbyC2LJl0hFPP6eZnQIrAgslagPJmiu8xxyQWfXEKPk7iNcOu63xs7xRhS-vgQ0kFSP5UxHToK0eCIC8X2PnmZ7uEC9lLcC8zR4xTCvuFX0aJc2tjjIiJnrnU8CZ8y8Tp6poCS2KvpJk1Rk2x5p-AouDt-0UkRsaEIlvVM95rgiZ4yKxGKzI02X8n3p__rHt7iaxLW9fSrXQnyDr5zIzVd9UvUEpXgp3vGpV6iDTwYvEwQbg3Lj4sYLyDjKV2rOvDeOPa6rGbGc3mvGUerYDmqPuw4XWatkr7IoISbVPeg&s=SjF40gUy5hHy4dzGKMPSpQKSzYQ7WTsncFEkqp8MBvoP5lhbOd-5MDNY2625rnogG_OefIXqYlsMxmd81IIVXw0sBFBe-rnW6signfF7WmQjYTEMuM2d-xaDvkuXMZ_q-G8_usNYWW9Uck46FwFSgvHfOe3ghuHtJm9inHV5Fd5jzwyROrEYljfy5RRidtWYy6C08ODzH3hOBUWTV0yKDYstEqzywU4hqC_FSq5eE3vVN0hbuMXqoZWVXRTE98Tk_0IFlTPxsKn0XLMmfmBB6ZxB6LIxmhcXUrhllL6AFqm_T8hGkFpLuMy8WOt-xuAXpmYRa8Vb6hwSc0O8sfqkgQ&h=5xEjj1IXX1OqL_HN9fSCjyeNb-bYJqvqw0DH4oHuCWE
+ response:
+ body:
+ string: "{\r\n \"startTime\": \"2026-08-03T07:52:13.4323139+00:00\",\r\n \"endTime\":
+ \"2026-08-03T07:52:14.7600982+00:00\",\r\n \"status\": \"Succeeded\",\r\n
+ \ \"name\": \"5caf30d6-b9c6-4eda-8244-a84a86874355\"\r\n}"
+ headers:
+ cache-control:
+ - no-cache
+ content-length:
+ - '184'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:15 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-operation-identifier:
+ - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=50aa02a5-cef7-4a1c-be56-d7b8a8c363ab/southeastasia/514132f2-9267-4c30-89cc-d31d007ae45c
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/GetOperationResource;44,Microsoft.Compute/GetOperationSubscriptionMaximum;14999
+ x-ms-ratelimit-remaining-subscription-global-reads:
+ - '16499'
+ x-msedge-ref:
+ - 'Ref A: 5662D4AFE9D14C42830620F800ECDDBE Ref B: KUL201100111023 Ref C: 2026-08-03T07:52:14Z'
+ status:
+ code: 200
+ message: ''
+- request:
+ body: null
+ headers:
+ Accept:
+ - '*/*'
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block create
+ Connection:
+ - keep-alive
+ ParameterSetName:
+ - -g -n --location --zone-placement-policy --sku-name --sku-capacity --interconnect-group-id
+ --tags
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002?api-version=2026-03-01
+ response:
+ body:
+ string: "{\r\n \"name\": \"icb000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002\",\r\n
+ \ \"type\": \"Microsoft.Compute/interconnectBlocks\",\r\n \"location\": \"eastus2euap\",\r\n
+ \ \"tags\": {\r\n \"env\": \"test\"\r\n },\r\n \"sku\": {\r\n \"name\":
+ \"Standard_ND128isr_GB300_v6\",\r\n \"capacity\": 18\r\n },\r\n \"zones\":
+ [\r\n \"2\"\r\n ],\r\n \"placement\": {\r\n \"zonePlacementPolicy\":
+ \"Any\"\r\n },\r\n \"properties\": {\r\n \"interconnectGroup\": {\r\n
+ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig\"\r\n
+ \ },\r\n \"interconnectBlockId\": \"0311902e-15ae-4836-85c5-c13701d917f5\",\r\n
+ \ \"provisioningTime\": \"2026-08-03T07:52:14.7087503+00:00\",\r\n \"provisioningState\":
+ \"Succeeded\"\r\n }\r\n}"
+ headers:
+ cache-control:
+ - no-cache
+ content-length:
+ - '890'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:15 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/GetInterconnectBlockSubscriptionMaximum;268
+ x-ms-throttling-version:
+ - v2
+ x-msedge-ref:
+ - 'Ref A: 63E325C4EFCA4581BB6C60B3AC27F338 Ref B: KUL201100111042 Ref C: 2026-08-03T07:52:15Z'
+ status:
+ code: 200
+ message: ''
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block show
+ Connection:
+ - keep-alive
+ ParameterSetName:
+ - -g -n
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002?api-version=2026-03-01
+ response:
+ body:
+ string: "{\r\n \"name\": \"icb000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002\",\r\n
+ \ \"type\": \"Microsoft.Compute/interconnectBlocks\",\r\n \"location\": \"eastus2euap\",\r\n
+ \ \"tags\": {\r\n \"env\": \"test\"\r\n },\r\n \"sku\": {\r\n \"name\":
+ \"Standard_ND128isr_GB300_v6\",\r\n \"capacity\": 18\r\n },\r\n \"zones\":
+ [\r\n \"2\"\r\n ],\r\n \"placement\": {\r\n \"zonePlacementPolicy\":
+ \"Any\"\r\n },\r\n \"properties\": {\r\n \"interconnectGroup\": {\r\n
+ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig\"\r\n
+ \ },\r\n \"interconnectBlockId\": \"0311902e-15ae-4836-85c5-c13701d917f5\",\r\n
+ \ \"provisioningTime\": \"2026-08-03T07:52:14.7087503+00:00\",\r\n \"provisioningState\":
+ \"Succeeded\"\r\n }\r\n}"
+ headers:
+ cache-control:
+ - no-cache
+ content-length:
+ - '890'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:17 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/GetInterconnectBlockSubscriptionMaximum;267
+ x-ms-throttling-version:
+ - v2
+ x-msedge-ref:
+ - 'Ref A: DD1042F074644169AE7C3C6A0B9574F2 Ref B: KUL201100111034 Ref C: 2026-08-03T07:52:17Z'
+ status:
+ code: 200
+ message: ''
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block show
+ Connection:
+ - keep-alive
+ ParameterSetName:
+ - -g -n --expand
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002?$expand=instanceView&api-version=2026-03-01
+ response:
+ body:
+ string: "{\r\n \"name\": \"icb000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002\",\r\n
+ \ \"type\": \"Microsoft.Compute/interconnectBlocks\",\r\n \"location\": \"eastus2euap\",\r\n
+ \ \"tags\": {\r\n \"env\": \"test\"\r\n },\r\n \"sku\": {\r\n \"name\":
+ \"Standard_ND128isr_GB300_v6\",\r\n \"capacity\": 18\r\n },\r\n \"zones\":
+ [\r\n \"2\"\r\n ],\r\n \"placement\": {\r\n \"zonePlacementPolicy\":
+ \"Any\"\r\n },\r\n \"properties\": {\r\n \"interconnectGroup\": {\r\n
+ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig\"\r\n
+ \ },\r\n \"interconnectBlockId\": \"0311902e-15ae-4836-85c5-c13701d917f5\",\r\n
+ \ \"provisioningTime\": \"2026-08-03T07:52:14.7087503+00:00\",\r\n \"provisioningState\":
+ \"Succeeded\",\r\n \"instanceView\": {\r\n \"currentCapacity\": 18,\r\n
+ \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n
+ \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning
+ succeeded\",\r\n \"time\": \"2026-08-03T07:52:14.7396977+00:00\"\r\n
+ \ }\r\n ]\r\n }\r\n }\r\n}"
+ headers:
+ cache-control:
+ - no-cache
+ content-length:
+ - '1190'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:17 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/GetInterconnectBlockSubscriptionMaximum;266
+ x-ms-throttling-version:
+ - v2
+ x-msedge-ref:
+ - 'Ref A: 5301445CF8764623A6AF92A3744D8B08 Ref B: KUL201100110042 Ref C: 2026-08-03T07:52:18Z'
+ status:
+ code: 200
+ message: ''
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block list
+ Connection:
+ - keep-alive
+ ParameterSetName:
+ - -g
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks?api-version=2026-03-01
+ response:
+ body:
+ string: '{"value":[{"name":"icb000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLI_TEST_INTERCONNECT_BLOCK_KJOBCSYFDDHJ2JM37GJTTU5EHOJPBGJ4BFEDADGFASSK5AS/providers/Microsoft.Compute/interconnectBlocks/icb000002","type":"Microsoft.Compute/interconnectBlocks","location":"eastus2euap","tags":{"env":"test"},"sku":{"name":"Standard_ND128isr_GB300_v6","capacity":18},"zones":["2"],"placement":{"zonePlacementPolicy":"Any"},"properties":{"interconnectGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig"},"interconnectBlockId":"0311902e-15ae-4836-85c5-c13701d917f5","provisioningTime":"2026-08-03T07:52:14.7087503+00:00","provisioningState":"Succeeded"}}]}'
+ headers:
+ cache-control:
+ - no-cache
+ content-length:
+ - '799'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:19 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-original-request-ids:
+ - af27cd1e-5158-4deb-8cb5-2e7b66afa966
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/GetInterconnectBlockSubscriptionMaximum;265
+ x-ms-throttling-version:
+ - v2
+ x-msedge-ref:
+ - 'Ref A: 2DADFE525F2144719B6E778B307B7457 Ref B: KUL201100111023 Ref C: 2026-08-03T07:52:19Z'
+ status:
+ code: 200
+ message: OK
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block list
+ Connection:
+ - keep-alive
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/interconnectBlocks?api-version=2026-03-01
+ response:
+ body:
+ string: '{"value":[{"name":"icb000002","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLI_TEST_INTERCONNECT_BLOCK_KJOBCSYFDDHJ2JM37GJTTU5EHOJPBGJ4BFEDADGFASSK5AS/providers/Microsoft.Compute/interconnectBlocks/icb000002","type":"Microsoft.Compute/interconnectBlocks","location":"eastus2euap","tags":{"env":"test"},"sku":{"name":"Standard_ND128isr_GB300_v6","capacity":18},"zones":["2"],"placement":{"zonePlacementPolicy":"Any"},"properties":{"interconnectGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig"},"interconnectBlockId":"0311902e-15ae-4836-85c5-c13701d917f5","provisioningTime":"2026-08-03T07:52:14.7087503+00:00","provisioningState":"Succeeded"}}]}'
+ headers:
+ cache-control:
+ - no-cache
+ content-length:
+ - '799'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:21 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-original-request-ids:
+ - 78b31500-39e7-40ef-91f6-9583fe249845
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/GetInterconnectBlockSubscriptionMaximum;264
+ x-ms-ratelimit-remaining-subscription-global-reads:
+ - '16499'
+ x-msedge-ref:
+ - 'Ref A: 243B346698AE4C7EA7DE61463EFD24BF Ref B: KUL201100111031 Ref C: 2026-08-03T07:52:20Z'
+ status:
+ code: 200
+ message: OK
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block update
+ Connection:
+ - keep-alive
+ ParameterSetName:
+ - -g -n --sku-capacity --tags
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002?api-version=2026-03-01
+ response:
+ body:
+ string: "{\r\n \"name\": \"icb000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002\",\r\n
+ \ \"type\": \"Microsoft.Compute/interconnectBlocks\",\r\n \"location\": \"eastus2euap\",\r\n
+ \ \"tags\": {\r\n \"env\": \"test\"\r\n },\r\n \"sku\": {\r\n \"name\":
+ \"Standard_ND128isr_GB300_v6\",\r\n \"capacity\": 18\r\n },\r\n \"zones\":
+ [\r\n \"2\"\r\n ],\r\n \"placement\": {\r\n \"zonePlacementPolicy\":
+ \"Any\"\r\n },\r\n \"properties\": {\r\n \"interconnectGroup\": {\r\n
+ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig\"\r\n
+ \ },\r\n \"interconnectBlockId\": \"0311902e-15ae-4836-85c5-c13701d917f5\",\r\n
+ \ \"provisioningTime\": \"2026-08-03T07:52:14.7087503+00:00\",\r\n \"provisioningState\":
+ \"Succeeded\"\r\n }\r\n}"
+ headers:
+ content-length:
+ - '890'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:22 GMT
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/GetInterconnectBlockSubscriptionMaximum;263
+ x-ms-throttling-version:
+ - v2
+ x-msedge-ref:
+ - 'Ref A: DFFCA5C4C25545F5882038C32F170B08 Ref B: KUL201100110029 Ref C: 2026-08-03T07:52:22Z'
+ status:
+ code: 200
+ message: OK
+- request:
+ body: '{"location": "eastus2euap", "placement": {"zonePlacementPolicy": "Any"},
+ "properties": {"interconnectGroup": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig"}},
+ "sku": {"capacity": 18, "name": "Standard_ND128isr_GB300_v6"}, "tags": {"env":
+ "prod"}, "zones": ["2"]}'
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block update
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '385'
+ Content-Type:
+ - application/json
+ ParameterSetName:
+ - -g -n --sku-capacity --tags
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: PUT
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002?api-version=2026-03-01
+ response:
+ body:
+ string: "{\r\n \"Result\": {\r\n \"name\": \"icb000002\",\r\n \"id\":
+ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002\",\r\n
+ \ \"type\": \"Microsoft.Compute/interconnectBlocks\",\r\n \"location\":
+ \"eastus2euap\",\r\n \"tags\": {\r\n \"env\": \"prod\"\r\n },\r\n
+ \ \"sku\": {\r\n \"name\": \"Standard_ND128isr_GB300_v6\",\r\n \"capacity\":
+ 18\r\n },\r\n \"zones\": [\r\n \"2\"\r\n ],\r\n \"placement\":
+ {\r\n \"zonePlacementPolicy\": \"Any\"\r\n },\r\n \"properties\":
+ {\r\n \"interconnectGroup\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig\"\r\n
+ \ },\r\n \"interconnectBlockId\": \"0311902e-15ae-4836-85c5-c13701d917f5\",\r\n
+ \ \"provisioningTime\": \"2026-08-03T07:52:14.7087503+00:00\",\r\n \"provisioningState\":
+ \"Succeeded\"\r\n }\r\n },\r\n \"Id\": 87467126,\r\n \"Status\": \"RanToCompletion\",\r\n
+ \ \"IsCanceled\": false,\r\n \"IsCompleted\": true,\r\n \"CreationOptions\":
+ \"None\",\r\n \"IsFaulted\": false\r\n}"
+ headers:
+ azure-asyncnotification:
+ - Enabled
+ azure-asyncoperation:
+ - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/EastUS2EUAP/operations/f6d82ebb-1a21-48f1-83c7-ce2a5b5280e6?p=f6830f8f-cf25-42e7-9aa3-89582227249f&api-version=2026-03-01&t=639213403444778421&c=MIIH9TCCBt2gAwIBAgIRAIv6bqY7SwhL3LG8FAICEKMwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UEAxMrQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgRVUyQyBDQSAwMTAeFw0yNjA3MjAxOTMxMjBaFw0yNzAxMTYwMTMxMjBaMEAxPjA8BgNVBAMTNWFzeW5jb3BlcmF0aW9uc2lnbmluZ2NlcnRpZmljYXRlLm1hbmFnZW1lbnQuYXp1cmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA60XvbHp6raPh7-g9YtwjAqWd8-7lJaqYevbtT_chcmJKVGCqalDpcpjm1c7dJ0qttCqzgccGmOaUWRed2_AMGGNlJShP44ilyJABuOT-EaoRkb3opVLWjv64yC_HkTxj2rVcdFdi0mzKyfN-4xe_IO6lAgKTxPPX2W5koMP89MUtB9_TIF0ZmAmHkUJ2buzabC1mfecmfqeNzrWGwtYHEeBWwdbVL2G8hvN1QfQR8Fn7voXnu_aco27ks_o_kTCamRZw9DWQxrZpUKOcr-oF3519-slXDvongk1J2qEhVwm4ubCSPVapkQk-IT3Ta9s8LWV2Xxc4kK3ltL6a3X8HsQIDAQABo4IE8jCCBO4wgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMAwGA1UdEwEB_wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB_wQEAwIFoDAdBgNVHQ4EFgQUQVGqcnvgw6L4YX39W1RhWMO33mMwHwYDVR0jBBgwFoAUz1EBqulDLGR2G0rwqsDykvhPw7swggHiBgNVHR8EggHZMIIB1TB1oHOgcYZvaHR0cDovL3ByaW1hcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHegdaBzhnFodHRwOi8vc2Vjb25kYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9lYXN0dXMyZXVhcC9jcmxzL2NjbWVlYXN0dXMyZXVhcHBraS9jY21lZWFzdHVzMmV1YXBpY2EwMS82My9jdXJyZW50LmNybDBmoGSgYoZgaHR0cDovL2NybC5taWNyb3NvZnQuY29tL2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHugeaB3hnVodHRwOi8vY2NtZWVhc3R1czJldWFwcGtpLmVhc3R1czJldWFwLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWVhc3R1czJldWFwaWNhMDEvNjMvY3VycmVudC5jcmwwggHnBggrBgEFBQcBAQSCAdkwggHVMHgGCCsGAQUFBzAChmxodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwegYIKwYBBQUHMAKGbmh0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NhY2VydHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxL2NlcnQuY2VyMGkGCCsGAQUFBzAChl1odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwcgYIKwYBBQUHMAKGZmh0dHA6Ly9jY21lZWFzdHVzMmV1YXBwa2kuZWFzdHVzMmV1YXAucGtpLmNvcmUud2luZG93cy5uZXQvY2VydGlmaWNhdGVBdXRob3JpdGllcy9jY21lZWFzdHVzMmV1YXBpY2EwMTANBgkqhkiG9w0BAQsFAAOCAQEALvKIKeG4LLHrBV6i-dD6mlha6SyIEw86psNUSqq7gX5SSbyC2LJl0hFPP6eZnQIrAgslagPJmiu8xxyQWfXEKPk7iNcOu63xs7xRhS-vgQ0kFSP5UxHToK0eCIC8X2PnmZ7uEC9lLcC8zR4xTCvuFX0aJc2tjjIiJnrnU8CZ8y8Tp6poCS2KvpJk1Rk2x5p-AouDt-0UkRsaEIlvVM95rgiZ4yKxGKzI02X8n3p__rHt7iaxLW9fSrXQnyDr5zIzVd9UvUEpXgp3vGpV6iDTwYvEwQbg3Lj4sYLyDjKV2rOvDeOPa6rGbGc3mvGUerYDmqPuw4XWatkr7IoISbVPeg&s=hR7Iw7NGf7HLo9kov4ai9RuDoaivNE3E-XCXnsR3KFsm5xdchKgjQbHzxS1fHz1PX8ffuQCuWZCANJO4rHeKQSpk4KID7qhvQhXotKex2dZjudAshRN1mWsYxu5HMwysTSynF_i7N9YPa8NonIxToceB6_VdEhAHxKdLUIy8qjjWwbo5HIfxRqkDCNP-4jtwLa6kNCQsFXkW7RsLebChlDW8IDnxhOLqOr35vT6_HqP9cv3orsWdjfnIVuDu6nYKFr60wF1S9GrOOf0k-ZypLU9e0QmV4m5joLU-P40tHD_Sc6VXeKVJjG-DIciWzpN2hN31YqjxWuc7D1P4v6KXMQ&h=AyeZPG1m89Dkhig69DfyJ4p5cD1r2YjdXmIVRmd1Fr4
+ content-length:
+ - '1112'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:24 GMT
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-operation-identifier:
+ - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=50aa02a5-cef7-4a1c-be56-d7b8a8c363ab/eastus2euap/1b65df4c-60ba-4846-a0f7-6b530dc0864f
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/PutDeleteInterconnectBlockSubscriptionMaximum;118
+ x-ms-ratelimit-remaining-subscription-writes:
+ - '799'
+ x-ms-throttling-version:
+ - v2
+ x-msedge-ref:
+ - 'Ref A: 5740CD50B7F445E688E2C0FA1B82859C Ref B: KUL201100111062 Ref C: 2026-08-03T07:52:23Z'
+ status:
+ code: 200
+ message: OK
+- request:
+ body: null
+ headers:
+ Accept:
+ - '*/*'
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block update
+ Connection:
+ - keep-alive
+ ParameterSetName:
+ - -g -n --sku-capacity --tags
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/EastUS2EUAP/operations/f6d82ebb-1a21-48f1-83c7-ce2a5b5280e6?p=f6830f8f-cf25-42e7-9aa3-89582227249f&api-version=2026-03-01&t=639213403444778421&c=MIIH9TCCBt2gAwIBAgIRAIv6bqY7SwhL3LG8FAICEKMwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UEAxMrQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgRVUyQyBDQSAwMTAeFw0yNjA3MjAxOTMxMjBaFw0yNzAxMTYwMTMxMjBaMEAxPjA8BgNVBAMTNWFzeW5jb3BlcmF0aW9uc2lnbmluZ2NlcnRpZmljYXRlLm1hbmFnZW1lbnQuYXp1cmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA60XvbHp6raPh7-g9YtwjAqWd8-7lJaqYevbtT_chcmJKVGCqalDpcpjm1c7dJ0qttCqzgccGmOaUWRed2_AMGGNlJShP44ilyJABuOT-EaoRkb3opVLWjv64yC_HkTxj2rVcdFdi0mzKyfN-4xe_IO6lAgKTxPPX2W5koMP89MUtB9_TIF0ZmAmHkUJ2buzabC1mfecmfqeNzrWGwtYHEeBWwdbVL2G8hvN1QfQR8Fn7voXnu_aco27ks_o_kTCamRZw9DWQxrZpUKOcr-oF3519-slXDvongk1J2qEhVwm4ubCSPVapkQk-IT3Ta9s8LWV2Xxc4kK3ltL6a3X8HsQIDAQABo4IE8jCCBO4wgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMAwGA1UdEwEB_wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB_wQEAwIFoDAdBgNVHQ4EFgQUQVGqcnvgw6L4YX39W1RhWMO33mMwHwYDVR0jBBgwFoAUz1EBqulDLGR2G0rwqsDykvhPw7swggHiBgNVHR8EggHZMIIB1TB1oHOgcYZvaHR0cDovL3ByaW1hcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHegdaBzhnFodHRwOi8vc2Vjb25kYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9lYXN0dXMyZXVhcC9jcmxzL2NjbWVlYXN0dXMyZXVhcHBraS9jY21lZWFzdHVzMmV1YXBpY2EwMS82My9jdXJyZW50LmNybDBmoGSgYoZgaHR0cDovL2NybC5taWNyb3NvZnQuY29tL2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHugeaB3hnVodHRwOi8vY2NtZWVhc3R1czJldWFwcGtpLmVhc3R1czJldWFwLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWVhc3R1czJldWFwaWNhMDEvNjMvY3VycmVudC5jcmwwggHnBggrBgEFBQcBAQSCAdkwggHVMHgGCCsGAQUFBzAChmxodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwegYIKwYBBQUHMAKGbmh0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NhY2VydHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxL2NlcnQuY2VyMGkGCCsGAQUFBzAChl1odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwcgYIKwYBBQUHMAKGZmh0dHA6Ly9jY21lZWFzdHVzMmV1YXBwa2kuZWFzdHVzMmV1YXAucGtpLmNvcmUud2luZG93cy5uZXQvY2VydGlmaWNhdGVBdXRob3JpdGllcy9jY21lZWFzdHVzMmV1YXBpY2EwMTANBgkqhkiG9w0BAQsFAAOCAQEALvKIKeG4LLHrBV6i-dD6mlha6SyIEw86psNUSqq7gX5SSbyC2LJl0hFPP6eZnQIrAgslagPJmiu8xxyQWfXEKPk7iNcOu63xs7xRhS-vgQ0kFSP5UxHToK0eCIC8X2PnmZ7uEC9lLcC8zR4xTCvuFX0aJc2tjjIiJnrnU8CZ8y8Tp6poCS2KvpJk1Rk2x5p-AouDt-0UkRsaEIlvVM95rgiZ4yKxGKzI02X8n3p__rHt7iaxLW9fSrXQnyDr5zIzVd9UvUEpXgp3vGpV6iDTwYvEwQbg3Lj4sYLyDjKV2rOvDeOPa6rGbGc3mvGUerYDmqPuw4XWatkr7IoISbVPeg&s=hR7Iw7NGf7HLo9kov4ai9RuDoaivNE3E-XCXnsR3KFsm5xdchKgjQbHzxS1fHz1PX8ffuQCuWZCANJO4rHeKQSpk4KID7qhvQhXotKex2dZjudAshRN1mWsYxu5HMwysTSynF_i7N9YPa8NonIxToceB6_VdEhAHxKdLUIy8qjjWwbo5HIfxRqkDCNP-4jtwLa6kNCQsFXkW7RsLebChlDW8IDnxhOLqOr35vT6_HqP9cv3orsWdjfnIVuDu6nYKFr60wF1S9GrOOf0k-ZypLU9e0QmV4m5joLU-P40tHD_Sc6VXeKVJjG-DIciWzpN2hN31YqjxWuc7D1P4v6KXMQ&h=AyeZPG1m89Dkhig69DfyJ4p5cD1r2YjdXmIVRmd1Fr4
+ response:
+ body:
+ string: "{\r\n \"startTime\": \"2026-08-03T07:52:24.3909876+00:00\",\r\n \"endTime\":
+ \"2026-08-03T07:52:24.4313174+00:00\",\r\n \"status\": \"Succeeded\",\r\n
+ \ \"name\": \"f6d82ebb-1a21-48f1-83c7-ce2a5b5280e6\"\r\n}"
+ headers:
+ cache-control:
+ - no-cache
+ content-length:
+ - '184'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:25 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-operation-identifier:
+ - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=50aa02a5-cef7-4a1c-be56-d7b8a8c363ab/southeastasia/a74d006c-e1f9-48ff-95d3-5e1a6ebde399
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/GetOperationResource;44,Microsoft.Compute/GetOperationSubscriptionMaximum;14998
+ x-ms-ratelimit-remaining-subscription-global-reads:
+ - '16499'
+ x-msedge-ref:
+ - 'Ref A: A01AE14B40D548908243E0DA269D040B Ref B: KUL201100111052 Ref C: 2026-08-03T07:52:25Z'
+ status:
+ code: 200
+ message: ''
+- request:
+ body: null
+ headers:
+ Accept:
+ - '*/*'
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block update
+ Connection:
+ - keep-alive
+ ParameterSetName:
+ - -g -n --sku-capacity --tags
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002?api-version=2026-03-01
+ response:
+ body:
+ string: "{\r\n \"name\": \"icb000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002\",\r\n
+ \ \"type\": \"Microsoft.Compute/interconnectBlocks\",\r\n \"location\": \"eastus2euap\",\r\n
+ \ \"tags\": {\r\n \"env\": \"prod\"\r\n },\r\n \"sku\": {\r\n \"name\":
+ \"Standard_ND128isr_GB300_v6\",\r\n \"capacity\": 18\r\n },\r\n \"zones\":
+ [\r\n \"2\"\r\n ],\r\n \"placement\": {\r\n \"zonePlacementPolicy\":
+ \"Any\"\r\n },\r\n \"properties\": {\r\n \"interconnectGroup\": {\r\n
+ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Network/interconnectGroups/training-ig\"\r\n
+ \ },\r\n \"interconnectBlockId\": \"0311902e-15ae-4836-85c5-c13701d917f5\",\r\n
+ \ \"provisioningTime\": \"2026-08-03T07:52:14.7087503+00:00\",\r\n \"provisioningState\":
+ \"Succeeded\"\r\n }\r\n}"
+ headers:
+ cache-control:
+ - no-cache
+ content-length:
+ - '890'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:26 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/GetInterconnectBlockSubscriptionMaximum;261
+ x-ms-throttling-version:
+ - v2
+ x-msedge-ref:
+ - 'Ref A: 09F412A73F124AC0BDD19957B8820D1C Ref B: KUL201100111023 Ref C: 2026-08-03T07:52:26Z'
+ status:
+ code: 200
+ message: ''
+- request:
+ body: null
+ headers:
+ Accept:
+ - '*/*'
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block delete
+ Connection:
+ - keep-alive
+ Content-Length:
+ - '0'
+ ParameterSetName:
+ - -g -n --yes
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: DELETE
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks/icb000002?api-version=2026-03-01
+ response:
+ body:
+ string: ''
+ headers:
+ azure-asyncnotification:
+ - Enabled
+ azure-asyncoperation:
+ - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/EastUS2EUAP/operations/6d1f27bc-ba2b-4616-aafe-8db1698fc331?p=f6830f8f-cf25-42e7-9aa3-89582227249f&api-version=2026-03-01&t=639213403487167970&c=MIIH9TCCBt2gAwIBAgIRAIv6bqY7SwhL3LG8FAICEKMwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UEAxMrQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgRVUyQyBDQSAwMTAeFw0yNjA3MjAxOTMxMjBaFw0yNzAxMTYwMTMxMjBaMEAxPjA8BgNVBAMTNWFzeW5jb3BlcmF0aW9uc2lnbmluZ2NlcnRpZmljYXRlLm1hbmFnZW1lbnQuYXp1cmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA60XvbHp6raPh7-g9YtwjAqWd8-7lJaqYevbtT_chcmJKVGCqalDpcpjm1c7dJ0qttCqzgccGmOaUWRed2_AMGGNlJShP44ilyJABuOT-EaoRkb3opVLWjv64yC_HkTxj2rVcdFdi0mzKyfN-4xe_IO6lAgKTxPPX2W5koMP89MUtB9_TIF0ZmAmHkUJ2buzabC1mfecmfqeNzrWGwtYHEeBWwdbVL2G8hvN1QfQR8Fn7voXnu_aco27ks_o_kTCamRZw9DWQxrZpUKOcr-oF3519-slXDvongk1J2qEhVwm4ubCSPVapkQk-IT3Ta9s8LWV2Xxc4kK3ltL6a3X8HsQIDAQABo4IE8jCCBO4wgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMAwGA1UdEwEB_wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB_wQEAwIFoDAdBgNVHQ4EFgQUQVGqcnvgw6L4YX39W1RhWMO33mMwHwYDVR0jBBgwFoAUz1EBqulDLGR2G0rwqsDykvhPw7swggHiBgNVHR8EggHZMIIB1TB1oHOgcYZvaHR0cDovL3ByaW1hcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHegdaBzhnFodHRwOi8vc2Vjb25kYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9lYXN0dXMyZXVhcC9jcmxzL2NjbWVlYXN0dXMyZXVhcHBraS9jY21lZWFzdHVzMmV1YXBpY2EwMS82My9jdXJyZW50LmNybDBmoGSgYoZgaHR0cDovL2NybC5taWNyb3NvZnQuY29tL2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHugeaB3hnVodHRwOi8vY2NtZWVhc3R1czJldWFwcGtpLmVhc3R1czJldWFwLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWVhc3R1czJldWFwaWNhMDEvNjMvY3VycmVudC5jcmwwggHnBggrBgEFBQcBAQSCAdkwggHVMHgGCCsGAQUFBzAChmxodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwegYIKwYBBQUHMAKGbmh0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NhY2VydHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxL2NlcnQuY2VyMGkGCCsGAQUFBzAChl1odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwcgYIKwYBBQUHMAKGZmh0dHA6Ly9jY21lZWFzdHVzMmV1YXBwa2kuZWFzdHVzMmV1YXAucGtpLmNvcmUud2luZG93cy5uZXQvY2VydGlmaWNhdGVBdXRob3JpdGllcy9jY21lZWFzdHVzMmV1YXBpY2EwMTANBgkqhkiG9w0BAQsFAAOCAQEALvKIKeG4LLHrBV6i-dD6mlha6SyIEw86psNUSqq7gX5SSbyC2LJl0hFPP6eZnQIrAgslagPJmiu8xxyQWfXEKPk7iNcOu63xs7xRhS-vgQ0kFSP5UxHToK0eCIC8X2PnmZ7uEC9lLcC8zR4xTCvuFX0aJc2tjjIiJnrnU8CZ8y8Tp6poCS2KvpJk1Rk2x5p-AouDt-0UkRsaEIlvVM95rgiZ4yKxGKzI02X8n3p__rHt7iaxLW9fSrXQnyDr5zIzVd9UvUEpXgp3vGpV6iDTwYvEwQbg3Lj4sYLyDjKV2rOvDeOPa6rGbGc3mvGUerYDmqPuw4XWatkr7IoISbVPeg&s=K801Lg1fel9vKKZ9BnCHUbeF0BECdPHkY_eJusVosyE5szqWRJsjn1sdaahobWGPrpY4KA5XfUusXXxsthXJBfhSWxfy3ejCHbtPxs7qL2eKRJ1-kb2yjxv3VTqiLsP2n_xcvIsEzFU-X0lPEOHAU7N_uiDjOvVicXW8tIQ1l4YzzWl0q_RcDzeLx8unzERU9j1sRsLtcAwAjIuf_700dW1DyxyMr3wOoRfRakEHtFgBjcK9lERI9CQqSGoCoZzGQeV4kZzay5AYDMyBH1S6Ons7duyl8xNxbq1gmzvXaXUskmK_fIE_PrS8TPUMWE5L8ZWKwydHFx9xkyOdwIRkkA&h=cSwjhH42BbDzERM_z-ZX3e46gkof3w9bi8cq8ltYjvY
+ content-length:
+ - '0'
+ date:
+ - Mon, 03 Aug 2026 07:52:27 GMT
+ location:
+ - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/EastUS2EUAP/operations/6d1f27bc-ba2b-4616-aafe-8db1698fc331?p=f6830f8f-cf25-42e7-9aa3-89582227249f&monitor=true&api-version=2026-03-01&t=639213403487167970&c=MIIH9TCCBt2gAwIBAgIRAIv6bqY7SwhL3LG8FAICEKMwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UEAxMrQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgRVUyQyBDQSAwMTAeFw0yNjA3MjAxOTMxMjBaFw0yNzAxMTYwMTMxMjBaMEAxPjA8BgNVBAMTNWFzeW5jb3BlcmF0aW9uc2lnbmluZ2NlcnRpZmljYXRlLm1hbmFnZW1lbnQuYXp1cmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA60XvbHp6raPh7-g9YtwjAqWd8-7lJaqYevbtT_chcmJKVGCqalDpcpjm1c7dJ0qttCqzgccGmOaUWRed2_AMGGNlJShP44ilyJABuOT-EaoRkb3opVLWjv64yC_HkTxj2rVcdFdi0mzKyfN-4xe_IO6lAgKTxPPX2W5koMP89MUtB9_TIF0ZmAmHkUJ2buzabC1mfecmfqeNzrWGwtYHEeBWwdbVL2G8hvN1QfQR8Fn7voXnu_aco27ks_o_kTCamRZw9DWQxrZpUKOcr-oF3519-slXDvongk1J2qEhVwm4ubCSPVapkQk-IT3Ta9s8LWV2Xxc4kK3ltL6a3X8HsQIDAQABo4IE8jCCBO4wgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMAwGA1UdEwEB_wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB_wQEAwIFoDAdBgNVHQ4EFgQUQVGqcnvgw6L4YX39W1RhWMO33mMwHwYDVR0jBBgwFoAUz1EBqulDLGR2G0rwqsDykvhPw7swggHiBgNVHR8EggHZMIIB1TB1oHOgcYZvaHR0cDovL3ByaW1hcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHegdaBzhnFodHRwOi8vc2Vjb25kYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9lYXN0dXMyZXVhcC9jcmxzL2NjbWVlYXN0dXMyZXVhcHBraS9jY21lZWFzdHVzMmV1YXBpY2EwMS82My9jdXJyZW50LmNybDBmoGSgYoZgaHR0cDovL2NybC5taWNyb3NvZnQuY29tL2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHugeaB3hnVodHRwOi8vY2NtZWVhc3R1czJldWFwcGtpLmVhc3R1czJldWFwLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWVhc3R1czJldWFwaWNhMDEvNjMvY3VycmVudC5jcmwwggHnBggrBgEFBQcBAQSCAdkwggHVMHgGCCsGAQUFBzAChmxodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwegYIKwYBBQUHMAKGbmh0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NhY2VydHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxL2NlcnQuY2VyMGkGCCsGAQUFBzAChl1odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwcgYIKwYBBQUHMAKGZmh0dHA6Ly9jY21lZWFzdHVzMmV1YXBwa2kuZWFzdHVzMmV1YXAucGtpLmNvcmUud2luZG93cy5uZXQvY2VydGlmaWNhdGVBdXRob3JpdGllcy9jY21lZWFzdHVzMmV1YXBpY2EwMTANBgkqhkiG9w0BAQsFAAOCAQEALvKIKeG4LLHrBV6i-dD6mlha6SyIEw86psNUSqq7gX5SSbyC2LJl0hFPP6eZnQIrAgslagPJmiu8xxyQWfXEKPk7iNcOu63xs7xRhS-vgQ0kFSP5UxHToK0eCIC8X2PnmZ7uEC9lLcC8zR4xTCvuFX0aJc2tjjIiJnrnU8CZ8y8Tp6poCS2KvpJk1Rk2x5p-AouDt-0UkRsaEIlvVM95rgiZ4yKxGKzI02X8n3p__rHt7iaxLW9fSrXQnyDr5zIzVd9UvUEpXgp3vGpV6iDTwYvEwQbg3Lj4sYLyDjKV2rOvDeOPa6rGbGc3mvGUerYDmqPuw4XWatkr7IoISbVPeg&s=ux7rL1S2oG1LZ99p7wAsXgAJulhn7v0UrkWHqkzTsYk2h-C-DZQMG9mSKAbEg9gPAM7qcbMpq7i5UalWLPIBbTRg1Mf6Pbg6ocOVmrX76-_p7s6J0vecxStF7r5YeFCQIDmFH6fCHF6e_fPOcr6ee2vfqHf1f_GAYOzGfmAO1ORDGdtv5pD4UPHxZ-4ZW2PwN94k6RFnZbU5Ae0W3rfvAc_YCrWNMntkTT-7VlPV86I3Rvxsgk8NQlw7ZVsuXj8_ttKUDuNZ6praOTyq99lJw6pJV81pi_hgCbz-PC8sFJdx5GG3gfP39YOZ396VYPtOXWremXmbw7q6gqh3T68Sgw&h=cSwjhH42BbDzERM_z-ZX3e46gkof3w9bi8cq8ltYjvY
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-operation-identifier:
+ - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=50aa02a5-cef7-4a1c-be56-d7b8a8c363ab/eastus2euap/99215f27-97b3-4719-b0f6-09229c4e51d0
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/PutDeleteInterconnectBlockSubscriptionMaximum;117
+ x-ms-ratelimit-remaining-subscription-deletes:
+ - '799'
+ x-ms-throttling-version:
+ - v2
+ x-msedge-ref:
+ - 'Ref A: 3A00AD7746B640559B7BB32B2998F16E Ref B: KUL201100110062 Ref C: 2026-08-03T07:52:27Z'
+ status:
+ code: 202
+ message: Accepted
+- request:
+ body: null
+ headers:
+ Accept:
+ - '*/*'
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block delete
+ Connection:
+ - keep-alive
+ ParameterSetName:
+ - -g -n --yes
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/EastUS2EUAP/operations/6d1f27bc-ba2b-4616-aafe-8db1698fc331?p=f6830f8f-cf25-42e7-9aa3-89582227249f&api-version=2026-03-01&t=639213403487167970&c=MIIH9TCCBt2gAwIBAgIRAIv6bqY7SwhL3LG8FAICEKMwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UEAxMrQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgRVUyQyBDQSAwMTAeFw0yNjA3MjAxOTMxMjBaFw0yNzAxMTYwMTMxMjBaMEAxPjA8BgNVBAMTNWFzeW5jb3BlcmF0aW9uc2lnbmluZ2NlcnRpZmljYXRlLm1hbmFnZW1lbnQuYXp1cmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA60XvbHp6raPh7-g9YtwjAqWd8-7lJaqYevbtT_chcmJKVGCqalDpcpjm1c7dJ0qttCqzgccGmOaUWRed2_AMGGNlJShP44ilyJABuOT-EaoRkb3opVLWjv64yC_HkTxj2rVcdFdi0mzKyfN-4xe_IO6lAgKTxPPX2W5koMP89MUtB9_TIF0ZmAmHkUJ2buzabC1mfecmfqeNzrWGwtYHEeBWwdbVL2G8hvN1QfQR8Fn7voXnu_aco27ks_o_kTCamRZw9DWQxrZpUKOcr-oF3519-slXDvongk1J2qEhVwm4ubCSPVapkQk-IT3Ta9s8LWV2Xxc4kK3ltL6a3X8HsQIDAQABo4IE8jCCBO4wgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMAwGA1UdEwEB_wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB_wQEAwIFoDAdBgNVHQ4EFgQUQVGqcnvgw6L4YX39W1RhWMO33mMwHwYDVR0jBBgwFoAUz1EBqulDLGR2G0rwqsDykvhPw7swggHiBgNVHR8EggHZMIIB1TB1oHOgcYZvaHR0cDovL3ByaW1hcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHegdaBzhnFodHRwOi8vc2Vjb25kYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9lYXN0dXMyZXVhcC9jcmxzL2NjbWVlYXN0dXMyZXVhcHBraS9jY21lZWFzdHVzMmV1YXBpY2EwMS82My9jdXJyZW50LmNybDBmoGSgYoZgaHR0cDovL2NybC5taWNyb3NvZnQuY29tL2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHugeaB3hnVodHRwOi8vY2NtZWVhc3R1czJldWFwcGtpLmVhc3R1czJldWFwLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWVhc3R1czJldWFwaWNhMDEvNjMvY3VycmVudC5jcmwwggHnBggrBgEFBQcBAQSCAdkwggHVMHgGCCsGAQUFBzAChmxodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwegYIKwYBBQUHMAKGbmh0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NhY2VydHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxL2NlcnQuY2VyMGkGCCsGAQUFBzAChl1odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwcgYIKwYBBQUHMAKGZmh0dHA6Ly9jY21lZWFzdHVzMmV1YXBwa2kuZWFzdHVzMmV1YXAucGtpLmNvcmUud2luZG93cy5uZXQvY2VydGlmaWNhdGVBdXRob3JpdGllcy9jY21lZWFzdHVzMmV1YXBpY2EwMTANBgkqhkiG9w0BAQsFAAOCAQEALvKIKeG4LLHrBV6i-dD6mlha6SyIEw86psNUSqq7gX5SSbyC2LJl0hFPP6eZnQIrAgslagPJmiu8xxyQWfXEKPk7iNcOu63xs7xRhS-vgQ0kFSP5UxHToK0eCIC8X2PnmZ7uEC9lLcC8zR4xTCvuFX0aJc2tjjIiJnrnU8CZ8y8Tp6poCS2KvpJk1Rk2x5p-AouDt-0UkRsaEIlvVM95rgiZ4yKxGKzI02X8n3p__rHt7iaxLW9fSrXQnyDr5zIzVd9UvUEpXgp3vGpV6iDTwYvEwQbg3Lj4sYLyDjKV2rOvDeOPa6rGbGc3mvGUerYDmqPuw4XWatkr7IoISbVPeg&s=K801Lg1fel9vKKZ9BnCHUbeF0BECdPHkY_eJusVosyE5szqWRJsjn1sdaahobWGPrpY4KA5XfUusXXxsthXJBfhSWxfy3ejCHbtPxs7qL2eKRJ1-kb2yjxv3VTqiLsP2n_xcvIsEzFU-X0lPEOHAU7N_uiDjOvVicXW8tIQ1l4YzzWl0q_RcDzeLx8unzERU9j1sRsLtcAwAjIuf_700dW1DyxyMr3wOoRfRakEHtFgBjcK9lERI9CQqSGoCoZzGQeV4kZzay5AYDMyBH1S6Ons7duyl8xNxbq1gmzvXaXUskmK_fIE_PrS8TPUMWE5L8ZWKwydHFx9xkyOdwIRkkA&h=cSwjhH42BbDzERM_z-ZX3e46gkof3w9bi8cq8ltYjvY
+ response:
+ body:
+ string: "{\r\n \"startTime\": \"2026-08-03T07:52:28.674539+00:00\",\r\n \"endTime\":
+ \"2026-08-03T07:52:28.8626653+00:00\",\r\n \"status\": \"Succeeded\",\r\n
+ \ \"name\": \"6d1f27bc-ba2b-4616-aafe-8db1698fc331\"\r\n}"
+ headers:
+ cache-control:
+ - no-cache
+ content-length:
+ - '183'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:29 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-operation-identifier:
+ - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=50aa02a5-cef7-4a1c-be56-d7b8a8c363ab/southeastasia/5bfcde3f-7917-44a4-a616-cf03493981e2
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/GetOperationResource;44,Microsoft.Compute/GetOperationSubscriptionMaximum;14997
+ x-ms-ratelimit-remaining-subscription-global-reads:
+ - '16499'
+ x-msedge-ref:
+ - 'Ref A: D20D2B51D4654399A21D06FD3EDEEA66 Ref B: KUL201100111031 Ref C: 2026-08-03T07:52:29Z'
+ status:
+ code: 200
+ message: ''
+- request:
+ body: null
+ headers:
+ Accept:
+ - '*/*'
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block delete
+ Connection:
+ - keep-alive
+ ParameterSetName:
+ - -g -n --yes
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/EastUS2EUAP/operations/6d1f27bc-ba2b-4616-aafe-8db1698fc331?p=f6830f8f-cf25-42e7-9aa3-89582227249f&monitor=true&api-version=2026-03-01&t=639213403487167970&c=MIIH9TCCBt2gAwIBAgIRAIv6bqY7SwhL3LG8FAICEKMwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UEAxMrQ0NNRSBHMSBUTFMgUlNBIDIwNDggU0hBMjU2IDIwNDkgRVUyQyBDQSAwMTAeFw0yNjA3MjAxOTMxMjBaFw0yNzAxMTYwMTMxMjBaMEAxPjA8BgNVBAMTNWFzeW5jb3BlcmF0aW9uc2lnbmluZ2NlcnRpZmljYXRlLm1hbmFnZW1lbnQuYXp1cmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA60XvbHp6raPh7-g9YtwjAqWd8-7lJaqYevbtT_chcmJKVGCqalDpcpjm1c7dJ0qttCqzgccGmOaUWRed2_AMGGNlJShP44ilyJABuOT-EaoRkb3opVLWjv64yC_HkTxj2rVcdFdi0mzKyfN-4xe_IO6lAgKTxPPX2W5koMP89MUtB9_TIF0ZmAmHkUJ2buzabC1mfecmfqeNzrWGwtYHEeBWwdbVL2G8hvN1QfQR8Fn7voXnu_aco27ks_o_kTCamRZw9DWQxrZpUKOcr-oF3519-slXDvongk1J2qEhVwm4ubCSPVapkQk-IT3Ta9s8LWV2Xxc4kK3ltL6a3X8HsQIDAQABo4IE8jCCBO4wgZ0GA1UdIASBlTCBkjAMBgorBgEEAYI3ewEBMGYGCisGAQQBgjd7AgIwWDBWBggrBgEFBQcCAjBKHkgAMwAzAGUAMAAxADkAMgAxAC0ANABkADYANAAtADQAZgA4AGMALQBhADAANQA1AC0ANQBiAGQAYQBmAGYAZAA1AGUAMwAzAGQwDAYKKwYBBAGCN3sDAjAMBgorBgEEAYI3ewQCMAwGA1UdEwEB_wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB_wQEAwIFoDAdBgNVHQ4EFgQUQVGqcnvgw6L4YX39W1RhWMO33mMwHwYDVR0jBBgwFoAUz1EBqulDLGR2G0rwqsDykvhPw7swggHiBgNVHR8EggHZMIIB1TB1oHOgcYZvaHR0cDovL3ByaW1hcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHegdaBzhnFodHRwOi8vc2Vjb25kYXJ5LWNkbi5wa2kuY29yZS53aW5kb3dzLm5ldC9lYXN0dXMyZXVhcC9jcmxzL2NjbWVlYXN0dXMyZXVhcHBraS9jY21lZWFzdHVzMmV1YXBpY2EwMS82My9jdXJyZW50LmNybDBmoGSgYoZgaHR0cDovL2NybC5taWNyb3NvZnQuY29tL2Vhc3R1czJldWFwL2NybHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxLzYzL2N1cnJlbnQuY3JsMHugeaB3hnVodHRwOi8vY2NtZWVhc3R1czJldWFwcGtpLmVhc3R1czJldWFwLnBraS5jb3JlLndpbmRvd3MubmV0L2NlcnRpZmljYXRlQXV0aG9yaXRpZXMvY2NtZWVhc3R1czJldWFwaWNhMDEvNjMvY3VycmVudC5jcmwwggHnBggrBgEFBQcBAQSCAdkwggHVMHgGCCsGAQUFBzAChmxodHRwOi8vcHJpbWFyeS1jZG4ucGtpLmNvcmUud2luZG93cy5uZXQvZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwegYIKwYBBQUHMAKGbmh0dHA6Ly9zZWNvbmRhcnktY2RuLnBraS5jb3JlLndpbmRvd3MubmV0L2Vhc3R1czJldWFwL2NhY2VydHMvY2NtZWVhc3R1czJldWFwcGtpL2NjbWVlYXN0dXMyZXVhcGljYTAxL2NlcnQuY2VyMGkGCCsGAQUFBzAChl1odHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vZWFzdHVzMmV1YXAvY2FjZXJ0cy9jY21lZWFzdHVzMmV1YXBwa2kvY2NtZWVhc3R1czJldWFwaWNhMDEvY2VydC5jZXIwcgYIKwYBBQUHMAKGZmh0dHA6Ly9jY21lZWFzdHVzMmV1YXBwa2kuZWFzdHVzMmV1YXAucGtpLmNvcmUud2luZG93cy5uZXQvY2VydGlmaWNhdGVBdXRob3JpdGllcy9jY21lZWFzdHVzMmV1YXBpY2EwMTANBgkqhkiG9w0BAQsFAAOCAQEALvKIKeG4LLHrBV6i-dD6mlha6SyIEw86psNUSqq7gX5SSbyC2LJl0hFPP6eZnQIrAgslagPJmiu8xxyQWfXEKPk7iNcOu63xs7xRhS-vgQ0kFSP5UxHToK0eCIC8X2PnmZ7uEC9lLcC8zR4xTCvuFX0aJc2tjjIiJnrnU8CZ8y8Tp6poCS2KvpJk1Rk2x5p-AouDt-0UkRsaEIlvVM95rgiZ4yKxGKzI02X8n3p__rHt7iaxLW9fSrXQnyDr5zIzVd9UvUEpXgp3vGpV6iDTwYvEwQbg3Lj4sYLyDjKV2rOvDeOPa6rGbGc3mvGUerYDmqPuw4XWatkr7IoISbVPeg&s=ux7rL1S2oG1LZ99p7wAsXgAJulhn7v0UrkWHqkzTsYk2h-C-DZQMG9mSKAbEg9gPAM7qcbMpq7i5UalWLPIBbTRg1Mf6Pbg6ocOVmrX76-_p7s6J0vecxStF7r5YeFCQIDmFH6fCHF6e_fPOcr6ee2vfqHf1f_GAYOzGfmAO1ORDGdtv5pD4UPHxZ-4ZW2PwN94k6RFnZbU5Ae0W3rfvAc_YCrWNMntkTT-7VlPV86I3Rvxsgk8NQlw7ZVsuXj8_ttKUDuNZ6praOTyq99lJw6pJV81pi_hgCbz-PC8sFJdx5GG3gfP39YOZ396VYPtOXWremXmbw7q6gqh3T68Sgw&h=cSwjhH42BbDzERM_z-ZX3e46gkof3w9bi8cq8ltYjvY
+ response:
+ body:
+ string: ''
+ headers:
+ cache-control:
+ - no-cache
+ content-length:
+ - '0'
+ date:
+ - Mon, 03 Aug 2026 07:52:30 GMT
+ expires:
+ - '-1'
+ pragma:
+ - no-cache
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-need-to-refresh-epl-cache:
+ - 'False'
+ x-ms-operation-identifier:
+ - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=50aa02a5-cef7-4a1c-be56-d7b8a8c363ab/southeastasia/a820ea2e-5856-4135-9931-350922fde571
+ x-ms-ratelimit-remaining-resource:
+ - Microsoft.Compute/GetOperationResource;43,Microsoft.Compute/GetOperationSubscriptionMaximum;14996
+ x-ms-ratelimit-remaining-subscription-global-reads:
+ - '16499'
+ x-msedge-ref:
+ - 'Ref A: E96728B66E6F4F06A9B79C90856A2A9A Ref B: KUL201100110040 Ref C: 2026-08-03T07:52:30Z'
+ status:
+ code: 200
+ message: ''
+- request:
+ body: null
+ headers:
+ Accept:
+ - application/json
+ Accept-Encoding:
+ - gzip, deflate
+ CommandName:
+ - interconnect-block list
+ Connection:
+ - keep-alive
+ ParameterSetName:
+ - -g
+ User-Agent:
+ - AZURECLI/2.88.0 azsdk-python-core/1.39.0 Python/3.12.10 (Windows-11-10.0.26200-SP0)
+ method: GET
+ uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_interconnect_block_000001/providers/Microsoft.Compute/interconnectBlocks?api-version=2026-03-01
+ response:
+ body:
+ string: '{"value":[]}'
+ headers:
+ content-length:
+ - '12'
+ content-type:
+ - application/json; charset=utf-8
+ date:
+ - Mon, 03 Aug 2026 07:52:32 GMT
+ strict-transport-security:
+ - max-age=31536000; includeSubDomains
+ x-cache:
+ - CONFIG_NOCACHE
+ x-content-type-options:
+ - nosniff
+ x-ms-throttling-version:
+ - v2
+ x-msedge-ref:
+ - 'Ref A: 8DEB235C3E344336AE9054FFDD7CAF7E Ref B: KUL201100111062 Ref C: 2026-08-03T07:52:32Z'
+ status:
+ code: 200
+ message: OK
+version: 1
diff --git a/src/interconnect/azext_interconnect/tests/latest/test_interconnect.py b/src/interconnect/azext_interconnect/tests/latest/test_interconnect.py
new file mode 100644
index 00000000000..c09959f1b38
--- /dev/null
+++ b/src/interconnect/azext_interconnect/tests/latest/test_interconnect.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.
+#
+# Code generated by aaz-dev-tools
+# --------------------------------------------------------------------------------------------
+
+from azure.cli.testsdk import *
+
+
+class InterconnectBlockScenario(ScenarioTest):
+ @ResourceGroupPreparer(name_prefix='cli_test_interconnect_block_', location='eastus2euap')
+ def test_interconnect_block(self, resource_group):
+ self.kwargs.update({
+ 'icb': self.create_random_name('icb', 15),
+ 'ig': 'training-ig',
+ 'sku': 'Standard_ND128isr_GB300_v6',
+ 'ig_props': '{"scope":"InfiniBand","subgroupProfile":'
+ '{"vmSize":"Standard_ND128isr_GB300_v6","scope":"VerticalConnect","size":18}}',
+ 'ig_id': '/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/'
+ 'interconnectGroups/training-ig'.format(self.get_subscription_id(), resource_group),
+ 'location': 'eastus2euap'
+ })
+
+ # create the prerequisite interconnect group (no dedicated command exists yet)
+ self.cmd("resource create -g {rg} -n {ig} "
+ "--resource-type Microsoft.Network/interconnectGroups "
+ "--api-version 2026-01-01 --location {location} --properties '{ig_props}'")
+
+ # create
+ self.cmd('interconnect-block create -g {rg} -n {icb} --location {location} '
+ '--zone-placement-policy Any '
+ '--sku-name {sku} --sku-capacity 18 --interconnect-group-id {ig_id} '
+ '--tags env=test', checks=[
+ self.check('name', '{icb}'),
+ self.check('location', '{location}'),
+ self.check('sku.name', '{sku}'),
+ self.check('sku.capacity', 18),
+ self.check('tags.env', 'test'),
+ self.check('placement.zonePlacementPolicy', 'Any'),
+ self.check('properties.provisioningState', 'Succeeded'),
+ self.check('properties.interconnectGroup.id', '{ig_id}'),
+ ])
+
+ # show
+ self.cmd('interconnect-block show -g {rg} -n {icb}', checks=[
+ self.check('name', '{icb}'),
+ self.check('sku.capacity', 18),
+ self.check('placement.zonePlacementPolicy', 'Any'),
+ self.check('properties.provisioningState', 'Succeeded'),
+ self.check('properties.interconnectGroup.id', '{ig_id}'),
+ ])
+
+ # show with instance view (runtime details managed by the platform)
+ self.cmd('interconnect-block show -g {rg} -n {icb} --expand instanceView', checks=[
+ self.check('name', '{icb}'),
+ self.check('sku.capacity', 18),
+ self.exists('properties.instanceView'),
+ ])
+
+ # list (resource group scope)
+ self.cmd('interconnect-block list -g {rg}', checks=[
+ self.check('length(@)', 1),
+ self.check('[0].name', '{icb}'),
+ ])
+
+ # list (subscription scope) - separate API path; ensure our block is present
+ self.cmd('interconnect-block list', checks=[
+ self.check("length([?name=='{icb}'])", 1),
+ ])
+
+ # update: only tags change
+ self.cmd('interconnect-block update -g {rg} -n {icb} --sku-capacity 18 --tags env=prod', checks=[
+ self.check('sku.capacity', 18),
+ self.check('tags.env', 'prod'),
+ ])
+
+ # delete
+ self.cmd('interconnect-block delete -g {rg} -n {icb} --yes')
+ self.cmd('interconnect-block list -g {rg}', checks=[
+ self.check('length(@)', 0),
+ ])
diff --git a/src/interconnect/setup.py b/src/interconnect/setup.py
index bbc143bfd0c..8ae5077c800 100644
--- a/src/interconnect/setup.py
+++ b/src/interconnect/setup.py
@@ -10,7 +10,7 @@
# HISTORY.rst entry.
-VERSION = '1.0.0b1'
+VERSION = '1.0.0b2'
# The full list of classifiers is available at
# https://pypi.python.org/pypi?%3Aaction=list_classifiers
diff --git a/src/service_name.json b/src/service_name.json
index fcf3a238fb3..45e0e056197 100644
--- a/src/service_name.json
+++ b/src/service_name.json
@@ -1078,5 +1078,10 @@
"Command": "az interconnect-group",
"AzureServiceName": "Interconnect",
"URL": ""
+ },
+ {
+ "Command": "az interconnect-block",
+ "AzureServiceName": "Interconnect",
+ "URL": ""
}
]