Skip to content

Commit 6b10c36

Browse files
committed
feat: Add Azure Application Gateway's Advanced Routing Models and Commands
1 parent c22dd8f commit 6b10c36

232 files changed

Lines changed: 264846 additions & 68129 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎linter_exclusions.yml‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2391,6 +2391,22 @@ netappfiles volume create:
23912391
remote_volume_resource_id:
23922392
rule_exclusions:
23932393
- option_length_too_long
2394+
network application-gateway advanced-routing-map create:
2395+
parameters:
2396+
default_redirect_config:
2397+
rule_exclusions:
2398+
- option_length_too_long
2399+
default_rewrite_rule_set:
2400+
rule_exclusions:
2401+
- option_length_too_long
2402+
network application-gateway advanced-routing-map update:
2403+
parameters:
2404+
default_redirect_config:
2405+
rule_exclusions:
2406+
- option_length_too_long
2407+
default_rewrite_rule_set:
2408+
rule_exclusions:
2409+
- option_length_too_long
23942410
network application-gateway create:
23952411
parameters:
23962412
connection_draining_timeout:

‎src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/application_gateway/_create.py‎

Lines changed: 549 additions & 8 deletions
Large diffs are not rendered by default.

‎src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/application_gateway/_delete.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ class Delete(AAZCommand):
2222
"""
2323

2424
_aaz_info = {
25-
"version": "2025-07-01",
25+
"version": "2026-01-01",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/applicationgateways/{}", "2025-07-01"],
27+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/applicationgateways/{}", "2026-01-01"],
2828
]
2929
}
3030

@@ -142,7 +142,7 @@ def url_parameters(self):
142142
def query_parameters(self):
143143
parameters = {
144144
**self.serialize_query_param(
145-
"api-version", "2025-07-01",
145+
"api-version", "2026-01-01",
146146
required=True,
147147
),
148148
}

‎src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/application_gateway/_list.py‎

Lines changed: 395 additions & 5 deletions
Large diffs are not rendered by default.

‎src/azure-cli/azure/cli/command_modules/network/aaz/latest/network/application_gateway/_show.py‎

Lines changed: 219 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ class Show(AAZCommand):
2222
"""
2323

2424
_aaz_info = {
25-
"version": "2025-07-01",
25+
"version": "2026-01-01",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/applicationgateways/{}", "2025-07-01"],
27+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/applicationgateways/{}", "2026-01-01"],
2828
]
2929
}
3030

@@ -120,7 +120,7 @@ def url_parameters(self):
120120
def query_parameters(self):
121121
parameters = {
122122
**self.serialize_query_param(
123-
"api-version", "2025-07-01",
123+
"api-version", "2026-01-01",
124124
required=True,
125125
),
126126
}
@@ -173,6 +173,12 @@ def _build_schema_on_200(cls):
173173
_schema_on_200.zones = AAZListType()
174174

175175
properties = cls._schema_on_200.properties
176+
properties.advanced_routing_condition_sets = AAZListType(
177+
serialized_name="advancedRoutingConditionSets",
178+
)
179+
properties.advanced_routing_maps = AAZListType(
180+
serialized_name="advancedRoutingMaps",
181+
)
176182
properties.authentication_certificates = AAZListType(
177183
serialized_name="authenticationCertificates",
178184
)
@@ -252,6 +258,9 @@ def _build_schema_on_200(cls):
252258
properties.request_routing_rules = AAZListType(
253259
serialized_name="requestRoutingRules",
254260
)
261+
properties.reserved_capacity = AAZIntType(
262+
serialized_name="reservedCapacity",
263+
)
255264
properties.resource_guid = AAZStrType(
256265
serialized_name="resourceGuid",
257266
flags={"read_only": True},
@@ -286,6 +295,157 @@ def _build_schema_on_200(cls):
286295
serialized_name="webApplicationFirewallConfiguration",
287296
)
288297

