Skip to content
Open
Show file tree
Hide file tree
Changes from 2 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
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Create(AAZCommand):
"""

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

Expand Down Expand Up @@ -83,7 +83,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
options=["--source-vnet"],
help="A reference to the source virtual network using this nat gateway resource.",
)
cls._build_args_sub_resource_create(_args_schema.source_vnet)
cls._build_args_common_sub_resource_create(_args_schema.source_vnet)
_args_schema.sku = AAZStrArg(
options=["--sku"],
help="Name of Nat Gateway SKU.",
Expand All @@ -110,7 +110,7 @@ def _build_arguments_schema(cls, *args, **kwargs):

pip_addrs_v6 = cls._args_schema.pip_addrs_v6
pip_addrs_v6.Element = AAZObjectArg()
cls._build_args_sub_resource_create(pip_addrs_v6.Element)
cls._build_args_common_sub_resource_create(pip_addrs_v6.Element)

pip_prefixes = cls._args_schema.pip_prefixes
pip_prefixes.Element = AAZObjectArg()
Expand All @@ -123,7 +123,7 @@ def _build_arguments_schema(cls, *args, **kwargs):

pip_prefs_v6 = cls._args_schema.pip_prefs_v6
pip_prefs_v6.Element = AAZObjectArg()
cls._build_args_sub_resource_create(pip_prefs_v6.Element)
cls._build_args_common_sub_resource_create(pip_prefs_v6.Element)

tags = cls._args_schema.tags
tags.Element = AAZStrArg()
Expand All @@ -132,25 +132,41 @@ def _build_arguments_schema(cls, *args, **kwargs):
zone.Element = AAZStrArg()

# define Arg Group "Parameters"

# define Arg Group "Properties"

_args_schema = cls._args_schema
_args_schema.nat64 = AAZStrArg(
options=["--nat64"],
arg_group="Properties",
help="Whether Nat64 is enabled for the NAT gateway resource.",
enum={"Disabled": "Disabled", "Enabled": "Enabled", "None": "None"},
)
Comment thread
huiii99 marked this conversation as resolved.
_args_schema.service_gateway = AAZObjectArg(
options=["--service-gateway"],
arg_group="Properties",
help="Reference to an existing service gateway.",
)
cls._build_args_common_sub_resource_create(_args_schema.service_gateway)
Comment thread
huiii99 marked this conversation as resolved.
Outdated
return cls._args_schema

_args_sub_resource_create = None
_args_common_sub_resource_create = None

@classmethod
def _build_args_sub_resource_create(cls, _schema):
if cls._args_sub_resource_create is not None:
_schema.id = cls._args_sub_resource_create.id
def _build_args_common_sub_resource_create(cls, _schema):
if cls._args_common_sub_resource_create is not None:
_schema.id = cls._args_common_sub_resource_create.id
return

cls._args_sub_resource_create = AAZObjectArg()
cls._args_common_sub_resource_create = AAZObjectArg()

sub_resource_create = cls._args_sub_resource_create
sub_resource_create.id = AAZStrArg(
common_sub_resource_create = cls._args_common_sub_resource_create
common_sub_resource_create.id = AAZStrArg(
options=["id"],
help="Resource ID.",
)

_schema.id = cls._args_sub_resource_create.id
_schema.id = cls._args_common_sub_resource_create.id

def _execute_operations(self):
self.pre_operations()
Expand Down Expand Up @@ -233,7 +249,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-07-01",
"api-version", "2025-07-01",
required=True,
),
}
Expand Down Expand Up @@ -267,11 +283,13 @@ def content(self):
properties = _builder.get(".properties")
if properties is not None:
properties.set_prop("idleTimeoutInMinutes", AAZIntType, ".idle_timeout")
properties.set_prop("nat64", AAZStrType, ".nat64")
properties.set_prop("publicIpAddresses", AAZListType, ".pip_addresses")
properties.set_prop("publicIpAddressesV6", AAZListType, ".pip_addrs_v6")
properties.set_prop("publicIpPrefixes", AAZListType, ".pip_prefixes")
properties.set_prop("publicIpPrefixesV6", AAZListType, ".pip_prefs_v6")
_CreateHelper._build_schema_sub_resource_create(properties.set_prop("sourceVirtualNetwork", AAZObjectType, ".source_vnet"))
_CreateHelper._build_schema_common_sub_resource_create(properties.set_prop("serviceGateway", AAZObjectType, ".service_gateway"))
_CreateHelper._build_schema_common_sub_resource_create(properties.set_prop("sourceVirtualNetwork", AAZObjectType, ".source_vnet"))

public_ip_addresses = _builder.get(".properties.publicIpAddresses")
if public_ip_addresses is not None:
Expand All @@ -283,7 +301,7 @@ def content(self):

public_ip_addresses_v6 = _builder.get(".properties.publicIpAddressesV6")
if public_ip_addresses_v6 is not None:
_CreateHelper._build_schema_sub_resource_create(public_ip_addresses_v6.set_elements(AAZObjectType, "."))
_CreateHelper._build_schema_common_sub_resource_create(public_ip_addresses_v6.set_elements(AAZObjectType, "."))

public_ip_prefixes = _builder.get(".properties.publicIpPrefixes")
if public_ip_prefixes is not None:
Expand All @@ -295,7 +313,7 @@ def content(self):

public_ip_prefixes_v6 = _builder.get(".properties.publicIpPrefixesV6")
if public_ip_prefixes_v6 is not None:
_CreateHelper._build_schema_sub_resource_create(public_ip_prefixes_v6.set_elements(AAZObjectType, "."))
_CreateHelper._build_schema_common_sub_resource_create(public_ip_prefixes_v6.set_elements(AAZObjectType, "."))

sku = _builder.get(".sku")
if sku is not None:
Expand Down Expand Up @@ -351,6 +369,7 @@ def _build_schema_on_200_201(cls):
properties.idle_timeout_in_minutes = AAZIntType(
serialized_name="idleTimeoutInMinutes",
)
properties.nat64 = AAZStrType()
properties.provisioning_state = AAZStrType(
serialized_name="provisioningState",
flags={"read_only": True},
Expand All @@ -371,33 +390,37 @@ def _build_schema_on_200_201(cls):
serialized_name="resourceGuid",
flags={"read_only": True},
)
properties.service_gateway = AAZObjectType(
serialized_name="serviceGateway",
)
_CreateHelper._build_schema_common_sub_resource_read(properties.service_gateway)
properties.source_virtual_network = AAZObjectType(
serialized_name="sourceVirtualNetwork",
)
_CreateHelper._build_schema_sub_resource_read(properties.source_virtual_network)
_CreateHelper._build_schema_common_sub_resource_read(properties.source_virtual_network)
properties.subnets = AAZListType(
flags={"read_only": True},
)

public_ip_addresses = cls._schema_on_200_201.properties.public_ip_addresses
public_ip_addresses.Element = AAZObjectType()
_CreateHelper._build_schema_sub_resource_read(public_ip_addresses.Element)
_CreateHelper._build_schema_common_sub_resource_read(public_ip_addresses.Element)

public_ip_addresses_v6 = cls._schema_on_200_201.properties.public_ip_addresses_v6
public_ip_addresses_v6.Element = AAZObjectType()
_CreateHelper._build_schema_sub_resource_read(public_ip_addresses_v6.Element)
_CreateHelper._build_schema_common_sub_resource_read(public_ip_addresses_v6.Element)

public_ip_prefixes = cls._schema_on_200_201.properties.public_ip_prefixes
public_ip_prefixes.Element = AAZObjectType()
_CreateHelper._build_schema_sub_resource_read(public_ip_prefixes.Element)
_CreateHelper._build_schema_common_sub_resource_read(public_ip_prefixes.Element)

public_ip_prefixes_v6 = cls._schema_on_200_201.properties.public_ip_prefixes_v6
public_ip_prefixes_v6.Element = AAZObjectType()
_CreateHelper._build_schema_sub_resource_read(public_ip_prefixes_v6.Element)
_CreateHelper._build_schema_common_sub_resource_read(public_ip_prefixes_v6.Element)

subnets = cls._schema_on_200_201.properties.subnets
subnets.Element = AAZObjectType()
_CreateHelper._build_schema_sub_resource_read(subnets.Element)
_CreateHelper._build_schema_common_sub_resource_read(subnets.Element)

sku = cls._schema_on_200_201.sku
sku.name = AAZStrType()
Expand All @@ -415,25 +438,25 @@ class _CreateHelper:
"""Helper class for Create"""

@classmethod
def _build_schema_sub_resource_create(cls, _builder):
def _build_schema_common_sub_resource_create(cls, _builder):
if _builder is None:
return
_builder.set_prop("id", AAZStrType, ".id")

_schema_sub_resource_read = None
_schema_common_sub_resource_read = None

@classmethod
def _build_schema_sub_resource_read(cls, _schema):
if cls._schema_sub_resource_read is not None:
_schema.id = cls._schema_sub_resource_read.id
def _build_schema_common_sub_resource_read(cls, _schema):
if cls._schema_common_sub_resource_read is not None:
_schema.id = cls._schema_common_sub_resource_read.id
return

cls._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType()
cls._schema_common_sub_resource_read = _schema_common_sub_resource_read = AAZObjectType()

sub_resource_read = _schema_sub_resource_read
sub_resource_read.id = AAZStrType()
common_sub_resource_read = _schema_common_sub_resource_read
common_sub_resource_read.id = AAZStrType()

_schema.id = cls._schema_sub_resource_read.id
_schema.id = cls._schema_common_sub_resource_read.id


__all__ = ["Create"]
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class Delete(AAZCommand):
"""

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

Expand Down Expand Up @@ -142,7 +142,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-07-01",
"api-version", "2025-07-01",
required=True,
),
}
Expand Down
Loading
Loading