Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
3 changes: 3 additions & 0 deletions src/azure-firewall/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ Release History
++++++
* `az network firewall policy show` : Expose read-only property `afcManaged` indicating whether the firewall policy is managed by Azure Firewall Configuration (AFC).
* Bump API version to `2025-09-01` for `az network firewall policy` create/update/show/list/delete/wait.
* `az network firewall show/list` : Expose read-only property `afcConfiguration` (with read-only `serviceEndpoint`) for the Azure Firewall for Containers endpoint.
* `az network firewall create/update` : Add `--create-afc-control-plane`/`--create-afc` to create an AFC control plane for the Azure Firewall.
* Bump API version to `2025-09-01` for `az network firewall` create/update/show/list/delete/wait.
Comment on lines +10 to +12

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the changes in this pr won't be included in 2.3.0. but it doesn't matter, we can update setup.py with a upper version in the 3rd feature request.


2.2.1
++++++
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ class Create(AAZCommand):
"""

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

Expand All @@ -62,14 +62,14 @@ def _build_arguments_schema(cls, *args, **kwargs):
options=["-n", "--name"],
help="Azure Firewall name.",
required=True,
fmt=AAZStrArgFormat(
max_length=56,
min_length=1,
),
)
_args_schema.resource_group = AAZResourceGroupNameArg(
required=True,
)
_args_schema.create_afc_control_plane = AAZBoolArg(
options=["--create-afc", "--create-afc-control-plane"],
help="When set to true, creates an AFC control plane for the Azure Firewall.",
)
_args_schema.location = AAZResourceLocationArg(
help="Resource location.",
fmt=AAZResourceLocationArgFormat(
Expand Down Expand Up @@ -341,7 +341,10 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-10-01",
"createAfcControlPlane", self.ctx.args.create_afc_control_plane,
),
**self.serialize_query_param(
"api-version", "2025-09-01",
required=True,
),
}
Expand Down Expand Up @@ -497,6 +500,10 @@ def _build_schema_on_200_201(cls):
properties.additional_properties = AAZDictType(
serialized_name="additionalProperties",
)
properties.afc_configuration = AAZObjectType(
serialized_name="afcConfiguration",
flags={"read_only": True},
)
properties.application_rule_collections = AAZListType(
serialized_name="applicationRuleCollections",
)
Expand Down Expand Up @@ -543,6 +550,12 @@ def _build_schema_on_200_201(cls):
additional_properties = cls._schema_on_200_201.properties.additional_properties
additional_properties.Element = AAZStrType()

afc_configuration = cls._schema_on_200_201.properties.afc_configuration
afc_configuration.service_endpoint = AAZStrType(
serialized_name="serviceEndpoint",
flags={"read_only": True},
)

application_rule_collections = cls._schema_on_200_201.properties.application_rule_collections
application_rule_collections.Element = AAZObjectType()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ class Delete(AAZCommand):
"""

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

Expand Down Expand Up @@ -139,7 +139,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-10-01",
"api-version", "2025-09-01",
required=True,
),
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ class List(AAZCommand):
"""

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

Expand Down Expand Up @@ -109,7 +109,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-10-01",
"api-version", "2025-09-01",
required=True,
),
}
Expand Down Expand Up @@ -145,7 +145,9 @@ def _build_schema_on_200(cls):
_schema_on_200.next_link = AAZStrType(
serialized_name="nextLink",
)
_schema_on_200.value = AAZListType()
_schema_on_200.value = AAZListType(
flags={"required": True},
)

value = cls._schema_on_200.value
value.Element = AAZObjectType()
Expand Down Expand Up @@ -179,6 +181,10 @@ def _build_schema_on_200(cls):
properties.additional_properties = AAZDictType(
serialized_name="additionalProperties",
)
properties.afc_configuration = AAZObjectType(
serialized_name="afcConfiguration",
flags={"read_only": True},
)
properties.application_rule_collections = AAZListType(
serialized_name="applicationRuleCollections",
)
Expand Down Expand Up @@ -225,6 +231,12 @@ def _build_schema_on_200(cls):
additional_properties = cls._schema_on_200.value.Element.properties.additional_properties
additional_properties.Element = AAZStrType()

afc_configuration = cls._schema_on_200.value.Element.properties.afc_configuration
afc_configuration.service_endpoint = AAZStrType(
serialized_name="serviceEndpoint",
flags={"read_only": True},
)

application_rule_collections = cls._schema_on_200.value.Element.properties.application_rule_collections
application_rule_collections.Element = AAZObjectType()

Expand Down Expand Up @@ -528,7 +540,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-10-01",
"api-version", "2025-09-01",
required=True,
),
}
Expand Down Expand Up @@ -564,7 +576,9 @@ def _build_schema_on_200(cls):
_schema_on_200.next_link = AAZStrType(
serialized_name="nextLink",
)
_schema_on_200.value = AAZListType()
_schema_on_200.value = AAZListType(
flags={"required": True},
)

value = cls._schema_on_200.value
value.Element = AAZObjectType()
Expand Down Expand Up @@ -598,6 +612,10 @@ def _build_schema_on_200(cls):
properties.additional_properties = AAZDictType(
serialized_name="additionalProperties",
)
properties.afc_configuration = AAZObjectType(
serialized_name="afcConfiguration",
flags={"read_only": True},
)
properties.application_rule_collections = AAZListType(
serialized_name="applicationRuleCollections",
)
Expand Down Expand Up @@ -644,6 +662,12 @@ def _build_schema_on_200(cls):
additional_properties = cls._schema_on_200.value.Element.properties.additional_properties
additional_properties.Element = AAZStrType()

afc_configuration = cls._schema_on_200.value.Element.properties.afc_configuration
afc_configuration.service_endpoint = AAZStrType(
serialized_name="serviceEndpoint",
flags={"read_only": True},
)

application_rule_collections = cls._schema_on_200.value.Element.properties.application_rule_collections
application_rule_collections.Element = AAZObjectType()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ class Show(AAZCommand):
"""

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