298+
advanced_routing_condition_sets = cls._schema_on_200.properties.advanced_routing_condition_sets
299+
advanced_routing_condition_sets.Element = AAZObjectType()
300+
301+
_element = cls._schema_on_200.properties.advanced_routing_condition_sets.Element
302+
_element.etag = AAZStrType(
303+
flags={"read_only": True},
304+
)
305+
_element.id = AAZStrType()
306+
_element.name = AAZStrType()
307+
_element.properties = AAZObjectType()
308+
_element.type = AAZStrType(
309+
flags={"read_only": True},
310+
)
311+
312+
properties = cls._schema_on_200.properties.advanced_routing_condition_sets.Element.properties
313+
properties.provisioning_state = AAZStrType(
314+
serialized_name="provisioningState",
315+
flags={"read_only": True},
316+
)
317+
properties.routing_conditions = AAZListType(
318+
serialized_name="routingConditions",
319+
flags={"required": True},
320+
)
321+
322+
routing_conditions = cls._schema_on_200.properties.advanced_routing_condition_sets.Element.properties.routing_conditions
323+
routing_conditions.Element = AAZObjectType()
324+
325+
_element = cls._schema_on_200.properties.advanced_routing_condition_sets.Element.properties.routing_conditions.Element
326+
_element.condition_type = AAZStrType(
327+
serialized_name="conditionType",
328+
flags={"required": True},
329+
)
330+
_element.property_name = AAZStrType(
331+
serialized_name="propertyName",
332+
)
333+
_element.property_value_matcher = AAZObjectType(
334+
serialized_name="propertyValueMatcher",
335+
)
336+
_element.property_values = AAZListType(
337+
serialized_name="propertyValues",
338+
)
339+
340+
property_value_matcher = cls._schema_on_200.properties.advanced_routing_condition_sets.Element.properties.routing_conditions.Element.property_value_matcher
341+
property_value_matcher.ignore_case = AAZBoolType(
342+
serialized_name="ignoreCase",
343+
)
344+
property_value_matcher.negate = AAZBoolType()
345+
property_value_matcher.pattern = AAZStrType(
346+
flags={"required": True},
347+
)
348+
349+
property_values = cls._schema_on_200.properties.advanced_routing_condition_sets.Element.properties.routing_conditions.Element.property_values
350+
property_values.Element = AAZStrType()
351+
352+
advanced_routing_maps = cls._schema_on_200.properties.advanced_routing_maps
353+
advanced_routing_maps.Element = AAZObjectType()
354+
355+
_element = cls._schema_on_200.properties.advanced_routing_maps.Element
356+
_element.etag = AAZStrType(
357+
flags={"read_only": True},
358+
)
359+
_element.id = AAZStrType()
360+
_element.name = AAZStrType()
361+
_element.properties = AAZObjectType()
362+
_element.type = AAZStrType(
363+
flags={"read_only": True},
364+
)
365+
366+
properties = cls._schema_on_200.properties.advanced_routing_maps.Element.properties
367+
properties.advanced_routing_rules = AAZListType(
368+
serialized_name="advancedRoutingRules",
369+
flags={"required": True},
370+
)
371+
properties.default_auth_configs = AAZListType(
372+
serialized_name="defaultAuthConfigs",
373+
)
374+
properties.default_backend_address_pool = AAZObjectType(
375+
serialized_name="defaultBackendAddressPool",
376+
)
377+
_ShowHelper._build_schema_common_sub_resource_read(properties.default_backend_address_pool)
378+
properties.default_backend_http_settings = AAZObjectType(
379+
serialized_name="defaultBackendHttpSettings",
380+
)
381+
_ShowHelper._build_schema_common_sub_resource_read(properties.default_backend_http_settings)
382+
properties.default_redirect_configuration = AAZObjectType(
383+
serialized_name="defaultRedirectConfiguration",
384+
)
385+
_ShowHelper._build_schema_common_sub_resource_read(properties.default_redirect_configuration)
386+
properties.default_rewrite_rule_set = AAZObjectType(
387+
serialized_name="defaultRewriteRuleSet",
388+
)
389+
_ShowHelper._build_schema_common_sub_resource_read(properties.default_rewrite_rule_set)
390+
properties.provisioning_state = AAZStrType(
391+
serialized_name="provisioningState",
392+
flags={"read_only": True},
393+
)
394+
395+
advanced_routing_rules = cls._schema_on_200.properties.advanced_routing_maps.Element.properties.advanced_routing_rules
396+
advanced_routing_rules.Element = AAZObjectType()
397+
398+
_element = cls._schema_on_200.properties.advanced_routing_maps.Element.properties.advanced_routing_rules.Element
399+
_element.etag = AAZStrType(
400+
flags={"read_only": True},
401+
)
402+
_element.id = AAZStrType()
403+
_element.name = AAZStrType()
404+
_element.properties = AAZObjectType()
405+
_element.type = AAZStrType(
406+
flags={"read_only": True},
407+
)
408+
409+
properties = cls._schema_on_200.properties.advanced_routing_maps.Element.properties.advanced_routing_rules.Element.properties
410+
properties.advanced_routing_condition_set = AAZObjectType(
411+
serialized_name="advancedRoutingConditionSet",
412+
)
413+
_ShowHelper._build_schema_common_sub_resource_read(properties.advanced_routing_condition_set)
414+
properties.auth_configs = AAZListType(
415+
serialized_name="authConfigs",
416+
)
417+
properties.backend_address_pool = AAZObjectType(
418+
serialized_name="backendAddressPool",
419+
)
420+
_ShowHelper._build_schema_common_sub_resource_read(properties.backend_address_pool)
421+
properties.backend_http_settings = AAZObjectType(
422+
serialized_name="backendHttpSettings",
423+
)
424+
_ShowHelper._build_schema_common_sub_resource_read(properties.backend_http_settings)
425+
properties.priority = AAZIntType(
426+
flags={"required": True},
427+
)
428+
properties.provisioning_state = AAZStrType(
429+
serialized_name="provisioningState",
430+
flags={"read_only": True},
431+
)
432+
properties.redirect_configuration = AAZObjectType(
433+
serialized_name="redirectConfiguration",
434+
)
435+
_ShowHelper._build_schema_common_sub_resource_read(properties.redirect_configuration)
436+
properties.rewrite_rule_set = AAZObjectType(
437+
serialized_name="rewriteRuleSet",
438+
)
439+
_ShowHelper._build_schema_common_sub_resource_read(properties.rewrite_rule_set)
440+
441+
auth_configs = cls._schema_on_200.properties.advanced_routing_maps.Element.properties.advanced_routing_rules.Element.properties.auth_configs
442+
auth_configs.Element = AAZObjectType()
443+
_ShowHelper._build_schema_application_gateway_auth_config_read(auth_configs.Element)
444+
445+
default_auth_configs = cls._schema_on_200.properties.advanced_routing_maps.Element.properties.default_auth_configs
446+
default_auth_configs.Element = AAZObjectType()
447+
_ShowHelper._build_schema_application_gateway_auth_config_read(default_auth_configs.Element)
448+
289449
authentication_certificates = cls._schema_on_200.properties.authentication_certificates
290450
authentication_certificates.Element = AAZObjectType()
291451

