@@ -22,9 +22,9 @@ class Create(AAZCommand):
2222 """
2323
2424 _aaz_info = {
25- "version" : "2024 -07-01" ,
25+ "version" : "2025 -07-01" ,
2626 "resources" : [
27- ["mgmt-plane" , "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/natgateways/{}" , "2024 -07-01" ],
27+ ["mgmt-plane" , "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/natgateways/{}" , "2025 -07-01" ],
2828 ]
2929 }
3030
@@ -83,7 +83,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
8383 options = ["--source-vnet" ],
8484 help = "A reference to the source virtual network using this nat gateway resource." ,
8585 )
86- cls ._build_args_sub_resource_create (_args_schema .source_vnet )
86+ cls ._build_args_common_sub_resource_create (_args_schema .source_vnet )
8787 _args_schema .sku = AAZStrArg (
8888 options = ["--sku" ],
8989 help = "Name of Nat Gateway SKU." ,
@@ -110,7 +110,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
110110
111111 pip_addrs_v6 = cls ._args_schema .pip_addrs_v6
112112 pip_addrs_v6 .Element = AAZObjectArg ()
113- cls ._build_args_sub_resource_create (pip_addrs_v6 .Element )
113+ cls ._build_args_common_sub_resource_create (pip_addrs_v6 .Element )
114114
115115 pip_prefixes = cls ._args_schema .pip_prefixes
116116 pip_prefixes .Element = AAZObjectArg ()
@@ -123,7 +123,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
123123
124124 pip_prefs_v6 = cls ._args_schema .pip_prefs_v6
125125 pip_prefs_v6 .Element = AAZObjectArg ()
126- cls ._build_args_sub_resource_create (pip_prefs_v6 .Element )
126+ cls ._build_args_common_sub_resource_create (pip_prefs_v6 .Element )
127127
128128 tags = cls ._args_schema .tags
129129 tags .Element = AAZStrArg ()
@@ -132,25 +132,35 @@ def _build_arguments_schema(cls, *args, **kwargs):
132132 zone .Element = AAZStrArg ()
133133
134134 # define Arg Group "Parameters"
135+
136+ # define Arg Group "Properties"
137+
138+ _args_schema = cls ._args_schema
139+ _args_schema .nat64 = AAZStrArg (
140+ options = ["--nat64" ],
141+ arg_group = "Properties" ,
142+ help = "Whether Nat64 is enabled for the NAT gateway resource." ,
143+ enum = {"Disabled" : "Disabled" , "Enabled" : "Enabled" , "None" : "None" },
144+ )
135145 return cls ._args_schema
136146
137- _args_sub_resource_create = None
147+ _args_common_sub_resource_create = None
138148
139149 @classmethod
140- def _build_args_sub_resource_create (cls , _schema ):
141- if cls ._args_sub_resource_create is not None :
142- _schema .id = cls ._args_sub_resource_create .id
150+ def _build_args_common_sub_resource_create (cls , _schema ):
151+ if cls ._args_common_sub_resource_create is not None :
152+ _schema .id = cls ._args_common_sub_resource_create .id
143153 return
144154
145- cls ._args_sub_resource_create = AAZObjectArg ()
155+ cls ._args_common_sub_resource_create = AAZObjectArg ()
146156
147- sub_resource_create = cls ._args_sub_resource_create
148- sub_resource_create .id = AAZStrArg (
157+ common_sub_resource_create = cls ._args_common_sub_resource_create
158+ common_sub_resource_create .id = AAZStrArg (
149159 options = ["id" ],
150160 help = "Resource ID." ,
151161 )
152162
153- _schema .id = cls ._args_sub_resource_create .id
163+ _schema .id = cls ._args_common_sub_resource_create .id
154164
155165 def _execute_operations (self ):
156166 self .pre_operations ()
@@ -233,7 +243,7 @@ def url_parameters(self):
233243 def query_parameters (self ):
234244 parameters = {
235245 ** self .serialize_query_param (
236- "api-version" , "2024 -07-01" ,
246+ "api-version" , "2025 -07-01" ,
237247 required = True ,
238248 ),
239249 }
@@ -267,11 +277,12 @@ def content(self):
267277 properties = _builder .get (".properties" )
268278 if properties is not None :
269279 properties .set_prop ("idleTimeoutInMinutes" , AAZIntType , ".idle_timeout" )
280+ properties .set_prop ("nat64" , AAZStrType , ".nat64" )
270281 properties .set_prop ("publicIpAddresses" , AAZListType , ".pip_addresses" )
271282 properties .set_prop ("publicIpAddressesV6" , AAZListType , ".pip_addrs_v6" )
272283 properties .set_prop ("publicIpPrefixes" , AAZListType , ".pip_prefixes" )
273284 properties .set_prop ("publicIpPrefixesV6" , AAZListType , ".pip_prefs_v6" )
274- _CreateHelper ._build_schema_sub_resource_create (properties .set_prop ("sourceVirtualNetwork" , AAZObjectType , ".source_vnet" ))
285+ _CreateHelper ._build_schema_common_sub_resource_create (properties .set_prop ("sourceVirtualNetwork" , AAZObjectType , ".source_vnet" ))
275286
276287 public_ip_addresses = _builder .get (".properties.publicIpAddresses" )
277288 if public_ip_addresses is not None :
@@ -283,7 +294,7 @@ def content(self):
283294
284295 public_ip_addresses_v6 = _builder .get (".properties.publicIpAddressesV6" )
285296 if public_ip_addresses_v6 is not None :
286- _CreateHelper ._build_schema_sub_resource_create (public_ip_addresses_v6 .set_elements (AAZObjectType , "." ))
297+ _CreateHelper ._build_schema_common_sub_resource_create (public_ip_addresses_v6 .set_elements (AAZObjectType , "." ))
287298
288299 public_ip_prefixes = _builder .get (".properties.publicIpPrefixes" )
289300 if public_ip_prefixes is not None :
@@ -295,7 +306,7 @@ def content(self):
295306
296307 public_ip_prefixes_v6 = _builder .get (".properties.publicIpPrefixesV6" )
297308 if public_ip_prefixes_v6 is not None :
298- _CreateHelper ._build_schema_sub_resource_create (public_ip_prefixes_v6 .set_elements (AAZObjectType , "." ))
309+ _CreateHelper ._build_schema_common_sub_resource_create (public_ip_prefixes_v6 .set_elements (AAZObjectType , "." ))
299310
300311 sku = _builder .get (".sku" )
301312 if sku is not None :
@@ -351,6 +362,7 @@ def _build_schema_on_200_201(cls):
351362 properties .idle_timeout_in_minutes = AAZIntType (
352363 serialized_name = "idleTimeoutInMinutes" ,
353364 )
365+ properties .nat64 = AAZStrType ()
354366 properties .provisioning_state = AAZStrType (
355367 serialized_name = "provisioningState" ,
356368 flags = {"read_only" : True },
@@ -371,33 +383,37 @@ def _build_schema_on_200_201(cls):
371383 serialized_name = "resourceGuid" ,
372384 flags = {"read_only" : True },
373385 )
386+ properties .service_gateway = AAZObjectType (
387+ serialized_name = "serviceGateway" ,
388+ )
389+ _CreateHelper ._build_schema_common_sub_resource_read (properties .service_gateway )
374390 properties .source_virtual_network = AAZObjectType (
375391 serialized_name = "sourceVirtualNetwork" ,
376392 )
377- _CreateHelper ._build_schema_sub_resource_read (properties .source_virtual_network )
393+ _CreateHelper ._build_schema_common_sub_resource_read (properties .source_virtual_network )
378394 properties .subnets = AAZListType (
379395 flags = {"read_only" : True },
380396 )
381397
382398 public_ip_addresses = cls ._schema_on_200_201 .properties .public_ip_addresses
383399 public_ip_addresses .Element = AAZObjectType ()
384- _CreateHelper ._build_schema_sub_resource_read (public_ip_addresses .Element )
400+ _CreateHelper ._build_schema_common_sub_resource_read (public_ip_addresses .Element )
385401
386402 public_ip_addresses_v6 = cls ._schema_on_200_201 .properties .public_ip_addresses_v6
387403 public_ip_addresses_v6 .Element = AAZObjectType ()
388- _CreateHelper ._build_schema_sub_resource_read (public_ip_addresses_v6 .Element )
404+ _CreateHelper ._build_schema_common_sub_resource_read (public_ip_addresses_v6 .Element )
389405
390406 public_ip_prefixes = cls ._schema_on_200_201 .properties .public_ip_prefixes
391407 public_ip_prefixes .Element = AAZObjectType ()
392- _CreateHelper ._build_schema_sub_resource_read (public_ip_prefixes .Element )
408+ _CreateHelper ._build_schema_common_sub_resource_read (public_ip_prefixes .Element )
393409
394410 public_ip_prefixes_v6 = cls ._schema_on_200_201 .properties .public_ip_prefixes_v6
395411 public_ip_prefixes_v6 .Element = AAZObjectType ()
396- _CreateHelper ._build_schema_sub_resource_read (public_ip_prefixes_v6 .Element )
412+ _CreateHelper ._build_schema_common_sub_resource_read (public_ip_prefixes_v6 .Element )
397413
398414 subnets = cls ._schema_on_200_201 .properties .subnets
399415 subnets .Element = AAZObjectType ()
400- _CreateHelper ._build_schema_sub_resource_read (subnets .Element )
416+ _CreateHelper ._build_schema_common_sub_resource_read (subnets .Element )
401417
402418 sku = cls ._schema_on_200_201 .sku
403419 sku .name = AAZStrType ()
@@ -415,25 +431,25 @@ class _CreateHelper:
415431 """Helper class for Create"""
416432
417433 @classmethod
418- def _build_schema_sub_resource_create (cls , _builder ):
434+ def _build_schema_common_sub_resource_create (cls , _builder ):
419435 if _builder is None :
420436 return
421437 _builder .set_prop ("id" , AAZStrType , ".id" )
422438
423- _schema_sub_resource_read = None
439+ _schema_common_sub_resource_read = None
424440
425441 @classmethod
426- def _build_schema_sub_resource_read (cls , _schema ):
427- if cls ._schema_sub_resource_read is not None :
428- _schema .id = cls ._schema_sub_resource_read .id
442+ def _build_schema_common_sub_resource_read (cls , _schema ):
443+ if cls ._schema_common_sub_resource_read is not None :
444+ _schema .id = cls ._schema_common_sub_resource_read .id
429445 return
430446
431- cls ._schema_sub_resource_read = _schema_sub_resource_read = AAZObjectType ()
447+ cls ._schema_common_sub_resource_read = _schema_common_sub_resource_read = AAZObjectType ()
432448
433- sub_resource_read = _schema_sub_resource_read
434- sub_resource_read .id = AAZStrType ()
449+ common_sub_resource_read = _schema_common_sub_resource_read
450+ common_sub_resource_read .id = AAZStrType ()
435451
436- _schema .id = cls ._schema_sub_resource_read .id
452+ _schema .id = cls ._schema_common_sub_resource_read .id
437453
438454
439455__all__ = ["Create" ]
0 commit comments