Expand Down Expand Up @@ -117,7 +117,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-10-01",
"api-version", "2025-09-01",
required=True,
),
}
Expand Down Expand Up @@ -178,6 +178,10 @@ def _build_schema_on_200(cls):
properties.additional_properties = AAZDictType(
serialized_name="additionalProperties",
)
properties.afc_configuration = AAZObjectType(
serialized_name="afcConfiguration",
flags={"read_only": True},
)
properties.application_rule_collections = AAZListType(
serialized_name="applicationRuleCollections",
)
Expand Down Expand Up @@ -224,6 +228,12 @@ def _build_schema_on_200(cls):
additional_properties = cls._schema_on_200.properties.additional_properties
additional_properties.Element = AAZStrType()

afc_configuration = cls._schema_on_200.properties.afc_configuration
afc_configuration.service_endpoint = AAZStrType(
serialized_name="serviceEndpoint",
flags={"read_only": True},
)

application_rule_collections = cls._schema_on_200.properties.application_rule_collections
application_rule_collections.Element = AAZObjectType()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ class Update(AAZCommand):
"""

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

Expand Down Expand Up @@ -53,6 +53,10 @@ def _build_arguments_schema(cls, *args, **kwargs):
_args_schema.resource_group = AAZResourceGroupNameArg(
required=True,
)
_args_schema.create_afc_control_plane = AAZBoolArg(
options=["--create-afc", "--create-afc-control-plane"],
help="When set to true, creates an AFC control plane for the Azure Firewall.",
)
_args_schema.firewall_policy = AAZStrArg(
options=["--policy", "--firewall-policy"],
help="Name or ID of the firewallPolicy associated with this azure firewall.",
Expand Down Expand Up @@ -333,7 +337,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-10-01",
"api-version", "2025-09-01",
required=True,
),
}
Expand Down Expand Up @@ -432,7 +436,10 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-10-01",
"createAfcControlPlane", self.ctx.args.create_afc_control_plane,
),
**self.serialize_query_param(
"api-version", "2025-09-01",
required=True,
),
}
Expand Down Expand Up @@ -700,6 +707,10 @@ def _build_schema_azure_firewall_read(cls, _schema):
properties.additional_properties = AAZDictType(
serialized_name="additionalProperties",
)
properties.afc_configuration = AAZObjectType(
serialized_name="afcConfiguration",
flags={"read_only": True},
)
properties.application_rule_collections = AAZListType(
serialized_name="applicationRuleCollections",
)
Expand Down Expand Up @@ -746,6 +757,12 @@ def _build_schema_azure_firewall_read(cls, _schema):
additional_properties = _schema_azure_firewall_read.properties.additional_properties
additional_properties.Element = AAZStrType()

afc_configuration = _schema_azure_firewall_read.properties.afc_configuration
afc_configuration.service_endpoint = AAZStrType(
serialized_name="serviceEndpoint",
flags={"read_only": True},
)

application_rule_collections = _schema_azure_firewall_read.properties.application_rule_collections
application_rule_collections.Element = AAZObjectType()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class Wait(AAZWaitCommand):

_aaz_info = {
"resources": [
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "2024-10-01"],
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/azurefirewalls/{}", "2025-09-01"],
]
}

Expand Down Expand Up @@ -116,7 +116,7 @@ def url_parameters(self):
def query_parameters(self):
parameters = {
**self.serialize_query_param(
"api-version", "2024-10-01",
"api-version", "2025-09-01",
required=True,
),
}
Expand Down Expand Up @@ -177,6 +177,10 @@ def _build_schema_on_200(cls):
properties.additional_properties = AAZDictType(
serialized_name="additionalProperties",
)
properties.afc_configuration = AAZObjectType(
serialized_name="afcConfiguration",
flags={"read_only": True},
)
properties.application_rule_collections = AAZListType(
serialized_name="applicationRuleCollections",
)
Expand Down Expand Up @@ -223,6 +227,12 @@ def _build_schema_on_200(cls):
additional_properties = cls._schema_on_200.properties.additional_properties
additional_properties.Element = AAZStrType()

afc_configuration = cls._schema_on_200.properties.afc_configuration
afc_configuration.service_endpoint = AAZStrType(
serialized_name="serviceEndpoint",
flags={"read_only": True},
)

application_rule_collections = cls._schema_on_200.properties.application_rule_collections
application_rule_collections.Element = AAZObjectType()

Expand Down
3 changes: 3 additions & 0 deletions src/azure-firewall/azext_firewall/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -754,6 +754,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
args_schema.virtual_hub._registered = False
args_schema.zones._registered = False
args_schema.tags._registered = False
args_schema.create_afc_control_plane._registered = False
return args_schema

def pre_instance_update(self, instance):
Expand Down Expand Up @@ -809,6 +810,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
args_schema.virtual_hub._registered = False
args_schema.zones._registered = False
args_schema.tags._registered = False
args_schema.create_afc_control_plane._registered = False
return args_schema

def pre_instance_update(self, instance):
Expand Down Expand Up @@ -871,6 +873,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
args_schema.virtual_hub._registered = False
args_schema.zones._registered = False
args_schema.tags._registered = False
args_schema.create_afc_control_plane._registered = False
return args_schema

def pre_instance_update(self, instance):
Expand Down
Loading
Loading