@@ -31,9 +31,9 @@ class Create(AAZCommand):
3131 """
3232
3333 _aaz_info = {
34- "version" : "2024-07 -01" ,
34+ "version" : "2025-01 -01" ,
3535 "resources" : [
36- ["mgmt-plane" , "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" , "2024-07 -01" ],
36+ ["mgmt-plane" , "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworkgateways/{}" , "2025-01 -01" ],
3737 ]
3838 }
3939
@@ -228,6 +228,8 @@ def _build_arguments_schema(cls, *args, **kwargs):
228228
229229 # define Arg Group "BgpSettings"
230230
231+ # define Arg Group "CustomRoutes"
232+
231233 # define Arg Group "Identity"
232234
233235 _args_schema = cls ._args_schema
@@ -423,6 +425,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
423425 def _build_args_address_space_create (cls , _schema ):
424426 if cls ._args_address_space_create is not None :
425427 _schema .address_prefixes = cls ._args_address_space_create .address_prefixes
428+ _schema .ipam_pool_prefix_allocations = cls ._args_address_space_create .ipam_pool_prefix_allocations
426429 return
427430
428431 cls ._args_address_space_create = AAZObjectArg ()
@@ -432,11 +435,29 @@ def _build_args_address_space_create(cls, _schema):
432435 options = ["address-prefixes" ],
433436 help = "A list of address blocks reserved for this virtual network in CIDR notation." ,
434437 )
438+ address_space_create .ipam_pool_prefix_allocations = AAZListArg (
439+ options = ["ipam-pool-prefix-allocations" ],
440+ help = "A list of IPAM Pools allocating IP address prefixes." ,
441+ )
435442
436443 address_prefixes = cls ._args_address_space_create .address_prefixes
437444 address_prefixes .Element = AAZStrArg ()
438445
446+ ipam_pool_prefix_allocations = cls ._args_address_space_create .ipam_pool_prefix_allocations
447+ ipam_pool_prefix_allocations .Element = AAZObjectArg ()
448+
449+ _element = cls ._args_address_space_create .ipam_pool_prefix_allocations .Element
450+ _element .number_of_ip_addresses = AAZStrArg (
451+ options = ["number-of-ip-addresses" ],
452+ help = "Number of IP addresses to allocate." ,
453+ )
454+ _element .id = AAZResourceIdArg (
455+ options = ["id" ],
456+ help = "Resource id of the associated Azure IpamPool resource." ,
457+ )
458+
439459 _schema .address_prefixes = cls ._args_address_space_create .address_prefixes
460+ _schema .ipam_pool_prefix_allocations = cls ._args_address_space_create .ipam_pool_prefix_allocations
440461
441462 _args_sub_resource_create = None
442463
@@ -537,7 +558,7 @@ def url_parameters(self):
537558 def query_parameters (self ):
538559 parameters = {
539560 ** self .serialize_query_param (
540- "api-version" , "2024-07 -01" ,
561+ "api-version" , "2025-01 -01" ,
541562 required = True ,
542563 ),
543564 }
@@ -706,7 +727,7 @@ def content(self):
706727 vpn_client_configuration .set_prop ("aadIssuer" , AAZStrType , ".aad_issuer" )
707728 vpn_client_configuration .set_prop ("aadTenant" , AAZStrType , ".aad_tenant" )
708729 vpn_client_configuration .set_prop ("radiusServerAddress" , AAZStrType , ".radius_server" )
709- vpn_client_configuration .set_prop ("radiusServerSecret" , AAZStrType , ".radius_secret" )
730+ vpn_client_configuration .set_prop ("radiusServerSecret" , AAZStrType , ".radius_secret" , typ_kwargs = { "flags" : { "secret" : True }} )
710731 vpn_client_configuration .set_prop ("vpnAuthenticationTypes" , AAZListType , ".vpn_auth_type" )
711732 vpn_client_configuration .set_prop ("vpnClientAddressPool" , AAZObjectType )
712733 vpn_client_configuration .set_prop ("vpnClientProtocols" , AAZListType , ".client_protocol" )
@@ -1104,6 +1125,7 @@ def _build_schema_on_200_201(cls):
11041125 )
11051126 vpn_client_configuration .radius_server_secret = AAZStrType (
11061127 serialized_name = "radiusServerSecret" ,
1128+ flags = {"secret" : True },
11071129 )
11081130 vpn_client_configuration .radius_servers = AAZListType (
11091131 serialized_name = "radiusServers" ,
@@ -1144,6 +1166,7 @@ def _build_schema_on_200_201(cls):
11441166 )
11451167 _element .radius_server_secret = AAZStrType (
11461168 serialized_name = "radiusServerSecret" ,
1169+ flags = {"secret" : True },
11471170 )
11481171
11491172 vng_client_connection_configurations = cls ._schema_on_200_201 .properties .vpn_client_configuration .vng_client_connection_configurations
@@ -1278,11 +1301,25 @@ def _build_schema_address_space_create(cls, _builder):
12781301 if _builder is None :
12791302 return
12801303 _builder .set_prop ("addressPrefixes" , AAZListType , ".address_prefixes" )
1304+ _builder .set_prop ("ipamPoolPrefixAllocations" , AAZListType , ".ipam_pool_prefix_allocations" )
12811305
12821306 address_prefixes = _builder .get (".addressPrefixes" )
12831307 if address_prefixes is not None :
12841308 address_prefixes .set_elements (AAZStrType , "." )
12851309
1310+ ipam_pool_prefix_allocations = _builder .get (".ipamPoolPrefixAllocations" )
1311+ if ipam_pool_prefix_allocations is not None :
1312+ ipam_pool_prefix_allocations .set_elements (AAZObjectType , "." )
1313+
1314+ _elements = _builder .get (".ipamPoolPrefixAllocations[]" )
1315+ if _elements is not None :
1316+ _elements .set_prop ("numberOfIpAddresses" , AAZStrType , ".number_of_ip_addresses" )
1317+ _elements .set_prop ("pool" , AAZObjectType , typ_kwargs = {"flags" : {"client_flatten" : True }})
1318+
1319+ pool = _builder .get (".ipamPoolPrefixAllocations[].pool" )
1320+ if pool is not None :
1321+ pool .set_prop ("id" , AAZStrType , ".id" )
1322+
12861323 @classmethod
12871324 def _build_schema_sub_resource_create (cls , _builder ):
12881325 if _builder is None :
@@ -1295,6 +1332,7 @@ def _build_schema_sub_resource_create(cls, _builder):
12951332 def _build_schema_address_space_read (cls , _schema ):
12961333 if cls ._schema_address_space_read is not None :
12971334 _schema .address_prefixes = cls ._schema_address_space_read .address_prefixes
1335+ _schema .ipam_pool_prefix_allocations = cls ._schema_address_space_read .ipam_pool_prefix_allocations
12981336 return
12991337
13001338 cls ._schema_address_space_read = _schema_address_space_read = AAZObjectType ()
@@ -1303,11 +1341,36 @@ def _build_schema_address_space_read(cls, _schema):
13031341 address_space_read .address_prefixes = AAZListType (
13041342 serialized_name = "addressPrefixes" ,
13051343 )
1344+ address_space_read .ipam_pool_prefix_allocations = AAZListType (
1345+ serialized_name = "ipamPoolPrefixAllocations" ,
1346+ )
13061347
13071348 address_prefixes = _schema_address_space_read .address_prefixes
13081349 address_prefixes .Element = AAZStrType ()
13091350
1351+ ipam_pool_prefix_allocations = _schema_address_space_read .ipam_pool_prefix_allocations
1352+ ipam_pool_prefix_allocations .Element = AAZObjectType ()
1353+
1354+ _element = _schema_address_space_read .ipam_pool_prefix_allocations .Element
1355+ _element .allocated_address_prefixes = AAZListType (
1356+ serialized_name = "allocatedAddressPrefixes" ,
1357+ flags = {"read_only" : True },
1358+ )
1359+ _element .number_of_ip_addresses = AAZStrType (
1360+ serialized_name = "numberOfIpAddresses" ,
1361+ )
1362+ _element .pool = AAZObjectType (
1363+ flags = {"client_flatten" : True },
1364+ )
1365+
1366+ allocated_address_prefixes = _schema_address_space_read .ipam_pool_prefix_allocations .Element .allocated_address_prefixes
1367+ allocated_address_prefixes .Element = AAZStrType ()
1368+
1369+ pool = _schema_address_space_read .ipam_pool_prefix_allocations .Element .pool
1370+ pool .id = AAZStrType ()
1371+
13101372 _schema .address_prefixes = cls ._schema_address_space_read .address_prefixes
1373+ _schema .ipam_pool_prefix_allocations = cls ._schema_address_space_read .ipam_pool_prefix_allocations
13111374
13121375 _schema_sub_resource_read = None
13131376
0 commit comments