@@ -550,6 +710,9 @@ def _build_schema_on_200(cls):
550710
_ShowHelper._build_schema_common_application_gateway_ip_configuration_read(gateway_ip_configurations.Element)
551711

552712
global_configuration = cls._schema_on_200.properties.global_configuration
713+
global_configuration.disable_default_server_header_in_response = AAZBoolType(
714+
serialized_name="disableDefaultServerHeaderInResponse",
715+
)
553716
global_configuration.enable_request_buffering = AAZBoolType(
554717
serialized_name="enableRequestBuffering",
555718
)
@@ -933,6 +1096,13 @@ def _build_schema_on_200(cls):
9331096
)
9341097

9351098
properties = cls._schema_on_200.properties.request_routing_rules.Element.properties
1099+
properties.advanced_routing_map = AAZObjectType(
1100+
serialized_name="advancedRoutingMap",
1101+
)
1102+
_ShowHelper._build_schema_common_sub_resource_read(properties.advanced_routing_map)
1103+
properties.auth_configs = AAZListType(
1104+
serialized_name="authConfigs",
1105+
)
9361106
properties.backend_address_pool = AAZObjectType(
9371107
serialized_name="backendAddressPool",
9381108
)
@@ -974,6 +1144,10 @@ def _build_schema_on_200(cls):
9741144
)
9751145
_ShowHelper._build_schema_common_sub_resource_read(properties.url_path_map)
9761146

1147+
auth_configs = cls._schema_on_200.properties.request_routing_rules.Element.properties.auth_configs
1148+
auth_configs.Element = AAZObjectType()
1149+
_ShowHelper._build_schema_application_gateway_auth_config_read(auth_configs.Element)
1150+
9771151
rewrite_rule_sets = cls._schema_on_200.properties.rewrite_rule_sets
9781152
rewrite_rule_sets.Element = AAZObjectType()
9791153

