Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/network-manager/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,18 @@
Release History
===============

3.0.1
+++++
* Support Network group type Subnet for Routing configuration

3.0.0
+++++
* Add new parameter connect-capabilities to cmd `az network manager connect-config`

2.0.2
+++++
* Support Network group type Subnet for Routing configuration
Copy link
Preview

Copilot AI Sep 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changelog entry for version 2.0.2 appears to be incorrectly placed. Since the current version is being updated to 3.0.1, having a newer feature description under an older version number (2.0.2) creates confusion in the release history.

Suggested change
* Support Network group type Subnet for Routing configuration

Copilot uses AI. Check for mistakes.


2.0.1
+++++
* Fix the post commit commands for AVNM configuration (All config types)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Create(AAZCommand):
"""

_aaz_info = {
"version": "2022-01-01",
"version": "2024-07-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups/{}", "2022-01-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups/{}", "2024-07-01"],
]
}

Expand Down Expand Up @@ -70,6 +70,12 @@ def _build_arguments_schema(cls, *args, **kwargs):
arg_group="Properties",
help="A description of the network group.",
)
_args_schema.member_type = AAZStrArg(
options=["--member-type"],
arg_group="Properties",
help="The type of the group member.",
enum={"Subnet": "Subnet", "VirtualNetwork": "VirtualNetwork"},
Copy link
Preview

Copilot AI Sep 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The member_type argument should have a default value specified since this is a new optional parameter. Consider adding default="VirtualNetwork" to maintain backward compatibility with existing scripts that don't specify this parameter.

Suggested change
enum={"Subnet": "Subnet", "VirtualNetwork": "VirtualNetwork"},
enum={"Subnet": "Subnet", "VirtualNetwork": "VirtualNetwork"},
default="VirtualNetwork",

Copilot uses AI. Check for mistakes.

)
return cls._args_schema

def _execute_operations(self):
Expand Down Expand Up @@ -141,7 +147,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2022-01-01",
"api-version", "2024-07-01",
required=True,
),
}
Expand Down Expand Up @@ -174,6 +180,7 @@ def content(self):
properties = _builder.get(".properties")
if properties is not None:
properties.set_prop("description", AAZStrType, ".description")
properties.set_prop("memberType", AAZStrType, ".member_type")

return self.serialize_content(_content_value)

Expand Down Expand Up @@ -217,10 +224,17 @@ def _build_schema_on_200_201(cls):

properties = cls._schema_on_200_201.properties
properties.description = AAZStrType()
properties.member_type = AAZStrType(
serialized_name="memberType",
)
properties.provisioning_state = AAZStrType(
serialized_name="provisioningState",
flags={"read_only": True},
)
properties.resource_guid = AAZStrType(
serialized_name="resourceGuid",
flags={"read_only": True},
)

system_data = cls._schema_on_200_201.system_data
system_data.created_at = AAZStrType(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ class Delete(AAZCommand):
"""

_aaz_info = {
"version": "2022-01-01",
"version": "2024-07-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups/{}", "2022-01-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups/{}", "2024-07-01"],
]
}

Expand Down Expand Up @@ -160,7 +160,7 @@ def query_parameters(self):
"force", self.ctx.args.force,
),
**self.serialize_query_param(
"api-version", "2022-01-01",
"api-version", "2024-07-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class List(AAZCommand):
"""

_aaz_info = {
"version": "2022-01-01",
"version": "2024-07-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups", "2022-01-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups", "2024-07-01"],
]
}

Expand Down Expand Up @@ -139,7 +139,7 @@ def query_parameters(self):
"$top", self.ctx.args.top,
),
**self.serialize_query_param(
"api-version", "2022-01-01",
"api-version", "2024-07-01",
required=True,
),
}
Expand Down Expand Up @@ -203,10 +203,17 @@ def _build_schema_on_200(cls):

properties = cls._schema_on_200.value.Element.properties
properties.description = AAZStrType()
properties.member_type = AAZStrType(
serialized_name="memberType",
)
properties.provisioning_state = AAZStrType(
serialized_name="provisioningState",
flags={"read_only": True},
)
properties.resource_guid = AAZStrType(
serialized_name="resourceGuid",
flags={"read_only": True},
)

system_data = cls._schema_on_200.value.Element.system_data
system_data.created_at = AAZStrType(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Show(AAZCommand):
"""

_aaz_info = {
"version": "2022-01-01",
"version": "2024-07-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups/{}", "2022-01-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups/{}", "2024-07-01"],
]
}

Expand Down Expand Up @@ -130,7 +130,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2022-01-01",
"api-version", "2024-07-01",
required=True,
),
}
Expand Down Expand Up @@ -185,10 +185,17 @@ def _build_schema_on_200(cls):

properties = cls._schema_on_200.properties
properties.description = AAZStrType()
properties.member_type = AAZStrType(
serialized_name="memberType",
)
properties.provisioning_state = AAZStrType(
serialized_name="provisioningState",
flags={"read_only": True},
)
properties.resource_guid = AAZStrType(
serialized_name="resourceGuid",
flags={"read_only": True},
)

