diff --git a/src/network-manager/HISTORY.rst b/src/network-manager/HISTORY.rst index ccc96a29694..f961f4920f0 100644 --- a/src/network-manager/HISTORY.rst +++ b/src/network-manager/HISTORY.rst @@ -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 + 2.0.1 +++++ * Fix the post commit commands for AVNM configuration (All config types) diff --git a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_create.py b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_create.py index bb4fba52d8b..01908dae15a 100644 --- a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_create.py +++ b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_create.py @@ -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"], ] } @@ -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"}, + ) return cls._args_schema def _execute_operations(self): @@ -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, ), } @@ -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) @@ -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( diff --git a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_delete.py b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_delete.py index 95796c8f3f9..2535abfe0d9 100644 --- a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_delete.py +++ b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_delete.py @@ -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"], ] } @@ -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, ), } diff --git a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_list.py b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_list.py index 4fa78a15aa0..49a11e2e6d7 100644 --- a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_list.py +++ b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_list.py @@ -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"], ] } @@ -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, ), } @@ -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( diff --git a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_show.py b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_show.py index aafdca1b228..15a00529bf2 100644 --- a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_show.py +++ b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_show.py @@ -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"], ] } @@ -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, ), } @@ -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( diff --git a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_update.py b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_update.py index d541722c2cf..0b958cb8d48 100644 --- a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_update.py +++ b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_update.py @@ -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"], ] } @@ -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): @@ -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, ), } @@ -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, ), } @@ -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 @@ -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( diff --git a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_wait.py b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_wait.py index 1ae6dbbe2d1..bbf1bd5e2ab 100644 --- a/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_wait.py +++ b/src/network-manager/azext_network_manager/aaz/latest/network/manager/group/_wait.py @@ -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"], ] } @@ -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, ), } @@ -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( diff --git a/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py b/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py index b2513e9bf19..d3df408609e 100644 --- a/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py +++ b/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py @@ -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" ' @@ -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}', @@ -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)) diff --git a/src/network-manager/setup.py b/src/network-manager/setup.py index 288299cc202..57e91f598b0 100644 --- a/src/network-manager/setup.py +++ b/src/network-manager/setup.py @@ -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