@@ -1405,6 +1579,30 @@ def _build_schema_on_200(cls):
14051579
class _ShowHelper:
14061580
"""Helper class for Show"""
14071581

1582+
_schema_application_gateway_auth_config_read = None
1583+
1584+
@classmethod
1585+
def _build_schema_application_gateway_auth_config_read(cls, _schema):
1586+
if cls._schema_application_gateway_auth_config_read is not None:
1587+
_schema.authentication_policy = cls._schema_application_gateway_auth_config_read.authentication_policy
1588+
_schema.name = cls._schema_application_gateway_auth_config_read.name
1589+
return
1590+
1591+
cls._schema_application_gateway_auth_config_read = _schema_application_gateway_auth_config_read = AAZObjectType()
1592+
1593+
application_gateway_auth_config_read = _schema_application_gateway_auth_config_read
1594+
application_gateway_auth_config_read.authentication_policy = AAZObjectType(
1595+
serialized_name="authenticationPolicy",
1596+
flags={"required": True},
1597+
)
1598+
cls._build_schema_common_sub_resource_read(application_gateway_auth_config_read.authentication_policy)
1599+
application_gateway_auth_config_read.name = AAZStrType(
1600+
flags={"required": True},
1601+
)
1602+
1603+
_schema.authentication_policy = cls._schema_application_gateway_auth_config_read.authentication_policy
1604+
_schema.name = cls._schema_application_gateway_auth_config_read.name
1605+
14081606
_schema_application_gateway_custom_error_read = None
14091607

14101608
@classmethod
@@ -1709,6 +1907,9 @@ def _build_schema_common_frontend_ip_configuration_read(cls, _schema):
17091907
properties.ddos_settings = AAZObjectType(
17101908
serialized_name="ddosSettings",
17111909
)
1910+
properties.enable_connection_tracking = AAZBoolType(
1911+
serialized_name="enableConnectionTracking",
1912+
)
17121913
properties.gateway_load_balancer = AAZObjectType(
17131914
serialized_name="gatewayLoadBalancer",
17141915
)
@@ -2919,6 +3120,9 @@ def _build_schema_common_private_link_service_connection_read(cls, _schema):
29193120
)
29203121

29213122
properties = _schema_common_private_link_service_connection_read.properties
3123+
properties.approval_reference = AAZObjectType(
3124+
serialized_name="approvalReference",
3125+
)
29223126
properties.group_ids = AAZListType(
29233127
serialized_name="groupIds",
29243128
)
@@ -2937,6 +3141,11 @@ def _build_schema_common_private_link_service_connection_read(cls, _schema):
29373141
serialized_name="requestMessage",
29383142
)
29393143

3144+
approval_reference = _schema_common_private_link_service_connection_read.properties.approval_reference
3145+
approval_reference.private_endpoint_id = AAZStrType(
3146+
serialized_name="privateEndpointId",
3147+
)
3148+
29403149
group_ids = _schema_common_private_link_service_connection_read.properties.group_ids
29413150
group_ids.Element = AAZStrType()
29423151

@@ -3044,6 +3253,10 @@ def _build_schema_common_public_ip_address_read(cls, _schema):
30443253
serialized_name="servicePublicIPAddress",
30453254
)
30463255
cls._build_schema_common_public_ip_address_read(properties.service_public_ip_address)
3256+
properties.upgraded_to_v2 = AAZBoolType(
3257+
serialized_name="upgradedToV2",
3258+
flags={"read_only": True},
3259+
)
30473260

30483261
ddos_settings = _schema_common_public_ip_address_read.properties.ddos_settings
30493262
ddos_settings.ddos_custom_policy = AAZObjectType(
@@ -3074,6 +3287,9 @@ def _build_schema_common_public_ip_address_read(cls, _schema):
30743287
ip_tags.Element = AAZObjectType()
30753288

30763289
_element = _schema_common_public_ip_address_read.properties.ip_tags.Element
3290+
_element.first_party_service_tag_id = AAZStrType(
3291+
serialized_name="firstPartyServiceTagId",
3292+
)
30773293
_element.ip_tag_type = AAZStrType(
30783294
serialized_name="ipTagType",
30793295
)

0 commit comments

Comments
 (0)