system_data = cls._schema_on_200.system_data
system_data.created_at = AAZStrType(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ class Update(AAZCommand):
"""

_aaz_info = {
"version": "2022-01-01",
"version": "2024-07-01",
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups/{}", "2022-01-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups/{}", "2024-07-01"],
]
}

Expand Down Expand Up @@ -72,6 +72,13 @@ def _build_arguments_schema(cls, *args, **kwargs):
help="A description of the network group.",
nullable=True,
)
_args_schema.member_type = AAZStrArg(
options=["--member-type"],
arg_group="Properties",
help="The type of the group member.",
nullable=True,
enum={"Subnet": "Subnet", "VirtualNetwork": "VirtualNetwork"},
)
return cls._args_schema

def _execute_operations(self):
Expand Down Expand Up @@ -156,7 +163,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2022-01-01",
"api-version", "2024-07-01",
required=True,
),
}
Expand Down Expand Up @@ -243,7 +250,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2022-01-01",
"api-version", "2024-07-01",
required=True,
),
}
Expand Down Expand Up @@ -309,6 +316,7 @@ def _update_instance(self, instance):
properties = _builder.get(".properties")
if properties is not None:
properties.set_prop("description", AAZStrType, ".description")
properties.set_prop("memberType", AAZStrType, ".member_type")

return _instance_value

Expand Down Expand Up @@ -362,10 +370,17 @@ def _build_schema_network_group_read(cls, _schema):

properties = _schema_network_group_read.properties
properties.description = AAZStrType()
properties.member_type = AAZStrType(
serialized_name="memberType",
)
properties.provisioning_state = AAZStrType(
serialized_name="provisioningState",
flags={"read_only": True},
)
properties.resource_guid = AAZStrType(
serialized_name="resourceGuid",
flags={"read_only": True},
)

system_data = _schema_network_group_read.system_data
system_data.created_at = AAZStrType(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand):

_aaz_info = {
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups/{}", "2022-01-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/networkmanagers/{}/networkgroups/{}", "2024-07-01"],
]
}

Expand Down Expand Up @@ -126,7 +126,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2022-01-01",
"api-version", "2024-07-01",
required=True,
),
}
Expand Down Expand Up @@ -181,10 +181,17 @@ def _build_schema_on_200(cls):

properties = cls._schema_on_200.properties
properties.description = AAZStrType()
properties.member_type = AAZStrType(
serialized_name="memberType",
)
properties.provisioning_state = AAZStrType(
serialized_name="provisioningState",
flags={"read_only": True},
)
properties.resource_guid = AAZStrType(
serialized_name="resourceGuid",
flags={"read_only": True},
)

system_data = cls._schema_on_200.system_data
system_data.created_at = AAZStrType(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -596,10 +596,12 @@ def test_network_manager_routing_config_crud(self, resource_group):
self.kwargs.update({
'manager_name': 'TestNetworkManager',
"group_name": 'TestNetworkManagerGroup',
"subnet_group_name": 'TestNetworkManagerSubnetGroup',
'sub': '/subscriptions/{}'.format(self.get_subscription_id()),
"routing_config": self.create_random_name("routing-config-", 20),
"rule_collection": self.create_random_name("rule-collection-", 20),
"rule_name": self.create_random_name("rule-", 10),
"subnet_type": 'Subnet'
})

self.cmd('network manager create --name {manager_name} --description "My Test Network Manager" '
Expand All @@ -611,8 +613,11 @@ def test_network_manager_routing_config_crud(self, resource_group):

manager_group = self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} -g {rg}').get_output_in_json()

manager_subnet_group = self.cmd('network manager group create --name {subnet_group_name} --network-manager-name {manager_name} -g {rg} --member-type {subnet_type}').get_output_in_json()

self.kwargs.update({
'manager_id': manager_group['id'],
'subnet_group_id': manager_subnet_group['id']
})

self.cmd('az network manager routing-config create --name {routing_config} --manager-name {manager_name} --resource-group {rg}',
Expand All @@ -624,7 +629,7 @@ def test_network_manager_routing_config_crud(self, resource_group):
self.cmd('az network manager routing-config update --name {routing_config} --manager-name {manager_name} --resource-group {rg} --description "test"',
self.check('description', 'test'))

self.cmd('az network manager routing-config rule-collection create --config-name {routing_config} --manager-name {manager_name} --name {rule_collection} --resource-group {rg} --applies-to [{{"network_group_id":{manager_id}}}] --disable-bgp-route true',
self.cmd('az network manager routing-config rule-collection create --config-name {routing_config} --manager-name {manager_name} --name {rule_collection} --resource-group {rg} --applies-to [{{"network_group_id":"{manager_id}"}},{{"network_group_id":"{subnet_group_id}"}}] --disable-bgp-route true',
self.check('name', '{rule_collection}'))
self.cmd('az network manager routing-config rule-collection list --config-name {routing_config} --manager-name {manager_name} --resource-group {rg}',
self.check('length(@)', 1))
Expand Down
4 changes: 2 additions & 2 deletions src/network-manager/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
from setuptools import setup, find_packages

# HISTORY.rst entry.
# Fixed post commit issue in routing
VERSION = '2.1.0'
# Support Network Group type in routing
VERSION = '3.0.1'

# The full list of classifiers is available at
# https://pypi.python.org/pypi?%3Aaction=list_classifiers
Expand Down
Loading