diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 4409ffb4fa8..c868513f035 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -128,6 +128,8 @@ /src/timeseriesinsights/ @jiasli +/src/palo-alto-networks/ @kairu-ms @ZengTaoxu + /src/portal/ @YalinLi0312 /src/import-export/ @xfz11 diff --git a/src/palo-alto-networks/HISTORY.rst b/src/palo-alto-networks/HISTORY.rst new file mode 100644 index 00000000000..abbff5a61a7 --- /dev/null +++ b/src/palo-alto-networks/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +1.0.0b1 +++++++ +* Initial release. \ No newline at end of file diff --git a/src/palo-alto-networks/README.md b/src/palo-alto-networks/README.md new file mode 100644 index 00000000000..18733e0155b --- /dev/null +++ b/src/palo-alto-networks/README.md @@ -0,0 +1,5 @@ +# Azure CLI PaloAltoNetworks Extension # +This is an extension to Azure CLI to manage PaloAltoNetworks resources. + +## How to use ## +Please add commands usage here. \ No newline at end of file diff --git a/src/palo-alto-networks/azext_palo_alto_networks/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/__init__.py new file mode 100644 index 00000000000..44fc8f79a4f --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/__init__.py @@ -0,0 +1,42 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from azext_palo_alto_networks._help import helps # pylint: disable=unused-import + + +class PaloAltoNetworksCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + custom_command_type = CliCommandType( + operations_tmpl='azext_palo_alto_networks.custom#{}') + super().__init__(cli_ctx=cli_ctx, + custom_command_type=custom_command_type) + + def load_command_table(self, args): + from azext_palo_alto_networks.commands import load_command_table + from azure.cli.core.aaz import load_aaz_command_table + try: + from . import aaz + except ImportError: + aaz = None + if aaz: + load_aaz_command_table( + loader=self, + aaz_pkg_name=aaz.__name__, + args=args + ) + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_palo_alto_networks._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = PaloAltoNetworksCommandsLoader diff --git a/src/palo-alto-networks/azext_palo_alto_networks/_help.py b/src/palo-alto-networks/azext_palo_alto_networks/_help.py new file mode 100644 index 00000000000..126d5d00714 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/_help.py @@ -0,0 +1,11 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + +from knack.help_files import helps # pylint: disable=unused-import diff --git a/src/palo-alto-networks/azext_palo_alto_networks/_params.py b/src/palo-alto-networks/azext_palo_alto_networks/_params.py new file mode 100644 index 00000000000..cfcec717c9c --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/_params.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + + +def load_arguments(self, _): # pylint: disable=unused-argument + pass diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/__cmd_group.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/__cmd_group.py new file mode 100644 index 00000000000..1a7f27ad7f5 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "palo-alto", +) +class __CMDGroup(AAZCommandGroup): + """Manage palo-alto networks resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/__init__.py new file mode 100644 index 00000000000..5a9d61963d6 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/__init__.py @@ -0,0 +1,11 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/__cmd_group.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/__cmd_group.py new file mode 100644 index 00000000000..b6600d11ce6 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "palo-alto cloudngfw", +) +class __CMDGroup(AAZCommandGroup): + """Manage cloudngfw resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/__init__.py new file mode 100644 index 00000000000..5a9d61963d6 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/__init__.py @@ -0,0 +1,11 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/__cmd_group.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/__cmd_group.py new file mode 100644 index 00000000000..78c87971d1e --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "palo-alto cloudngfw firewall", +) +class __CMDGroup(AAZCommandGroup): + """Manage cloudngfw firewall resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/__init__.py new file mode 100644 index 00000000000..881e5241064 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/__init__.py @@ -0,0 +1,20 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._save_log_profile import * +from ._show import * +from ._show_log_profile import * +from ._show_support_info import * +from ._update import * +from ._wait import * diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_create.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_create.py new file mode 100644 index 00000000000..c5bf07ca976 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_create.py @@ -0,0 +1,1058 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw firewall create", +) +class Create(AAZCommand): + """Create a FirewallResource + + :example: Create a FirewallResource + az palo-alto cloudngfw firewall create --name MyCloudngfwFirewall -g MyResourceGroup --location eastus --associated-rulestack "{location:eastus,resource-id:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/MyLocalRulestacks}" --dns-settings "{enable-dns-proxy:DISABLED,enabled-dns-type:CUSTOM}" --is-panorama-managed FALSE --marketplace-details "{marketplace-subscription-status:Subscribed,offer-id:offer-id,publisher-id:publisher-id}" --network-profile "{egress-nat-ip:[],enable-egress-nat:DISABLED,network-type:VNET,public-ips:[{address:10.0.0.0/16,resource-id:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Network/publicIPAddresses/MypublicIP}],vnet-configuration:{ip-of-trust-subnet-for-udr:{address:10.0.0.0/16},trust-subnet:{resource-id:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVnet/subnets/subnet1},un-trust-subnet:{resource-id:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVnet/subnets/subnet1},vnet:{resource-id:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVnet}}}" --panorama-config "{config-string:bas64EncodedString}" --plan-data "{billing-cycle:MONTHLY,plan-id:plan-id,usage-type:PAYG}" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/firewalls/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.firewall_name = AAZStrArg( + options=["-n", "--name", "--firewall-name"], + help="Firewall resource name", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.associated_rulestack = AAZObjectArg( + options=["--associated-rulestack"], + arg_group="Properties", + help="Associated Rulestack", + ) + _args_schema.dns_settings = AAZObjectArg( + options=["--dns-settings"], + arg_group="Properties", + help="DNS settings for Firewall", + required=True, + ) + _args_schema.front_end_settings = AAZListArg( + options=["--front-end-settings"], + arg_group="Properties", + help="Frontend settings for Firewall", + ) + _args_schema.is_panorama_managed = AAZStrArg( + options=["--is-panorama-managed"], + arg_group="Properties", + help="Panorama Managed: Default is False. Default will be CloudSec managed", + enum={"FALSE": "FALSE", "TRUE": "TRUE"}, + ) + _args_schema.marketplace_details = AAZObjectArg( + options=["--marketplace-details"], + arg_group="Properties", + help="Marketplace details", + required=True, + ) + _args_schema.network_profile = AAZObjectArg( + options=["--network-profile"], + arg_group="Properties", + help="Network settings", + required=True, + ) + _args_schema.pan_etag = AAZStrArg( + options=["--pan-etag"], + arg_group="Properties", + help="panEtag info", + ) + _args_schema.panorama_config = AAZObjectArg( + options=["--panorama-config"], + arg_group="Properties", + help="Panorama Configuration", + ) + _args_schema.plan_data = AAZObjectArg( + options=["--plan-data"], + arg_group="Properties", + help="Billing plan information.", + required=True, + ) + + associated_rulestack = cls._args_schema.associated_rulestack + associated_rulestack.location = AAZStrArg( + options=["location"], + help="Rulestack location", + ) + associated_rulestack.resource_id = AAZStrArg( + options=["resource-id"], + help="Resource Id", + ) + associated_rulestack.rulestack_id = AAZStrArg( + options=["rulestack-id"], + help="Associated rulestack Id", + ) + + dns_settings = cls._args_schema.dns_settings + dns_settings.dns_servers = AAZListArg( + options=["dns-servers"], + help="List of IPs associated with the Firewall", + ) + dns_settings.enable_dns_proxy = AAZStrArg( + options=["enable-dns-proxy"], + help="Enable DNS proxy, disabled by default", + enum={"DISABLED": "DISABLED", "ENABLED": "ENABLED"}, + ) + dns_settings.enabled_dns_type = AAZStrArg( + options=["enabled-dns-type"], + help="Enabled DNS proxy type, disabled by default", + enum={"AZURE": "AZURE", "CUSTOM": "CUSTOM"}, + ) + + dns_servers = cls._args_schema.dns_settings.dns_servers + dns_servers.Element = AAZObjectArg() + cls._build_args_ip_address_create(dns_servers.Element) + + front_end_settings = cls._args_schema.front_end_settings + front_end_settings.Element = AAZObjectArg() + + _element = cls._args_schema.front_end_settings.Element + _element.backend_configuration = AAZObjectArg( + options=["backend-configuration"], + help="Backend configurations", + required=True, + ) + cls._build_args_endpoint_configuration_create(_element.backend_configuration) + _element.frontend_configuration = AAZObjectArg( + options=["frontend-configuration"], + help="Frontend configurations", + required=True, + ) + cls._build_args_endpoint_configuration_create(_element.frontend_configuration) + _element.name = AAZStrArg( + options=["name"], + help="Settings name", + required=True, + ) + _element.protocol = AAZStrArg( + options=["protocol"], + help="Protocol Type", + required=True, + enum={"TCP": "TCP", "UDP": "UDP"}, + ) + + marketplace_details = cls._args_schema.marketplace_details + marketplace_details.marketplace_subscription_status = AAZStrArg( + options=["marketplace-subscription-status"], + help="Marketplace Subscription Status", + enum={"FulfillmentRequested": "FulfillmentRequested", "NotStarted": "NotStarted", "PendingFulfillmentStart": "PendingFulfillmentStart", "Subscribed": "Subscribed", "Suspended": "Suspended", "Unsubscribed": "Unsubscribed"}, + ) + marketplace_details.offer_id = AAZStrArg( + options=["offer-id"], + help="Offer Id", + required=True, + ) + marketplace_details.publisher_id = AAZStrArg( + options=["publisher-id"], + help="Publisher Id", + required=True, + ) + + network_profile = cls._args_schema.network_profile + network_profile.egress_nat_ip = AAZListArg( + options=["egress-nat-ip"], + help="Egress nat IP to use", + ) + network_profile.enable_egress_nat = AAZStrArg( + options=["enable-egress-nat"], + help="Enable egress NAT, enabled by default", + required=True, + enum={"DISABLED": "DISABLED", "ENABLED": "ENABLED"}, + ) + network_profile.network_type = AAZStrArg( + options=["network-type"], + help="vnet or vwan, cannot be updated", + required=True, + enum={"VNET": "VNET", "VWAN": "VWAN"}, + ) + network_profile.public_ips = AAZListArg( + options=["public-ips"], + help="List of IPs associated with the Firewall", + required=True, + ) + network_profile.vnet_configuration = AAZObjectArg( + options=["vnet-configuration"], + help="Vnet configurations", + ) + network_profile.vwan_configuration = AAZObjectArg( + options=["vwan-configuration"], + help="Vwan configurations", + ) + + egress_nat_ip = cls._args_schema.network_profile.egress_nat_ip + egress_nat_ip.Element = AAZObjectArg() + cls._build_args_ip_address_create(egress_nat_ip.Element) + + public_ips = cls._args_schema.network_profile.public_ips + public_ips.Element = AAZObjectArg() + cls._build_args_ip_address_create(public_ips.Element) + + vnet_configuration = cls._args_schema.network_profile.vnet_configuration + vnet_configuration.ip_of_trust_subnet_for_udr = AAZObjectArg( + options=["ip-of-trust-subnet-for-udr"], + help="IP of trust subnet for UDR", + ) + cls._build_args_ip_address_create(vnet_configuration.ip_of_trust_subnet_for_udr) + vnet_configuration.trust_subnet = AAZObjectArg( + options=["trust-subnet"], + help="Trust Subnet", + required=True, + ) + cls._build_args_ip_address_space_create(vnet_configuration.trust_subnet) + vnet_configuration.un_trust_subnet = AAZObjectArg( + options=["un-trust-subnet"], + help="Untrust Subnet", + required=True, + ) + cls._build_args_ip_address_space_create(vnet_configuration.un_trust_subnet) + vnet_configuration.vnet = AAZObjectArg( + options=["vnet"], + help="Azure Virtual Network", + required=True, + ) + cls._build_args_ip_address_space_create(vnet_configuration.vnet) + + vwan_configuration = cls._args_schema.network_profile.vwan_configuration + vwan_configuration.ip_of_trust_subnet_for_udr = AAZObjectArg( + options=["ip-of-trust-subnet-for-udr"], + help="IP of trust subnet for UDR", + ) + cls._build_args_ip_address_create(vwan_configuration.ip_of_trust_subnet_for_udr) + vwan_configuration.network_virtual_appliance_id = AAZStrArg( + options=["network-virtual-appliance-id"], + help="Network Virtual Appliance resource ID ", + ) + vwan_configuration.trust_subnet = AAZObjectArg( + options=["trust-subnet"], + help="Trust Subnet", + ) + cls._build_args_ip_address_space_create(vwan_configuration.trust_subnet) + vwan_configuration.un_trust_subnet = AAZObjectArg( + options=["un-trust-subnet"], + help="Untrust Subnet", + ) + cls._build_args_ip_address_space_create(vwan_configuration.un_trust_subnet) + vwan_configuration.v_hub = AAZObjectArg( + options=["v-hub"], + help="vHub Address", + required=True, + ) + cls._build_args_ip_address_space_create(vwan_configuration.v_hub) + + panorama_config = cls._args_schema.panorama_config + panorama_config.config_string = AAZStrArg( + options=["config-string"], + help="Base64 encoded string representing Panorama parameters to be used by Firewall to connect to Panorama. This string is generated via azure plugin in Panorama", + required=True, + ) + + plan_data = cls._args_schema.plan_data + plan_data.billing_cycle = AAZStrArg( + options=["billing-cycle"], + help="different billing cycles like MONTHLY/WEEKLY", + required=True, + enum={"MONTHLY": "MONTHLY", "WEEKLY": "WEEKLY"}, + ) + plan_data.plan_id = AAZStrArg( + options=["plan-id"], + help="plan id as published by Liftr.PAN", + required=True, + fmt=AAZStrArgFormat( + max_length=50, + ), + ) + plan_data.usage_type = AAZStrArg( + options=["usage-type"], + help="different usage type like PAYG/COMMITTED", + enum={"COMMITTED": "COMMITTED", "PAYG": "PAYG"}, + ) + + # define Arg Group "Resource" + + _args_schema = cls._args_schema + _args_schema.identity = AAZObjectArg( + options=["--identity"], + arg_group="Resource", + help="The managed service identities assigned to this resource.", + ) + _args_schema.location = AAZResourceLocationArg( + arg_group="Resource", + help="The geo-location where the resource lives", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Resource", + help="Resource tags.", + ) + + identity = cls._args_schema.identity + identity.type = AAZStrArg( + options=["type"], + help="The type of managed identity assigned to this resource.", + required=True, + enum={"None": "None", "SystemAssigned": "SystemAssigned", "SystemAssigned,UserAssigned": "SystemAssigned,UserAssigned", "UserAssigned": "UserAssigned"}, + ) + identity.user_assigned_identities = AAZDictArg( + options=["user-assigned-identities"], + help="The identities assigned to this resource by the user.", + ) + + user_assigned_identities = cls._args_schema.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectArg() + + _element = cls._args_schema.identity.user_assigned_identities.Element + _element.client_id = AAZStrArg( + options=["client-id"], + help="The active directory client identifier for this principal.", + ) + _element.principal_id = AAZStrArg( + options=["principal-id"], + help="The active directory identifier for this principal.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + return cls._args_schema + + _args_endpoint_configuration_create = None + + @classmethod + def _build_args_endpoint_configuration_create(cls, _schema): + if cls._args_endpoint_configuration_create is not None: + _schema.address = cls._args_endpoint_configuration_create.address + _schema.port = cls._args_endpoint_configuration_create.port + return + + cls._args_endpoint_configuration_create = AAZObjectArg() + + endpoint_configuration_create = cls._args_endpoint_configuration_create + endpoint_configuration_create.address = AAZObjectArg( + options=["address"], + help="Address Space", + required=True, + ) + cls._build_args_ip_address_create(endpoint_configuration_create.address) + endpoint_configuration_create.port = AAZStrArg( + options=["port"], + help="port ID", + required=True, + ) + + _schema.address = cls._args_endpoint_configuration_create.address + _schema.port = cls._args_endpoint_configuration_create.port + + _args_ip_address_space_create = None + + @classmethod + def _build_args_ip_address_space_create(cls, _schema): + if cls._args_ip_address_space_create is not None: + _schema.address_space = cls._args_ip_address_space_create.address_space + _schema.resource_id = cls._args_ip_address_space_create.resource_id + return + + cls._args_ip_address_space_create = AAZObjectArg() + + ip_address_space_create = cls._args_ip_address_space_create + ip_address_space_create.address_space = AAZStrArg( + options=["address-space"], + help="Address Space", + ) + ip_address_space_create.resource_id = AAZStrArg( + options=["resource-id"], + help="Resource Id", + ) + + _schema.address_space = cls._args_ip_address_space_create.address_space + _schema.resource_id = cls._args_ip_address_space_create.resource_id + + _args_ip_address_create = None + + @classmethod + def _build_args_ip_address_create(cls, _schema): + if cls._args_ip_address_create is not None: + _schema.address = cls._args_ip_address_create.address + _schema.resource_id = cls._args_ip_address_create.resource_id + return + + cls._args_ip_address_create = AAZObjectArg() + + ip_address_create = cls._args_ip_address_create + ip_address_create.address = AAZStrArg( + options=["address"], + help="Address value", + ) + ip_address_create.resource_id = AAZStrArg( + options=["resource-id"], + help="Resource Id", + ) + + _schema.address = cls._args_ip_address_create.address + _schema.resource_id = cls._args_ip_address_create.resource_id + + def _execute_operations(self): + self.pre_operations() + yield self.FirewallsCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class FirewallsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200, 201]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls/{firewallName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "firewallName", self.ctx.args.firewall_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("identity", AAZObjectType, ".identity") + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + identity = _builder.get(".identity") + if identity is not None: + identity.set_prop("type", AAZStrType, ".type", typ_kwargs={"flags": {"required": True}}) + identity.set_prop("userAssignedIdentities", AAZDictType, ".user_assigned_identities") + + user_assigned_identities = _builder.get(".identity.userAssignedIdentities") + if user_assigned_identities is not None: + user_assigned_identities.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".identity.userAssignedIdentities{}") + if _elements is not None: + _elements.set_prop("clientId", AAZStrType, ".client_id") + _elements.set_prop("principalId", AAZStrType, ".principal_id") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("associatedRulestack", AAZObjectType, ".associated_rulestack") + properties.set_prop("dnsSettings", AAZObjectType, ".dns_settings", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("frontEndSettings", AAZListType, ".front_end_settings") + properties.set_prop("isPanoramaManaged", AAZStrType, ".is_panorama_managed") + properties.set_prop("marketplaceDetails", AAZObjectType, ".marketplace_details", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("networkProfile", AAZObjectType, ".network_profile", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("panEtag", AAZStrType, ".pan_etag") + properties.set_prop("panoramaConfig", AAZObjectType, ".panorama_config") + properties.set_prop("planData", AAZObjectType, ".plan_data", typ_kwargs={"flags": {"required": True}}) + + associated_rulestack = _builder.get(".properties.associatedRulestack") + if associated_rulestack is not None: + associated_rulestack.set_prop("location", AAZStrType, ".location") + associated_rulestack.set_prop("resourceId", AAZStrType, ".resource_id") + associated_rulestack.set_prop("rulestackId", AAZStrType, ".rulestack_id") + + dns_settings = _builder.get(".properties.dnsSettings") + if dns_settings is not None: + dns_settings.set_prop("dnsServers", AAZListType, ".dns_servers") + dns_settings.set_prop("enableDnsProxy", AAZStrType, ".enable_dns_proxy") + dns_settings.set_prop("enabledDnsType", AAZStrType, ".enabled_dns_type") + + dns_servers = _builder.get(".properties.dnsSettings.dnsServers") + if dns_servers is not None: + _CreateHelper._build_schema_ip_address_create(dns_servers.set_elements(AAZObjectType, ".")) + + front_end_settings = _builder.get(".properties.frontEndSettings") + if front_end_settings is not None: + front_end_settings.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.frontEndSettings[]") + if _elements is not None: + _CreateHelper._build_schema_endpoint_configuration_create(_elements.set_prop("backendConfiguration", AAZObjectType, ".backend_configuration", typ_kwargs={"flags": {"required": True}})) + _CreateHelper._build_schema_endpoint_configuration_create(_elements.set_prop("frontendConfiguration", AAZObjectType, ".frontend_configuration", typ_kwargs={"flags": {"required": True}})) + _elements.set_prop("name", AAZStrType, ".name", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("protocol", AAZStrType, ".protocol", typ_kwargs={"flags": {"required": True}}) + + marketplace_details = _builder.get(".properties.marketplaceDetails") + if marketplace_details is not None: + marketplace_details.set_prop("marketplaceSubscriptionStatus", AAZStrType, ".marketplace_subscription_status") + marketplace_details.set_prop("offerId", AAZStrType, ".offer_id", typ_kwargs={"flags": {"required": True}}) + marketplace_details.set_prop("publisherId", AAZStrType, ".publisher_id", typ_kwargs={"flags": {"required": True}}) + + network_profile = _builder.get(".properties.networkProfile") + if network_profile is not None: + network_profile.set_prop("egressNatIp", AAZListType, ".egress_nat_ip") + network_profile.set_prop("enableEgressNat", AAZStrType, ".enable_egress_nat", typ_kwargs={"flags": {"required": True}}) + network_profile.set_prop("networkType", AAZStrType, ".network_type", typ_kwargs={"flags": {"required": True}}) + network_profile.set_prop("publicIps", AAZListType, ".public_ips", typ_kwargs={"flags": {"required": True}}) + network_profile.set_prop("vnetConfiguration", AAZObjectType, ".vnet_configuration") + network_profile.set_prop("vwanConfiguration", AAZObjectType, ".vwan_configuration") + + egress_nat_ip = _builder.get(".properties.networkProfile.egressNatIp") + if egress_nat_ip is not None: + _CreateHelper._build_schema_ip_address_create(egress_nat_ip.set_elements(AAZObjectType, ".")) + + public_ips = _builder.get(".properties.networkProfile.publicIps") + if public_ips is not None: + _CreateHelper._build_schema_ip_address_create(public_ips.set_elements(AAZObjectType, ".")) + + vnet_configuration = _builder.get(".properties.networkProfile.vnetConfiguration") + if vnet_configuration is not None: + _CreateHelper._build_schema_ip_address_create(vnet_configuration.set_prop("ipOfTrustSubnetForUdr", AAZObjectType, ".ip_of_trust_subnet_for_udr")) + _CreateHelper._build_schema_ip_address_space_create(vnet_configuration.set_prop("trustSubnet", AAZObjectType, ".trust_subnet", typ_kwargs={"flags": {"required": True}})) + _CreateHelper._build_schema_ip_address_space_create(vnet_configuration.set_prop("unTrustSubnet", AAZObjectType, ".un_trust_subnet", typ_kwargs={"flags": {"required": True}})) + _CreateHelper._build_schema_ip_address_space_create(vnet_configuration.set_prop("vnet", AAZObjectType, ".vnet", typ_kwargs={"flags": {"required": True}})) + + vwan_configuration = _builder.get(".properties.networkProfile.vwanConfiguration") + if vwan_configuration is not None: + _CreateHelper._build_schema_ip_address_create(vwan_configuration.set_prop("ipOfTrustSubnetForUdr", AAZObjectType, ".ip_of_trust_subnet_for_udr")) + vwan_configuration.set_prop("networkVirtualApplianceId", AAZStrType, ".network_virtual_appliance_id") + _CreateHelper._build_schema_ip_address_space_create(vwan_configuration.set_prop("trustSubnet", AAZObjectType, ".trust_subnet")) + _CreateHelper._build_schema_ip_address_space_create(vwan_configuration.set_prop("unTrustSubnet", AAZObjectType, ".un_trust_subnet")) + _CreateHelper._build_schema_ip_address_space_create(vwan_configuration.set_prop("vHub", AAZObjectType, ".v_hub", typ_kwargs={"flags": {"required": True}})) + + panorama_config = _builder.get(".properties.panoramaConfig") + if panorama_config is not None: + panorama_config.set_prop("configString", AAZStrType, ".config_string", typ_kwargs={"flags": {"required": True}}) + + plan_data = _builder.get(".properties.planData") + if plan_data is not None: + plan_data.set_prop("billingCycle", AAZStrType, ".billing_cycle", typ_kwargs={"flags": {"required": True}}) + plan_data.set_prop("planId", AAZStrType, ".plan_id", typ_kwargs={"flags": {"required": True}}) + plan_data.set_prop("usageType", AAZStrType, ".usage_type") + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.identity = AAZObjectType() + _schema_on_200_201.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200_201.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.tags = AAZDictType() + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200_201.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200_201.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200_201.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = cls._schema_on_200_201.properties + properties.associated_rulestack = AAZObjectType( + serialized_name="associatedRulestack", + ) + properties.dns_settings = AAZObjectType( + serialized_name="dnsSettings", + flags={"required": True}, + ) + properties.front_end_settings = AAZListType( + serialized_name="frontEndSettings", + ) + properties.is_panorama_managed = AAZStrType( + serialized_name="isPanoramaManaged", + ) + properties.marketplace_details = AAZObjectType( + serialized_name="marketplaceDetails", + flags={"required": True}, + ) + properties.network_profile = AAZObjectType( + serialized_name="networkProfile", + flags={"required": True}, + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.panorama_config = AAZObjectType( + serialized_name="panoramaConfig", + ) + properties.plan_data = AAZObjectType( + serialized_name="planData", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + associated_rulestack = cls._schema_on_200_201.properties.associated_rulestack + associated_rulestack.location = AAZStrType() + associated_rulestack.resource_id = AAZStrType( + serialized_name="resourceId", + ) + associated_rulestack.rulestack_id = AAZStrType( + serialized_name="rulestackId", + ) + + dns_settings = cls._schema_on_200_201.properties.dns_settings + dns_settings.dns_servers = AAZListType( + serialized_name="dnsServers", + ) + dns_settings.enable_dns_proxy = AAZStrType( + serialized_name="enableDnsProxy", + ) + dns_settings.enabled_dns_type = AAZStrType( + serialized_name="enabledDnsType", + ) + + dns_servers = cls._schema_on_200_201.properties.dns_settings.dns_servers + dns_servers.Element = AAZObjectType() + _CreateHelper._build_schema_ip_address_read(dns_servers.Element) + + front_end_settings = cls._schema_on_200_201.properties.front_end_settings + front_end_settings.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.front_end_settings.Element + _element.backend_configuration = AAZObjectType( + serialized_name="backendConfiguration", + flags={"required": True}, + ) + _CreateHelper._build_schema_endpoint_configuration_read(_element.backend_configuration) + _element.frontend_configuration = AAZObjectType( + serialized_name="frontendConfiguration", + flags={"required": True}, + ) + _CreateHelper._build_schema_endpoint_configuration_read(_element.frontend_configuration) + _element.name = AAZStrType( + flags={"required": True}, + ) + _element.protocol = AAZStrType( + flags={"required": True}, + ) + + marketplace_details = cls._schema_on_200_201.properties.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrType( + serialized_name="marketplaceSubscriptionId", + flags={"read_only": True}, + ) + marketplace_details.marketplace_subscription_status = AAZStrType( + serialized_name="marketplaceSubscriptionStatus", + ) + marketplace_details.offer_id = AAZStrType( + serialized_name="offerId", + flags={"required": True}, + ) + marketplace_details.publisher_id = AAZStrType( + serialized_name="publisherId", + flags={"required": True}, + ) + + network_profile = cls._schema_on_200_201.properties.network_profile + network_profile.egress_nat_ip = AAZListType( + serialized_name="egressNatIp", + ) + network_profile.enable_egress_nat = AAZStrType( + serialized_name="enableEgressNat", + flags={"required": True}, + ) + network_profile.network_type = AAZStrType( + serialized_name="networkType", + flags={"required": True}, + ) + network_profile.public_ips = AAZListType( + serialized_name="publicIps", + flags={"required": True}, + ) + network_profile.vnet_configuration = AAZObjectType( + serialized_name="vnetConfiguration", + ) + network_profile.vwan_configuration = AAZObjectType( + serialized_name="vwanConfiguration", + ) + + egress_nat_ip = cls._schema_on_200_201.properties.network_profile.egress_nat_ip + egress_nat_ip.Element = AAZObjectType() + _CreateHelper._build_schema_ip_address_read(egress_nat_ip.Element) + + public_ips = cls._schema_on_200_201.properties.network_profile.public_ips + public_ips.Element = AAZObjectType() + _CreateHelper._build_schema_ip_address_read(public_ips.Element) + + vnet_configuration = cls._schema_on_200_201.properties.network_profile.vnet_configuration + vnet_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + _CreateHelper._build_schema_ip_address_read(vnet_configuration.ip_of_trust_subnet_for_udr) + vnet_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + flags={"required": True}, + ) + _CreateHelper._build_schema_ip_address_space_read(vnet_configuration.trust_subnet) + vnet_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + flags={"required": True}, + ) + _CreateHelper._build_schema_ip_address_space_read(vnet_configuration.un_trust_subnet) + vnet_configuration.vnet = AAZObjectType( + flags={"required": True}, + ) + _CreateHelper._build_schema_ip_address_space_read(vnet_configuration.vnet) + + vwan_configuration = cls._schema_on_200_201.properties.network_profile.vwan_configuration + vwan_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + _CreateHelper._build_schema_ip_address_read(vwan_configuration.ip_of_trust_subnet_for_udr) + vwan_configuration.network_virtual_appliance_id = AAZStrType( + serialized_name="networkVirtualApplianceId", + ) + vwan_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + ) + _CreateHelper._build_schema_ip_address_space_read(vwan_configuration.trust_subnet) + vwan_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + ) + _CreateHelper._build_schema_ip_address_space_read(vwan_configuration.un_trust_subnet) + vwan_configuration.v_hub = AAZObjectType( + serialized_name="vHub", + flags={"required": True}, + ) + _CreateHelper._build_schema_ip_address_space_read(vwan_configuration.v_hub) + + panorama_config = cls._schema_on_200_201.properties.panorama_config + panorama_config.cg_name = AAZStrType( + serialized_name="cgName", + flags={"read_only": True}, + ) + panorama_config.config_string = AAZStrType( + serialized_name="configString", + flags={"required": True}, + ) + panorama_config.dg_name = AAZStrType( + serialized_name="dgName", + flags={"read_only": True}, + ) + panorama_config.host_name = AAZStrType( + serialized_name="hostName", + flags={"read_only": True}, + ) + panorama_config.panorama_server = AAZStrType( + serialized_name="panoramaServer", + flags={"read_only": True}, + ) + panorama_config.panorama_server2 = AAZStrType( + serialized_name="panoramaServer2", + flags={"read_only": True}, + ) + panorama_config.tpl_name = AAZStrType( + serialized_name="tplName", + flags={"read_only": True}, + ) + panorama_config.vm_auth_key = AAZStrType( + serialized_name="vmAuthKey", + flags={"read_only": True}, + ) + + plan_data = cls._schema_on_200_201.properties.plan_data + plan_data.billing_cycle = AAZStrType( + serialized_name="billingCycle", + flags={"required": True}, + ) + plan_data.effective_date = AAZStrType( + serialized_name="effectiveDate", + flags={"read_only": True}, + ) + plan_data.plan_id = AAZStrType( + serialized_name="planId", + flags={"required": True}, + ) + plan_data.usage_type = AAZStrType( + serialized_name="usageType", + ) + + system_data = cls._schema_on_200_201.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200_201.tags + tags.Element = AAZStrType() + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + @classmethod + def _build_schema_endpoint_configuration_create(cls, _builder): + if _builder is None: + return + cls._build_schema_ip_address_create(_builder.set_prop("address", AAZObjectType, ".address", typ_kwargs={"flags": {"required": True}})) + _builder.set_prop("port", AAZStrType, ".port", typ_kwargs={"flags": {"required": True}}) + + @classmethod + def _build_schema_ip_address_space_create(cls, _builder): + if _builder is None: + return + _builder.set_prop("addressSpace", AAZStrType, ".address_space") + _builder.set_prop("resourceId", AAZStrType, ".resource_id") + + @classmethod + def _build_schema_ip_address_create(cls, _builder): + if _builder is None: + return + _builder.set_prop("address", AAZStrType, ".address") + _builder.set_prop("resourceId", AAZStrType, ".resource_id") + + _schema_endpoint_configuration_read = None + + @classmethod + def _build_schema_endpoint_configuration_read(cls, _schema): + if cls._schema_endpoint_configuration_read is not None: + _schema.address = cls._schema_endpoint_configuration_read.address + _schema.port = cls._schema_endpoint_configuration_read.port + return + + cls._schema_endpoint_configuration_read = _schema_endpoint_configuration_read = AAZObjectType() + + endpoint_configuration_read = _schema_endpoint_configuration_read + endpoint_configuration_read.address = AAZObjectType( + flags={"required": True}, + ) + cls._build_schema_ip_address_read(endpoint_configuration_read.address) + endpoint_configuration_read.port = AAZStrType( + flags={"required": True}, + ) + + _schema.address = cls._schema_endpoint_configuration_read.address + _schema.port = cls._schema_endpoint_configuration_read.port + + _schema_ip_address_space_read = None + + @classmethod + def _build_schema_ip_address_space_read(cls, _schema): + if cls._schema_ip_address_space_read is not None: + _schema.address_space = cls._schema_ip_address_space_read.address_space + _schema.resource_id = cls._schema_ip_address_space_read.resource_id + return + + cls._schema_ip_address_space_read = _schema_ip_address_space_read = AAZObjectType() + + ip_address_space_read = _schema_ip_address_space_read + ip_address_space_read.address_space = AAZStrType( + serialized_name="addressSpace", + ) + ip_address_space_read.resource_id = AAZStrType( + serialized_name="resourceId", + ) + + _schema.address_space = cls._schema_ip_address_space_read.address_space + _schema.resource_id = cls._schema_ip_address_space_read.resource_id + + _schema_ip_address_read = None + + @classmethod + def _build_schema_ip_address_read(cls, _schema): + if cls._schema_ip_address_read is not None: + _schema.address = cls._schema_ip_address_read.address + _schema.resource_id = cls._schema_ip_address_read.resource_id + return + + cls._schema_ip_address_read = _schema_ip_address_read = AAZObjectType() + + ip_address_read = _schema_ip_address_read + ip_address_read.address = AAZStrType() + ip_address_read.resource_id = AAZStrType( + serialized_name="resourceId", + ) + + _schema.address = cls._schema_ip_address_read.address + _schema.resource_id = cls._schema_ip_address_read.resource_id + + +__all__ = ["Create"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_delete.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_delete.py new file mode 100644 index 00000000000..21e1793107e --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_delete.py @@ -0,0 +1,162 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw firewall delete", +) +class Delete(AAZCommand): + """Delete a FirewallResource + + :example: Delete a FirewallResource + az palo-alto cloudngfw firewall delete --resource-group MyResourceGroup -n MyCloudngfwFirewall + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/firewalls/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.firewall_name = AAZStrArg( + options=["-n", "--name", "--firewall-name"], + help="Firewall resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.FirewallsDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class FirewallsDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls/{firewallName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "firewallName", self.ctx.args.firewall_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_list.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_list.py new file mode 100644 index 00000000000..729d643eef8 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_list.py @@ -0,0 +1,909 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw firewall list", +) +class List(AAZCommand): + """List FirewallResource resources by subscription ID + + :example: List FirewallResource resources by subscription ID + az palo-alto cloudngfw firewall list --resource-group MyResourceGroup + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/paloaltonetworks.cloudngfw/firewalls", "2022-08-29"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/firewalls", "2022-08-29"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + condition_0 = has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id) + condition_1 = has_value(self.ctx.subscription_id) and has_value(self.ctx.args.resource_group) is not True + if condition_0: + self.FirewallsListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.FirewallsListBySubscription(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class FirewallsListByResourceGroup(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.identity = AAZObjectType() + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.value.Element.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.value.Element.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = cls._schema_on_200.value.Element.properties + properties.associated_rulestack = AAZObjectType( + serialized_name="associatedRulestack", + ) + properties.dns_settings = AAZObjectType( + serialized_name="dnsSettings", + flags={"required": True}, + ) + properties.front_end_settings = AAZListType( + serialized_name="frontEndSettings", + ) + properties.is_panorama_managed = AAZStrType( + serialized_name="isPanoramaManaged", + ) + properties.marketplace_details = AAZObjectType( + serialized_name="marketplaceDetails", + flags={"required": True}, + ) + properties.network_profile = AAZObjectType( + serialized_name="networkProfile", + flags={"required": True}, + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.panorama_config = AAZObjectType( + serialized_name="panoramaConfig", + ) + properties.plan_data = AAZObjectType( + serialized_name="planData", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + associated_rulestack = cls._schema_on_200.value.Element.properties.associated_rulestack + associated_rulestack.location = AAZStrType() + associated_rulestack.resource_id = AAZStrType( + serialized_name="resourceId", + ) + associated_rulestack.rulestack_id = AAZStrType( + serialized_name="rulestackId", + ) + + dns_settings = cls._schema_on_200.value.Element.properties.dns_settings + dns_settings.dns_servers = AAZListType( + serialized_name="dnsServers", + ) + dns_settings.enable_dns_proxy = AAZStrType( + serialized_name="enableDnsProxy", + ) + dns_settings.enabled_dns_type = AAZStrType( + serialized_name="enabledDnsType", + ) + + dns_servers = cls._schema_on_200.value.Element.properties.dns_settings.dns_servers + dns_servers.Element = AAZObjectType() + _ListHelper._build_schema_ip_address_read(dns_servers.Element) + + front_end_settings = cls._schema_on_200.value.Element.properties.front_end_settings + front_end_settings.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.front_end_settings.Element + _element.backend_configuration = AAZObjectType( + serialized_name="backendConfiguration", + flags={"required": True}, + ) + _ListHelper._build_schema_endpoint_configuration_read(_element.backend_configuration) + _element.frontend_configuration = AAZObjectType( + serialized_name="frontendConfiguration", + flags={"required": True}, + ) + _ListHelper._build_schema_endpoint_configuration_read(_element.frontend_configuration) + _element.name = AAZStrType( + flags={"required": True}, + ) + _element.protocol = AAZStrType( + flags={"required": True}, + ) + + marketplace_details = cls._schema_on_200.value.Element.properties.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrType( + serialized_name="marketplaceSubscriptionId", + flags={"read_only": True}, + ) + marketplace_details.marketplace_subscription_status = AAZStrType( + serialized_name="marketplaceSubscriptionStatus", + ) + marketplace_details.offer_id = AAZStrType( + serialized_name="offerId", + flags={"required": True}, + ) + marketplace_details.publisher_id = AAZStrType( + serialized_name="publisherId", + flags={"required": True}, + ) + + network_profile = cls._schema_on_200.value.Element.properties.network_profile + network_profile.egress_nat_ip = AAZListType( + serialized_name="egressNatIp", + ) + network_profile.enable_egress_nat = AAZStrType( + serialized_name="enableEgressNat", + flags={"required": True}, + ) + network_profile.network_type = AAZStrType( + serialized_name="networkType", + flags={"required": True}, + ) + network_profile.public_ips = AAZListType( + serialized_name="publicIps", + flags={"required": True}, + ) + network_profile.vnet_configuration = AAZObjectType( + serialized_name="vnetConfiguration", + ) + network_profile.vwan_configuration = AAZObjectType( + serialized_name="vwanConfiguration", + ) + + egress_nat_ip = cls._schema_on_200.value.Element.properties.network_profile.egress_nat_ip + egress_nat_ip.Element = AAZObjectType() + _ListHelper._build_schema_ip_address_read(egress_nat_ip.Element) + + public_ips = cls._schema_on_200.value.Element.properties.network_profile.public_ips + public_ips.Element = AAZObjectType() + _ListHelper._build_schema_ip_address_read(public_ips.Element) + + vnet_configuration = cls._schema_on_200.value.Element.properties.network_profile.vnet_configuration + vnet_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + _ListHelper._build_schema_ip_address_read(vnet_configuration.ip_of_trust_subnet_for_udr) + vnet_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + flags={"required": True}, + ) + _ListHelper._build_schema_ip_address_space_read(vnet_configuration.trust_subnet) + vnet_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + flags={"required": True}, + ) + _ListHelper._build_schema_ip_address_space_read(vnet_configuration.un_trust_subnet) + vnet_configuration.vnet = AAZObjectType( + flags={"required": True}, + ) + _ListHelper._build_schema_ip_address_space_read(vnet_configuration.vnet) + + vwan_configuration = cls._schema_on_200.value.Element.properties.network_profile.vwan_configuration + vwan_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + _ListHelper._build_schema_ip_address_read(vwan_configuration.ip_of_trust_subnet_for_udr) + vwan_configuration.network_virtual_appliance_id = AAZStrType( + serialized_name="networkVirtualApplianceId", + ) + vwan_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + ) + _ListHelper._build_schema_ip_address_space_read(vwan_configuration.trust_subnet) + vwan_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + ) + _ListHelper._build_schema_ip_address_space_read(vwan_configuration.un_trust_subnet) + vwan_configuration.v_hub = AAZObjectType( + serialized_name="vHub", + flags={"required": True}, + ) + _ListHelper._build_schema_ip_address_space_read(vwan_configuration.v_hub) + + panorama_config = cls._schema_on_200.value.Element.properties.panorama_config + panorama_config.cg_name = AAZStrType( + serialized_name="cgName", + flags={"read_only": True}, + ) + panorama_config.config_string = AAZStrType( + serialized_name="configString", + flags={"required": True}, + ) + panorama_config.dg_name = AAZStrType( + serialized_name="dgName", + flags={"read_only": True}, + ) + panorama_config.host_name = AAZStrType( + serialized_name="hostName", + flags={"read_only": True}, + ) + panorama_config.panorama_server = AAZStrType( + serialized_name="panoramaServer", + flags={"read_only": True}, + ) + panorama_config.panorama_server2 = AAZStrType( + serialized_name="panoramaServer2", + flags={"read_only": True}, + ) + panorama_config.tpl_name = AAZStrType( + serialized_name="tplName", + flags={"read_only": True}, + ) + panorama_config.vm_auth_key = AAZStrType( + serialized_name="vmAuthKey", + flags={"read_only": True}, + ) + + plan_data = cls._schema_on_200.value.Element.properties.plan_data + plan_data.billing_cycle = AAZStrType( + serialized_name="billingCycle", + flags={"required": True}, + ) + plan_data.effective_date = AAZStrType( + serialized_name="effectiveDate", + flags={"read_only": True}, + ) + plan_data.plan_id = AAZStrType( + serialized_name="planId", + flags={"required": True}, + ) + plan_data.usage_type = AAZStrType( + serialized_name="usageType", + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class FirewallsListBySubscription(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/providers/PaloAltoNetworks.Cloudngfw/firewalls", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.identity = AAZObjectType() + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.value.Element.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.value.Element.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = cls._schema_on_200.value.Element.properties + properties.associated_rulestack = AAZObjectType( + serialized_name="associatedRulestack", + ) + properties.dns_settings = AAZObjectType( + serialized_name="dnsSettings", + flags={"required": True}, + ) + properties.front_end_settings = AAZListType( + serialized_name="frontEndSettings", + ) + properties.is_panorama_managed = AAZStrType( + serialized_name="isPanoramaManaged", + ) + properties.marketplace_details = AAZObjectType( + serialized_name="marketplaceDetails", + flags={"required": True}, + ) + properties.network_profile = AAZObjectType( + serialized_name="networkProfile", + flags={"required": True}, + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.panorama_config = AAZObjectType( + serialized_name="panoramaConfig", + ) + properties.plan_data = AAZObjectType( + serialized_name="planData", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + associated_rulestack = cls._schema_on_200.value.Element.properties.associated_rulestack + associated_rulestack.location = AAZStrType() + associated_rulestack.resource_id = AAZStrType( + serialized_name="resourceId", + ) + associated_rulestack.rulestack_id = AAZStrType( + serialized_name="rulestackId", + ) + + dns_settings = cls._schema_on_200.value.Element.properties.dns_settings + dns_settings.dns_servers = AAZListType( + serialized_name="dnsServers", + ) + dns_settings.enable_dns_proxy = AAZStrType( + serialized_name="enableDnsProxy", + ) + dns_settings.enabled_dns_type = AAZStrType( + serialized_name="enabledDnsType", + ) + + dns_servers = cls._schema_on_200.value.Element.properties.dns_settings.dns_servers + dns_servers.Element = AAZObjectType() + _ListHelper._build_schema_ip_address_read(dns_servers.Element) + + front_end_settings = cls._schema_on_200.value.Element.properties.front_end_settings + front_end_settings.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.front_end_settings.Element + _element.backend_configuration = AAZObjectType( + serialized_name="backendConfiguration", + flags={"required": True}, + ) + _ListHelper._build_schema_endpoint_configuration_read(_element.backend_configuration) + _element.frontend_configuration = AAZObjectType( + serialized_name="frontendConfiguration", + flags={"required": True}, + ) + _ListHelper._build_schema_endpoint_configuration_read(_element.frontend_configuration) + _element.name = AAZStrType( + flags={"required": True}, + ) + _element.protocol = AAZStrType( + flags={"required": True}, + ) + + marketplace_details = cls._schema_on_200.value.Element.properties.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrType( + serialized_name="marketplaceSubscriptionId", + flags={"read_only": True}, + ) + marketplace_details.marketplace_subscription_status = AAZStrType( + serialized_name="marketplaceSubscriptionStatus", + ) + marketplace_details.offer_id = AAZStrType( + serialized_name="offerId", + flags={"required": True}, + ) + marketplace_details.publisher_id = AAZStrType( + serialized_name="publisherId", + flags={"required": True}, + ) + + network_profile = cls._schema_on_200.value.Element.properties.network_profile + network_profile.egress_nat_ip = AAZListType( + serialized_name="egressNatIp", + ) + network_profile.enable_egress_nat = AAZStrType( + serialized_name="enableEgressNat", + flags={"required": True}, + ) + network_profile.network_type = AAZStrType( + serialized_name="networkType", + flags={"required": True}, + ) + network_profile.public_ips = AAZListType( + serialized_name="publicIps", + flags={"required": True}, + ) + network_profile.vnet_configuration = AAZObjectType( + serialized_name="vnetConfiguration", + ) + network_profile.vwan_configuration = AAZObjectType( + serialized_name="vwanConfiguration", + ) + + egress_nat_ip = cls._schema_on_200.value.Element.properties.network_profile.egress_nat_ip + egress_nat_ip.Element = AAZObjectType() + _ListHelper._build_schema_ip_address_read(egress_nat_ip.Element) + + public_ips = cls._schema_on_200.value.Element.properties.network_profile.public_ips + public_ips.Element = AAZObjectType() + _ListHelper._build_schema_ip_address_read(public_ips.Element) + + vnet_configuration = cls._schema_on_200.value.Element.properties.network_profile.vnet_configuration + vnet_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + _ListHelper._build_schema_ip_address_read(vnet_configuration.ip_of_trust_subnet_for_udr) + vnet_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + flags={"required": True}, + ) + _ListHelper._build_schema_ip_address_space_read(vnet_configuration.trust_subnet) + vnet_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + flags={"required": True}, + ) + _ListHelper._build_schema_ip_address_space_read(vnet_configuration.un_trust_subnet) + vnet_configuration.vnet = AAZObjectType( + flags={"required": True}, + ) + _ListHelper._build_schema_ip_address_space_read(vnet_configuration.vnet) + + vwan_configuration = cls._schema_on_200.value.Element.properties.network_profile.vwan_configuration + vwan_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + _ListHelper._build_schema_ip_address_read(vwan_configuration.ip_of_trust_subnet_for_udr) + vwan_configuration.network_virtual_appliance_id = AAZStrType( + serialized_name="networkVirtualApplianceId", + ) + vwan_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + ) + _ListHelper._build_schema_ip_address_space_read(vwan_configuration.trust_subnet) + vwan_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + ) + _ListHelper._build_schema_ip_address_space_read(vwan_configuration.un_trust_subnet) + vwan_configuration.v_hub = AAZObjectType( + serialized_name="vHub", + flags={"required": True}, + ) + _ListHelper._build_schema_ip_address_space_read(vwan_configuration.v_hub) + + panorama_config = cls._schema_on_200.value.Element.properties.panorama_config + panorama_config.cg_name = AAZStrType( + serialized_name="cgName", + flags={"read_only": True}, + ) + panorama_config.config_string = AAZStrType( + serialized_name="configString", + flags={"required": True}, + ) + panorama_config.dg_name = AAZStrType( + serialized_name="dgName", + flags={"read_only": True}, + ) + panorama_config.host_name = AAZStrType( + serialized_name="hostName", + flags={"read_only": True}, + ) + panorama_config.panorama_server = AAZStrType( + serialized_name="panoramaServer", + flags={"read_only": True}, + ) + panorama_config.panorama_server2 = AAZStrType( + serialized_name="panoramaServer2", + flags={"read_only": True}, + ) + panorama_config.tpl_name = AAZStrType( + serialized_name="tplName", + flags={"read_only": True}, + ) + panorama_config.vm_auth_key = AAZStrType( + serialized_name="vmAuthKey", + flags={"read_only": True}, + ) + + plan_data = cls._schema_on_200.value.Element.properties.plan_data + plan_data.billing_cycle = AAZStrType( + serialized_name="billingCycle", + flags={"required": True}, + ) + plan_data.effective_date = AAZStrType( + serialized_name="effectiveDate", + flags={"read_only": True}, + ) + plan_data.plan_id = AAZStrType( + serialized_name="planId", + flags={"required": True}, + ) + plan_data.usage_type = AAZStrType( + serialized_name="usageType", + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + _schema_endpoint_configuration_read = None + + @classmethod + def _build_schema_endpoint_configuration_read(cls, _schema): + if cls._schema_endpoint_configuration_read is not None: + _schema.address = cls._schema_endpoint_configuration_read.address + _schema.port = cls._schema_endpoint_configuration_read.port + return + + cls._schema_endpoint_configuration_read = _schema_endpoint_configuration_read = AAZObjectType() + + endpoint_configuration_read = _schema_endpoint_configuration_read + endpoint_configuration_read.address = AAZObjectType( + flags={"required": True}, + ) + cls._build_schema_ip_address_read(endpoint_configuration_read.address) + endpoint_configuration_read.port = AAZStrType( + flags={"required": True}, + ) + + _schema.address = cls._schema_endpoint_configuration_read.address + _schema.port = cls._schema_endpoint_configuration_read.port + + _schema_ip_address_space_read = None + + @classmethod + def _build_schema_ip_address_space_read(cls, _schema): + if cls._schema_ip_address_space_read is not None: + _schema.address_space = cls._schema_ip_address_space_read.address_space + _schema.resource_id = cls._schema_ip_address_space_read.resource_id + return + + cls._schema_ip_address_space_read = _schema_ip_address_space_read = AAZObjectType() + + ip_address_space_read = _schema_ip_address_space_read + ip_address_space_read.address_space = AAZStrType( + serialized_name="addressSpace", + ) + ip_address_space_read.resource_id = AAZStrType( + serialized_name="resourceId", + ) + + _schema.address_space = cls._schema_ip_address_space_read.address_space + _schema.resource_id = cls._schema_ip_address_space_read.resource_id + + _schema_ip_address_read = None + + @classmethod + def _build_schema_ip_address_read(cls, _schema): + if cls._schema_ip_address_read is not None: + _schema.address = cls._schema_ip_address_read.address + _schema.resource_id = cls._schema_ip_address_read.resource_id + return + + cls._schema_ip_address_read = _schema_ip_address_read = AAZObjectType() + + ip_address_read = _schema_ip_address_read + ip_address_read.address = AAZStrType() + ip_address_read.resource_id = AAZStrType( + serialized_name="resourceId", + ) + + _schema.address = cls._schema_ip_address_read.address + _schema.resource_id = cls._schema_ip_address_read.resource_id + + +__all__ = ["List"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_save_log_profile.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_save_log_profile.py new file mode 100644 index 00000000000..5b732a815c7 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_save_log_profile.py @@ -0,0 +1,337 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw firewall save-log-profile", +) +class SaveLogProfile(AAZCommand): + """Save Log Profile for Firewall + + :example: Save Log Profile for Firewall + az palo-alto cloudngfw firewall save-log-profile --resource-group MyResourceGroup -n MyCloudngfwFirewall --log-option "SAME_DESTINATION" --log-type "TRAFFIC" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/firewalls/{}/savelogprofile", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return None + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.firewall_name = AAZStrArg( + options=["-n", "--name", "--firewall-name"], + help="Firewall resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "LogSettings" + + _args_schema = cls._args_schema + _args_schema.application_insights = AAZObjectArg( + options=["--application-insights"], + arg_group="LogSettings", + help="Application Insight details", + ) + _args_schema.common_destination = AAZObjectArg( + options=["--common-destination"], + arg_group="LogSettings", + help="Common destination configurations", + ) + cls._build_args_log_destination_create(_args_schema.common_destination) + _args_schema.decrypt_log_destination = AAZObjectArg( + options=["--decrypt-destination", "--decrypt-log-destination"], + arg_group="LogSettings", + help="Decrypt destination configurations", + ) + cls._build_args_log_destination_create(_args_schema.decrypt_log_destination) + _args_schema.log_option = AAZStrArg( + options=["--log-option"], + arg_group="LogSettings", + help="Log option SAME/INDIVIDUAL", + enum={"INDIVIDUAL_DESTINATION": "INDIVIDUAL_DESTINATION", "SAME_DESTINATION": "SAME_DESTINATION"}, + ) + _args_schema.log_type = AAZStrArg( + options=["--log-type"], + arg_group="LogSettings", + help="One of possible log type", + enum={"AUDIT": "AUDIT", "DECRYPTION": "DECRYPTION", "DLP": "DLP", "THREAT": "THREAT", "TRAFFIC": "TRAFFIC", "WILDFIRE": "WILDFIRE"}, + ) + _args_schema.threat_log_destination = AAZObjectArg( + options=["--threat-destination", "--threat-log-destination"], + arg_group="LogSettings", + help="Threat destination configurations", + ) + cls._build_args_log_destination_create(_args_schema.threat_log_destination) + _args_schema.traffic_log_destination = AAZObjectArg( + options=["--traffic-destination", "--traffic-log-destination"], + arg_group="LogSettings", + help="Traffic destination configurations", + ) + cls._build_args_log_destination_create(_args_schema.traffic_log_destination) + + application_insights = cls._args_schema.application_insights + application_insights.id = AAZStrArg( + options=["id"], + help="Resource id for Application Insights", + ) + application_insights.key = AAZStrArg( + options=["key"], + help="Application Insights key", + ) + return cls._args_schema + + _args_log_destination_create = None + + @classmethod + def _build_args_log_destination_create(cls, _schema): + if cls._args_log_destination_create is not None: + _schema.event_hub_configurations = cls._args_log_destination_create.event_hub_configurations + _schema.monitor_configurations = cls._args_log_destination_create.monitor_configurations + _schema.storage_configurations = cls._args_log_destination_create.storage_configurations + return + + cls._args_log_destination_create = AAZObjectArg() + + log_destination_create = cls._args_log_destination_create + log_destination_create.event_hub_configurations = AAZObjectArg( + options=["event-hub-configurations"], + help="Event Hub configurations", + ) + log_destination_create.monitor_configurations = AAZObjectArg( + options=["monitor-configurations"], + help="Monitor Log configurations", + ) + log_destination_create.storage_configurations = AAZObjectArg( + options=["storage-configurations"], + help="Storage account configurations", + ) + + event_hub_configurations = cls._args_log_destination_create.event_hub_configurations + event_hub_configurations.id = AAZStrArg( + options=["id"], + help="Resource ID of EventHub", + ) + event_hub_configurations.name = AAZStrArg( + options=["name"], + help="EventHub name", + ) + event_hub_configurations.name_space = AAZStrArg( + options=["name-space"], + help="EventHub namespace", + ) + event_hub_configurations.policy_name = AAZStrArg( + options=["policy-name"], + help="EventHub policy name", + ) + event_hub_configurations.subscription_id = AAZStrArg( + options=["subscription-id"], + help="Subscription Id", + ) + + monitor_configurations = cls._args_log_destination_create.monitor_configurations + monitor_configurations.id = AAZStrArg( + options=["id"], + help="Resource ID of MonitorLog", + ) + monitor_configurations.primary_key = AAZStrArg( + options=["primary-key"], + help="Primary Key value for Monitor", + ) + monitor_configurations.secondary_key = AAZStrArg( + options=["secondary-key"], + help="Secondary Key value for Monitor", + ) + monitor_configurations.subscription_id = AAZStrArg( + options=["subscription-id"], + help="Subscription Id", + ) + monitor_configurations.workspace = AAZStrArg( + options=["workspace"], + help="MonitorLog workspace", + ) + + storage_configurations = cls._args_log_destination_create.storage_configurations + storage_configurations.account_name = AAZStrArg( + options=["account-name"], + help="Storage account name", + ) + storage_configurations.id = AAZStrArg( + options=["id"], + help="Resource ID of storage account", + ) + storage_configurations.subscription_id = AAZStrArg( + options=["subscription-id"], + help="Subscription Id", + ) + + _schema.event_hub_configurations = cls._args_log_destination_create.event_hub_configurations + _schema.monitor_configurations = cls._args_log_destination_create.monitor_configurations + _schema.storage_configurations = cls._args_log_destination_create.storage_configurations + + def _execute_operations(self): + self.pre_operations() + self.FirewallsSaveLogProfile(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class FirewallsSaveLogProfile(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [204]: + return self.on_204(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls/{firewallName}/saveLogProfile", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "firewallName", self.ctx.args.firewall_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"client_flatten": True}} + ) + _builder.set_prop("applicationInsights", AAZObjectType, ".application_insights") + _SaveLogProfileHelper._build_schema_log_destination_create(_builder.set_prop("commonDestination", AAZObjectType, ".common_destination")) + _SaveLogProfileHelper._build_schema_log_destination_create(_builder.set_prop("decryptLogDestination", AAZObjectType, ".decrypt_log_destination")) + _builder.set_prop("logOption", AAZStrType, ".log_option") + _builder.set_prop("logType", AAZStrType, ".log_type") + _SaveLogProfileHelper._build_schema_log_destination_create(_builder.set_prop("threatLogDestination", AAZObjectType, ".threat_log_destination")) + _SaveLogProfileHelper._build_schema_log_destination_create(_builder.set_prop("trafficLogDestination", AAZObjectType, ".traffic_log_destination")) + + application_insights = _builder.get(".applicationInsights") + if application_insights is not None: + application_insights.set_prop("id", AAZStrType, ".id") + application_insights.set_prop("key", AAZStrType, ".key") + + return self.serialize_content(_content_value) + + def on_204(self, session): + pass + + +class _SaveLogProfileHelper: + """Helper class for SaveLogProfile""" + + @classmethod + def _build_schema_log_destination_create(cls, _builder): + if _builder is None: + return + _builder.set_prop("eventHubConfigurations", AAZObjectType, ".event_hub_configurations") + _builder.set_prop("monitorConfigurations", AAZObjectType, ".monitor_configurations") + _builder.set_prop("storageConfigurations", AAZObjectType, ".storage_configurations") + + event_hub_configurations = _builder.get(".eventHubConfigurations") + if event_hub_configurations is not None: + event_hub_configurations.set_prop("id", AAZStrType, ".id") + event_hub_configurations.set_prop("name", AAZStrType, ".name") + event_hub_configurations.set_prop("nameSpace", AAZStrType, ".name_space") + event_hub_configurations.set_prop("policyName", AAZStrType, ".policy_name") + event_hub_configurations.set_prop("subscriptionId", AAZStrType, ".subscription_id") + + monitor_configurations = _builder.get(".monitorConfigurations") + if monitor_configurations is not None: + monitor_configurations.set_prop("id", AAZStrType, ".id") + monitor_configurations.set_prop("primaryKey", AAZStrType, ".primary_key") + monitor_configurations.set_prop("secondaryKey", AAZStrType, ".secondary_key") + monitor_configurations.set_prop("subscriptionId", AAZStrType, ".subscription_id") + monitor_configurations.set_prop("workspace", AAZStrType, ".workspace") + + storage_configurations = _builder.get(".storageConfigurations") + if storage_configurations is not None: + storage_configurations.set_prop("accountName", AAZStrType, ".account_name") + storage_configurations.set_prop("id", AAZStrType, ".id") + storage_configurations.set_prop("subscriptionId", AAZStrType, ".subscription_id") + + +__all__ = ["SaveLogProfile"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_show.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_show.py new file mode 100644 index 00000000000..123e9bcc2b1 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_show.py @@ -0,0 +1,522 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw firewall show", +) +class Show(AAZCommand): + """Get a FirewallResource + + :example: Get a FirewallResource + az palo-alto cloudngfw firewall show --name MyCloudngfwFirewall -g MyResourceGroup + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/firewalls/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.firewall_name = AAZStrArg( + options=["-n", "--name", "--firewall-name"], + help="Firewall resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FirewallsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class FirewallsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls/{firewallName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "firewallName", self.ctx.args.firewall_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.identity = AAZObjectType() + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = cls._schema_on_200.properties + properties.associated_rulestack = AAZObjectType( + serialized_name="associatedRulestack", + ) + properties.dns_settings = AAZObjectType( + serialized_name="dnsSettings", + flags={"required": True}, + ) + properties.front_end_settings = AAZListType( + serialized_name="frontEndSettings", + ) + properties.is_panorama_managed = AAZStrType( + serialized_name="isPanoramaManaged", + ) + properties.marketplace_details = AAZObjectType( + serialized_name="marketplaceDetails", + flags={"required": True}, + ) + properties.network_profile = AAZObjectType( + serialized_name="networkProfile", + flags={"required": True}, + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.panorama_config = AAZObjectType( + serialized_name="panoramaConfig", + ) + properties.plan_data = AAZObjectType( + serialized_name="planData", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + associated_rulestack = cls._schema_on_200.properties.associated_rulestack + associated_rulestack.location = AAZStrType() + associated_rulestack.resource_id = AAZStrType( + serialized_name="resourceId", + ) + associated_rulestack.rulestack_id = AAZStrType( + serialized_name="rulestackId", + ) + + dns_settings = cls._schema_on_200.properties.dns_settings + dns_settings.dns_servers = AAZListType( + serialized_name="dnsServers", + ) + dns_settings.enable_dns_proxy = AAZStrType( + serialized_name="enableDnsProxy", + ) + dns_settings.enabled_dns_type = AAZStrType( + serialized_name="enabledDnsType", + ) + + dns_servers = cls._schema_on_200.properties.dns_settings.dns_servers + dns_servers.Element = AAZObjectType() + _ShowHelper._build_schema_ip_address_read(dns_servers.Element) + + front_end_settings = cls._schema_on_200.properties.front_end_settings + front_end_settings.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.front_end_settings.Element + _element.backend_configuration = AAZObjectType( + serialized_name="backendConfiguration", + flags={"required": True}, + ) + _ShowHelper._build_schema_endpoint_configuration_read(_element.backend_configuration) + _element.frontend_configuration = AAZObjectType( + serialized_name="frontendConfiguration", + flags={"required": True}, + ) + _ShowHelper._build_schema_endpoint_configuration_read(_element.frontend_configuration) + _element.name = AAZStrType( + flags={"required": True}, + ) + _element.protocol = AAZStrType( + flags={"required": True}, + ) + + marketplace_details = cls._schema_on_200.properties.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrType( + serialized_name="marketplaceSubscriptionId", + flags={"read_only": True}, + ) + marketplace_details.marketplace_subscription_status = AAZStrType( + serialized_name="marketplaceSubscriptionStatus", + ) + marketplace_details.offer_id = AAZStrType( + serialized_name="offerId", + flags={"required": True}, + ) + marketplace_details.publisher_id = AAZStrType( + serialized_name="publisherId", + flags={"required": True}, + ) + + network_profile = cls._schema_on_200.properties.network_profile + network_profile.egress_nat_ip = AAZListType( + serialized_name="egressNatIp", + ) + network_profile.enable_egress_nat = AAZStrType( + serialized_name="enableEgressNat", + flags={"required": True}, + ) + network_profile.network_type = AAZStrType( + serialized_name="networkType", + flags={"required": True}, + ) + network_profile.public_ips = AAZListType( + serialized_name="publicIps", + flags={"required": True}, + ) + network_profile.vnet_configuration = AAZObjectType( + serialized_name="vnetConfiguration", + ) + network_profile.vwan_configuration = AAZObjectType( + serialized_name="vwanConfiguration", + ) + + egress_nat_ip = cls._schema_on_200.properties.network_profile.egress_nat_ip + egress_nat_ip.Element = AAZObjectType() + _ShowHelper._build_schema_ip_address_read(egress_nat_ip.Element) + + public_ips = cls._schema_on_200.properties.network_profile.public_ips + public_ips.Element = AAZObjectType() + _ShowHelper._build_schema_ip_address_read(public_ips.Element) + + vnet_configuration = cls._schema_on_200.properties.network_profile.vnet_configuration + vnet_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + _ShowHelper._build_schema_ip_address_read(vnet_configuration.ip_of_trust_subnet_for_udr) + vnet_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + flags={"required": True}, + ) + _ShowHelper._build_schema_ip_address_space_read(vnet_configuration.trust_subnet) + vnet_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + flags={"required": True}, + ) + _ShowHelper._build_schema_ip_address_space_read(vnet_configuration.un_trust_subnet) + vnet_configuration.vnet = AAZObjectType( + flags={"required": True}, + ) + _ShowHelper._build_schema_ip_address_space_read(vnet_configuration.vnet) + + vwan_configuration = cls._schema_on_200.properties.network_profile.vwan_configuration + vwan_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + _ShowHelper._build_schema_ip_address_read(vwan_configuration.ip_of_trust_subnet_for_udr) + vwan_configuration.network_virtual_appliance_id = AAZStrType( + serialized_name="networkVirtualApplianceId", + ) + vwan_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + ) + _ShowHelper._build_schema_ip_address_space_read(vwan_configuration.trust_subnet) + vwan_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + ) + _ShowHelper._build_schema_ip_address_space_read(vwan_configuration.un_trust_subnet) + vwan_configuration.v_hub = AAZObjectType( + serialized_name="vHub", + flags={"required": True}, + ) + _ShowHelper._build_schema_ip_address_space_read(vwan_configuration.v_hub) + + panorama_config = cls._schema_on_200.properties.panorama_config + panorama_config.cg_name = AAZStrType( + serialized_name="cgName", + flags={"read_only": True}, + ) + panorama_config.config_string = AAZStrType( + serialized_name="configString", + flags={"required": True}, + ) + panorama_config.dg_name = AAZStrType( + serialized_name="dgName", + flags={"read_only": True}, + ) + panorama_config.host_name = AAZStrType( + serialized_name="hostName", + flags={"read_only": True}, + ) + panorama_config.panorama_server = AAZStrType( + serialized_name="panoramaServer", + flags={"read_only": True}, + ) + panorama_config.panorama_server2 = AAZStrType( + serialized_name="panoramaServer2", + flags={"read_only": True}, + ) + panorama_config.tpl_name = AAZStrType( + serialized_name="tplName", + flags={"read_only": True}, + ) + panorama_config.vm_auth_key = AAZStrType( + serialized_name="vmAuthKey", + flags={"read_only": True}, + ) + + plan_data = cls._schema_on_200.properties.plan_data + plan_data.billing_cycle = AAZStrType( + serialized_name="billingCycle", + flags={"required": True}, + ) + plan_data.effective_date = AAZStrType( + serialized_name="effectiveDate", + flags={"read_only": True}, + ) + plan_data.plan_id = AAZStrType( + serialized_name="planId", + flags={"required": True}, + ) + plan_data.usage_type = AAZStrType( + serialized_name="usageType", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + _schema_endpoint_configuration_read = None + + @classmethod + def _build_schema_endpoint_configuration_read(cls, _schema): + if cls._schema_endpoint_configuration_read is not None: + _schema.address = cls._schema_endpoint_configuration_read.address + _schema.port = cls._schema_endpoint_configuration_read.port + return + + cls._schema_endpoint_configuration_read = _schema_endpoint_configuration_read = AAZObjectType() + + endpoint_configuration_read = _schema_endpoint_configuration_read + endpoint_configuration_read.address = AAZObjectType( + flags={"required": True}, + ) + cls._build_schema_ip_address_read(endpoint_configuration_read.address) + endpoint_configuration_read.port = AAZStrType( + flags={"required": True}, + ) + + _schema.address = cls._schema_endpoint_configuration_read.address + _schema.port = cls._schema_endpoint_configuration_read.port + + _schema_ip_address_space_read = None + + @classmethod + def _build_schema_ip_address_space_read(cls, _schema): + if cls._schema_ip_address_space_read is not None: + _schema.address_space = cls._schema_ip_address_space_read.address_space + _schema.resource_id = cls._schema_ip_address_space_read.resource_id + return + + cls._schema_ip_address_space_read = _schema_ip_address_space_read = AAZObjectType() + + ip_address_space_read = _schema_ip_address_space_read + ip_address_space_read.address_space = AAZStrType( + serialized_name="addressSpace", + ) + ip_address_space_read.resource_id = AAZStrType( + serialized_name="resourceId", + ) + + _schema.address_space = cls._schema_ip_address_space_read.address_space + _schema.resource_id = cls._schema_ip_address_space_read.resource_id + + _schema_ip_address_read = None + + @classmethod + def _build_schema_ip_address_read(cls, _schema): + if cls._schema_ip_address_read is not None: + _schema.address = cls._schema_ip_address_read.address + _schema.resource_id = cls._schema_ip_address_read.resource_id + return + + cls._schema_ip_address_read = _schema_ip_address_read = AAZObjectType() + + ip_address_read = _schema_ip_address_read + ip_address_read.address = AAZStrType() + ip_address_read.resource_id = AAZStrType( + serialized_name="resourceId", + ) + + _schema.address = cls._schema_ip_address_read.address + _schema.resource_id = cls._schema_ip_address_read.resource_id + + +__all__ = ["Show"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_show_log_profile.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_show_log_profile.py new file mode 100644 index 00000000000..cddbbb6ddaf --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_show_log_profile.py @@ -0,0 +1,255 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw firewall show-log-profile", +) +class ShowLogProfile(AAZCommand): + """Get Log Profile for Firewall + + :example: Get Log Profile for Firewall + az palo-alto cloudngfw firewall show-log-profile --resource-group MyResourceGroup -n MyCloudngfwFirewall + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/firewalls/{}/getlogprofile", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.firewall_name = AAZStrArg( + options=["-n", "--name", "--firewall-name"], + help="Firewall resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FirewallsGetLogProfile(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class FirewallsGetLogProfile(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls/{firewallName}/getLogProfile", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "firewallName", self.ctx.args.firewall_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.application_insights = AAZObjectType( + serialized_name="applicationInsights", + ) + _schema_on_200.common_destination = AAZObjectType( + serialized_name="commonDestination", + ) + _ShowLogProfileHelper._build_schema_log_destination_read(_schema_on_200.common_destination) + _schema_on_200.decrypt_log_destination = AAZObjectType( + serialized_name="decryptLogDestination", + ) + _ShowLogProfileHelper._build_schema_log_destination_read(_schema_on_200.decrypt_log_destination) + _schema_on_200.log_option = AAZStrType( + serialized_name="logOption", + ) + _schema_on_200.log_type = AAZStrType( + serialized_name="logType", + ) + _schema_on_200.threat_log_destination = AAZObjectType( + serialized_name="threatLogDestination", + ) + _ShowLogProfileHelper._build_schema_log_destination_read(_schema_on_200.threat_log_destination) + _schema_on_200.traffic_log_destination = AAZObjectType( + serialized_name="trafficLogDestination", + ) + _ShowLogProfileHelper._build_schema_log_destination_read(_schema_on_200.traffic_log_destination) + + application_insights = cls._schema_on_200.application_insights + application_insights.id = AAZStrType() + application_insights.key = AAZStrType() + + return cls._schema_on_200 + + +class _ShowLogProfileHelper: + """Helper class for ShowLogProfile""" + + _schema_log_destination_read = None + + @classmethod + def _build_schema_log_destination_read(cls, _schema): + if cls._schema_log_destination_read is not None: + _schema.event_hub_configurations = cls._schema_log_destination_read.event_hub_configurations + _schema.monitor_configurations = cls._schema_log_destination_read.monitor_configurations + _schema.storage_configurations = cls._schema_log_destination_read.storage_configurations + return + + cls._schema_log_destination_read = _schema_log_destination_read = AAZObjectType() + + log_destination_read = _schema_log_destination_read + log_destination_read.event_hub_configurations = AAZObjectType( + serialized_name="eventHubConfigurations", + ) + log_destination_read.monitor_configurations = AAZObjectType( + serialized_name="monitorConfigurations", + ) + log_destination_read.storage_configurations = AAZObjectType( + serialized_name="storageConfigurations", + ) + + event_hub_configurations = _schema_log_destination_read.event_hub_configurations + event_hub_configurations.id = AAZStrType() + event_hub_configurations.name = AAZStrType() + event_hub_configurations.name_space = AAZStrType( + serialized_name="nameSpace", + ) + event_hub_configurations.policy_name = AAZStrType( + serialized_name="policyName", + ) + event_hub_configurations.subscription_id = AAZStrType( + serialized_name="subscriptionId", + ) + + monitor_configurations = _schema_log_destination_read.monitor_configurations + monitor_configurations.id = AAZStrType() + monitor_configurations.primary_key = AAZStrType( + serialized_name="primaryKey", + ) + monitor_configurations.secondary_key = AAZStrType( + serialized_name="secondaryKey", + ) + monitor_configurations.subscription_id = AAZStrType( + serialized_name="subscriptionId", + ) + monitor_configurations.workspace = AAZStrType() + + storage_configurations = _schema_log_destination_read.storage_configurations + storage_configurations.account_name = AAZStrType( + serialized_name="accountName", + ) + storage_configurations.id = AAZStrType() + storage_configurations.subscription_id = AAZStrType( + serialized_name="subscriptionId", + ) + + _schema.event_hub_configurations = cls._schema_log_destination_read.event_hub_configurations + _schema.monitor_configurations = cls._schema_log_destination_read.monitor_configurations + _schema.storage_configurations = cls._schema_log_destination_read.storage_configurations + + +__all__ = ["ShowLogProfile"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_show_support_info.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_show_support_info.py new file mode 100644 index 00000000000..10bab7bad44 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_show_support_info.py @@ -0,0 +1,207 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw firewall show-support-info", +) +class ShowSupportInfo(AAZCommand): + """Support info for firewall. + + :example: Get support info for firewall. + az palo-alto cloudngfw firewall show-support-info --resource-group MyResourceGroup -n MyCloudngfwFirewall + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/firewalls/{}/getsupportinfo", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.firewall_name = AAZStrArg( + options=["-n", "--name", "--firewall-name"], + help="Firewall resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.email = AAZStrArg( + options=["--email"], + help="email address on behalf of which this API called", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FirewallsGetSupportInfo(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class FirewallsGetSupportInfo(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls/{firewallName}/getSupportInfo", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "firewallName", self.ctx.args.firewall_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "email", self.ctx.args.email, + ), + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.account_id = AAZStrType( + serialized_name="accountId", + ) + _schema_on_200.account_registered = AAZStrType( + serialized_name="accountRegistered", + ) + _schema_on_200.free_trial = AAZStrType( + serialized_name="freeTrial", + ) + _schema_on_200.free_trial_credit_left = AAZIntType( + serialized_name="freeTrialCreditLeft", + ) + _schema_on_200.free_trial_days_left = AAZIntType( + serialized_name="freeTrialDaysLeft", + ) + _schema_on_200.help_url = AAZStrType( + serialized_name="helpURL", + ) + _schema_on_200.product_serial = AAZStrType( + serialized_name="productSerial", + ) + _schema_on_200.product_sku = AAZStrType( + serialized_name="productSku", + ) + _schema_on_200.register_url = AAZStrType( + serialized_name="registerURL", + ) + _schema_on_200.support_url = AAZStrType( + serialized_name="supportURL", + ) + _schema_on_200.user_domain_supported = AAZStrType( + serialized_name="userDomainSupported", + ) + _schema_on_200.user_registered = AAZStrType( + serialized_name="userRegistered", + ) + + return cls._schema_on_200 + + +class _ShowSupportInfoHelper: + """Helper class for ShowSupportInfo""" + + +__all__ = ["ShowSupportInfo"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_update.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_update.py new file mode 100644 index 00000000000..9aa22f1e821 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_update.py @@ -0,0 +1,768 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw firewall update", +) +class Update(AAZCommand): + """Update a FirewallResource + + :example: Update a FirewallResource + az palo-alto cloudngfw firewall update --name MyCloudngfwFirewall -g MyResourceGroup --tags "{tagName:value}" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/firewalls/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + AZ_SUPPORT_GENERIC_UPDATE = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.firewall_name = AAZStrArg( + options=["-n", "--name", "--firewall-name"], + help="Firewall resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Resource" + + _args_schema = cls._args_schema + _args_schema.identity = AAZObjectArg( + options=["--identity"], + arg_group="Resource", + help="The managed service identities assigned to this resource.", + nullable=True, + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Resource", + help="Resource tags.", + nullable=True, + ) + + identity = cls._args_schema.identity + identity.type = AAZStrArg( + options=["type"], + help="The type of managed identity assigned to this resource.", + enum={"None": "None", "SystemAssigned": "SystemAssigned", "SystemAssigned,UserAssigned": "SystemAssigned,UserAssigned", "UserAssigned": "UserAssigned"}, + ) + identity.user_assigned_identities = AAZDictArg( + options=["user-assigned-identities"], + help="The identities assigned to this resource by the user.", + nullable=True, + ) + + user_assigned_identities = cls._args_schema.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectArg( + nullable=True, + ) + + _element = cls._args_schema.identity.user_assigned_identities.Element + _element.client_id = AAZStrArg( + options=["client-id"], + help="The active directory client identifier for this principal.", + nullable=True, + ) + _element.principal_id = AAZStrArg( + options=["principal-id"], + help="The active directory identifier for this principal.", + nullable=True, + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg( + nullable=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FirewallsGet(ctx=self.ctx)() + self.pre_instance_update(self.ctx.vars.instance) + self.InstanceUpdateByJson(ctx=self.ctx)() + self.InstanceUpdateByGeneric(ctx=self.ctx)() + self.post_instance_update(self.ctx.vars.instance) + yield self.FirewallsCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + @register_callback + def pre_instance_update(self, instance): + pass + + @register_callback + def post_instance_update(self, instance): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class FirewallsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls/{firewallName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "firewallName", self.ctx.args.firewall_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + _UpdateHelper._build_schema_firewall_resource_read(cls._schema_on_200) + + return cls._schema_on_200 + + class FirewallsCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200, 201]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls/{firewallName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "firewallName", self.ctx.args.firewall_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + value=self.ctx.vars.instance, + ) + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + _UpdateHelper._build_schema_firewall_resource_read(cls._schema_on_200_201) + + return cls._schema_on_200_201 + + class InstanceUpdateByJson(AAZJsonInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance(self.ctx.vars.instance) + + def _update_instance(self, instance): + _instance_value, _builder = self.new_content_builder( + self.ctx.args, + value=instance, + typ=AAZObjectType + ) + _builder.set_prop("identity", AAZObjectType, ".identity") + _builder.set_prop("tags", AAZDictType, ".tags") + + identity = _builder.get(".identity") + if identity is not None: + identity.set_prop("type", AAZStrType, ".type", typ_kwargs={"flags": {"required": True}}) + identity.set_prop("userAssignedIdentities", AAZDictType, ".user_assigned_identities") + + user_assigned_identities = _builder.get(".identity.userAssignedIdentities") + if user_assigned_identities is not None: + user_assigned_identities.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".identity.userAssignedIdentities{}") + if _elements is not None: + _elements.set_prop("clientId", AAZStrType, ".client_id") + _elements.set_prop("principalId", AAZStrType, ".principal_id") + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return _instance_value + + class InstanceUpdateByGeneric(AAZGenericInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance_by_generic( + self.ctx.vars.instance, + self.ctx.generic_update_args + ) + + +class _UpdateHelper: + """Helper class for Update""" + + _schema_endpoint_configuration_read = None + + @classmethod + def _build_schema_endpoint_configuration_read(cls, _schema): + if cls._schema_endpoint_configuration_read is not None: + _schema.address = cls._schema_endpoint_configuration_read.address + _schema.port = cls._schema_endpoint_configuration_read.port + return + + cls._schema_endpoint_configuration_read = _schema_endpoint_configuration_read = AAZObjectType() + + endpoint_configuration_read = _schema_endpoint_configuration_read + endpoint_configuration_read.address = AAZObjectType( + flags={"required": True}, + ) + cls._build_schema_ip_address_read(endpoint_configuration_read.address) + endpoint_configuration_read.port = AAZStrType( + flags={"required": True}, + ) + + _schema.address = cls._schema_endpoint_configuration_read.address + _schema.port = cls._schema_endpoint_configuration_read.port + + _schema_firewall_resource_read = None + + @classmethod + def _build_schema_firewall_resource_read(cls, _schema): + if cls._schema_firewall_resource_read is not None: + _schema.id = cls._schema_firewall_resource_read.id + _schema.identity = cls._schema_firewall_resource_read.identity + _schema.location = cls._schema_firewall_resource_read.location + _schema.name = cls._schema_firewall_resource_read.name + _schema.properties = cls._schema_firewall_resource_read.properties + _schema.system_data = cls._schema_firewall_resource_read.system_data + _schema.tags = cls._schema_firewall_resource_read.tags + _schema.type = cls._schema_firewall_resource_read.type + return + + cls._schema_firewall_resource_read = _schema_firewall_resource_read = AAZObjectType() + + firewall_resource_read = _schema_firewall_resource_read + firewall_resource_read.id = AAZStrType( + flags={"read_only": True}, + ) + firewall_resource_read.identity = AAZObjectType() + firewall_resource_read.location = AAZStrType( + flags={"required": True}, + ) + firewall_resource_read.name = AAZStrType( + flags={"read_only": True}, + ) + firewall_resource_read.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + firewall_resource_read.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + firewall_resource_read.tags = AAZDictType() + firewall_resource_read.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = _schema_firewall_resource_read.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = _schema_firewall_resource_read.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = _schema_firewall_resource_read.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = _schema_firewall_resource_read.properties + properties.associated_rulestack = AAZObjectType( + serialized_name="associatedRulestack", + ) + properties.dns_settings = AAZObjectType( + serialized_name="dnsSettings", + flags={"required": True}, + ) + properties.front_end_settings = AAZListType( + serialized_name="frontEndSettings", + ) + properties.is_panorama_managed = AAZStrType( + serialized_name="isPanoramaManaged", + ) + properties.marketplace_details = AAZObjectType( + serialized_name="marketplaceDetails", + flags={"required": True}, + ) + properties.network_profile = AAZObjectType( + serialized_name="networkProfile", + flags={"required": True}, + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.panorama_config = AAZObjectType( + serialized_name="panoramaConfig", + ) + properties.plan_data = AAZObjectType( + serialized_name="planData", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + associated_rulestack = _schema_firewall_resource_read.properties.associated_rulestack + associated_rulestack.location = AAZStrType() + associated_rulestack.resource_id = AAZStrType( + serialized_name="resourceId", + ) + associated_rulestack.rulestack_id = AAZStrType( + serialized_name="rulestackId", + ) + + dns_settings = _schema_firewall_resource_read.properties.dns_settings + dns_settings.dns_servers = AAZListType( + serialized_name="dnsServers", + ) + dns_settings.enable_dns_proxy = AAZStrType( + serialized_name="enableDnsProxy", + ) + dns_settings.enabled_dns_type = AAZStrType( + serialized_name="enabledDnsType", + ) + + dns_servers = _schema_firewall_resource_read.properties.dns_settings.dns_servers + dns_servers.Element = AAZObjectType() + cls._build_schema_ip_address_read(dns_servers.Element) + + front_end_settings = _schema_firewall_resource_read.properties.front_end_settings + front_end_settings.Element = AAZObjectType() + + _element = _schema_firewall_resource_read.properties.front_end_settings.Element + _element.backend_configuration = AAZObjectType( + serialized_name="backendConfiguration", + flags={"required": True}, + ) + cls._build_schema_endpoint_configuration_read(_element.backend_configuration) + _element.frontend_configuration = AAZObjectType( + serialized_name="frontendConfiguration", + flags={"required": True}, + ) + cls._build_schema_endpoint_configuration_read(_element.frontend_configuration) + _element.name = AAZStrType( + flags={"required": True}, + ) + _element.protocol = AAZStrType( + flags={"required": True}, + ) + + marketplace_details = _schema_firewall_resource_read.properties.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrType( + serialized_name="marketplaceSubscriptionId", + flags={"read_only": True}, + ) + marketplace_details.marketplace_subscription_status = AAZStrType( + serialized_name="marketplaceSubscriptionStatus", + ) + marketplace_details.offer_id = AAZStrType( + serialized_name="offerId", + flags={"required": True}, + ) + marketplace_details.publisher_id = AAZStrType( + serialized_name="publisherId", + flags={"required": True}, + ) + + network_profile = _schema_firewall_resource_read.properties.network_profile + network_profile.egress_nat_ip = AAZListType( + serialized_name="egressNatIp", + ) + network_profile.enable_egress_nat = AAZStrType( + serialized_name="enableEgressNat", + flags={"required": True}, + ) + network_profile.network_type = AAZStrType( + serialized_name="networkType", + flags={"required": True}, + ) + network_profile.public_ips = AAZListType( + serialized_name="publicIps", + flags={"required": True}, + ) + network_profile.vnet_configuration = AAZObjectType( + serialized_name="vnetConfiguration", + ) + network_profile.vwan_configuration = AAZObjectType( + serialized_name="vwanConfiguration", + ) + + egress_nat_ip = _schema_firewall_resource_read.properties.network_profile.egress_nat_ip + egress_nat_ip.Element = AAZObjectType() + cls._build_schema_ip_address_read(egress_nat_ip.Element) + + public_ips = _schema_firewall_resource_read.properties.network_profile.public_ips + public_ips.Element = AAZObjectType() + cls._build_schema_ip_address_read(public_ips.Element) + + vnet_configuration = _schema_firewall_resource_read.properties.network_profile.vnet_configuration + vnet_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + cls._build_schema_ip_address_read(vnet_configuration.ip_of_trust_subnet_for_udr) + vnet_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + flags={"required": True}, + ) + cls._build_schema_ip_address_space_read(vnet_configuration.trust_subnet) + vnet_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + flags={"required": True}, + ) + cls._build_schema_ip_address_space_read(vnet_configuration.un_trust_subnet) + vnet_configuration.vnet = AAZObjectType( + flags={"required": True}, + ) + cls._build_schema_ip_address_space_read(vnet_configuration.vnet) + + vwan_configuration = _schema_firewall_resource_read.properties.network_profile.vwan_configuration + vwan_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + cls._build_schema_ip_address_read(vwan_configuration.ip_of_trust_subnet_for_udr) + vwan_configuration.network_virtual_appliance_id = AAZStrType( + serialized_name="networkVirtualApplianceId", + ) + vwan_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + ) + cls._build_schema_ip_address_space_read(vwan_configuration.trust_subnet) + vwan_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + ) + cls._build_schema_ip_address_space_read(vwan_configuration.un_trust_subnet) + vwan_configuration.v_hub = AAZObjectType( + serialized_name="vHub", + flags={"required": True}, + ) + cls._build_schema_ip_address_space_read(vwan_configuration.v_hub) + + panorama_config = _schema_firewall_resource_read.properties.panorama_config + panorama_config.cg_name = AAZStrType( + serialized_name="cgName", + flags={"read_only": True}, + ) + panorama_config.config_string = AAZStrType( + serialized_name="configString", + flags={"required": True}, + ) + panorama_config.dg_name = AAZStrType( + serialized_name="dgName", + flags={"read_only": True}, + ) + panorama_config.host_name = AAZStrType( + serialized_name="hostName", + flags={"read_only": True}, + ) + panorama_config.panorama_server = AAZStrType( + serialized_name="panoramaServer", + flags={"read_only": True}, + ) + panorama_config.panorama_server2 = AAZStrType( + serialized_name="panoramaServer2", + flags={"read_only": True}, + ) + panorama_config.tpl_name = AAZStrType( + serialized_name="tplName", + flags={"read_only": True}, + ) + panorama_config.vm_auth_key = AAZStrType( + serialized_name="vmAuthKey", + flags={"read_only": True}, + ) + + plan_data = _schema_firewall_resource_read.properties.plan_data + plan_data.billing_cycle = AAZStrType( + serialized_name="billingCycle", + flags={"required": True}, + ) + plan_data.effective_date = AAZStrType( + serialized_name="effectiveDate", + flags={"read_only": True}, + ) + plan_data.plan_id = AAZStrType( + serialized_name="planId", + flags={"required": True}, + ) + plan_data.usage_type = AAZStrType( + serialized_name="usageType", + ) + + system_data = _schema_firewall_resource_read.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = _schema_firewall_resource_read.tags + tags.Element = AAZStrType() + + _schema.id = cls._schema_firewall_resource_read.id + _schema.identity = cls._schema_firewall_resource_read.identity + _schema.location = cls._schema_firewall_resource_read.location + _schema.name = cls._schema_firewall_resource_read.name + _schema.properties = cls._schema_firewall_resource_read.properties + _schema.system_data = cls._schema_firewall_resource_read.system_data + _schema.tags = cls._schema_firewall_resource_read.tags + _schema.type = cls._schema_firewall_resource_read.type + + _schema_ip_address_space_read = None + + @classmethod + def _build_schema_ip_address_space_read(cls, _schema): + if cls._schema_ip_address_space_read is not None: + _schema.address_space = cls._schema_ip_address_space_read.address_space + _schema.resource_id = cls._schema_ip_address_space_read.resource_id + return + + cls._schema_ip_address_space_read = _schema_ip_address_space_read = AAZObjectType() + + ip_address_space_read = _schema_ip_address_space_read + ip_address_space_read.address_space = AAZStrType( + serialized_name="addressSpace", + ) + ip_address_space_read.resource_id = AAZStrType( + serialized_name="resourceId", + ) + + _schema.address_space = cls._schema_ip_address_space_read.address_space + _schema.resource_id = cls._schema_ip_address_space_read.resource_id + + _schema_ip_address_read = None + + @classmethod + def _build_schema_ip_address_read(cls, _schema): + if cls._schema_ip_address_read is not None: + _schema.address = cls._schema_ip_address_read.address + _schema.resource_id = cls._schema_ip_address_read.resource_id + return + + cls._schema_ip_address_read = _schema_ip_address_read = AAZObjectType() + + ip_address_read = _schema_ip_address_read + ip_address_read.address = AAZStrType() + ip_address_read.resource_id = AAZStrType( + serialized_name="resourceId", + ) + + _schema.address = cls._schema_ip_address_read.address + _schema.resource_id = cls._schema_ip_address_read.resource_id + + +__all__ = ["Update"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_wait.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_wait.py new file mode 100644 index 00000000000..f076909b9bf --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/_wait.py @@ -0,0 +1,518 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw firewall wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/firewalls/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.firewall_name = AAZStrArg( + options=["-n", "--name", "--firewall-name"], + help="Firewall resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FirewallsGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class FirewallsGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls/{firewallName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "firewallName", self.ctx.args.firewall_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.identity = AAZObjectType() + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = cls._schema_on_200.properties + properties.associated_rulestack = AAZObjectType( + serialized_name="associatedRulestack", + ) + properties.dns_settings = AAZObjectType( + serialized_name="dnsSettings", + flags={"required": True}, + ) + properties.front_end_settings = AAZListType( + serialized_name="frontEndSettings", + ) + properties.is_panorama_managed = AAZStrType( + serialized_name="isPanoramaManaged", + ) + properties.marketplace_details = AAZObjectType( + serialized_name="marketplaceDetails", + flags={"required": True}, + ) + properties.network_profile = AAZObjectType( + serialized_name="networkProfile", + flags={"required": True}, + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.panorama_config = AAZObjectType( + serialized_name="panoramaConfig", + ) + properties.plan_data = AAZObjectType( + serialized_name="planData", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + associated_rulestack = cls._schema_on_200.properties.associated_rulestack + associated_rulestack.location = AAZStrType() + associated_rulestack.resource_id = AAZStrType( + serialized_name="resourceId", + ) + associated_rulestack.rulestack_id = AAZStrType( + serialized_name="rulestackId", + ) + + dns_settings = cls._schema_on_200.properties.dns_settings + dns_settings.dns_servers = AAZListType( + serialized_name="dnsServers", + ) + dns_settings.enable_dns_proxy = AAZStrType( + serialized_name="enableDnsProxy", + ) + dns_settings.enabled_dns_type = AAZStrType( + serialized_name="enabledDnsType", + ) + + dns_servers = cls._schema_on_200.properties.dns_settings.dns_servers + dns_servers.Element = AAZObjectType() + _WaitHelper._build_schema_ip_address_read(dns_servers.Element) + + front_end_settings = cls._schema_on_200.properties.front_end_settings + front_end_settings.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.front_end_settings.Element + _element.backend_configuration = AAZObjectType( + serialized_name="backendConfiguration", + flags={"required": True}, + ) + _WaitHelper._build_schema_endpoint_configuration_read(_element.backend_configuration) + _element.frontend_configuration = AAZObjectType( + serialized_name="frontendConfiguration", + flags={"required": True}, + ) + _WaitHelper._build_schema_endpoint_configuration_read(_element.frontend_configuration) + _element.name = AAZStrType( + flags={"required": True}, + ) + _element.protocol = AAZStrType( + flags={"required": True}, + ) + + marketplace_details = cls._schema_on_200.properties.marketplace_details + marketplace_details.marketplace_subscription_id = AAZStrType( + serialized_name="marketplaceSubscriptionId", + flags={"read_only": True}, + ) + marketplace_details.marketplace_subscription_status = AAZStrType( + serialized_name="marketplaceSubscriptionStatus", + ) + marketplace_details.offer_id = AAZStrType( + serialized_name="offerId", + flags={"required": True}, + ) + marketplace_details.publisher_id = AAZStrType( + serialized_name="publisherId", + flags={"required": True}, + ) + + network_profile = cls._schema_on_200.properties.network_profile + network_profile.egress_nat_ip = AAZListType( + serialized_name="egressNatIp", + ) + network_profile.enable_egress_nat = AAZStrType( + serialized_name="enableEgressNat", + flags={"required": True}, + ) + network_profile.network_type = AAZStrType( + serialized_name="networkType", + flags={"required": True}, + ) + network_profile.public_ips = AAZListType( + serialized_name="publicIps", + flags={"required": True}, + ) + network_profile.vnet_configuration = AAZObjectType( + serialized_name="vnetConfiguration", + ) + network_profile.vwan_configuration = AAZObjectType( + serialized_name="vwanConfiguration", + ) + + egress_nat_ip = cls._schema_on_200.properties.network_profile.egress_nat_ip + egress_nat_ip.Element = AAZObjectType() + _WaitHelper._build_schema_ip_address_read(egress_nat_ip.Element) + + public_ips = cls._schema_on_200.properties.network_profile.public_ips + public_ips.Element = AAZObjectType() + _WaitHelper._build_schema_ip_address_read(public_ips.Element) + + vnet_configuration = cls._schema_on_200.properties.network_profile.vnet_configuration + vnet_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + _WaitHelper._build_schema_ip_address_read(vnet_configuration.ip_of_trust_subnet_for_udr) + vnet_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + flags={"required": True}, + ) + _WaitHelper._build_schema_ip_address_space_read(vnet_configuration.trust_subnet) + vnet_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + flags={"required": True}, + ) + _WaitHelper._build_schema_ip_address_space_read(vnet_configuration.un_trust_subnet) + vnet_configuration.vnet = AAZObjectType( + flags={"required": True}, + ) + _WaitHelper._build_schema_ip_address_space_read(vnet_configuration.vnet) + + vwan_configuration = cls._schema_on_200.properties.network_profile.vwan_configuration + vwan_configuration.ip_of_trust_subnet_for_udr = AAZObjectType( + serialized_name="ipOfTrustSubnetForUdr", + ) + _WaitHelper._build_schema_ip_address_read(vwan_configuration.ip_of_trust_subnet_for_udr) + vwan_configuration.network_virtual_appliance_id = AAZStrType( + serialized_name="networkVirtualApplianceId", + ) + vwan_configuration.trust_subnet = AAZObjectType( + serialized_name="trustSubnet", + ) + _WaitHelper._build_schema_ip_address_space_read(vwan_configuration.trust_subnet) + vwan_configuration.un_trust_subnet = AAZObjectType( + serialized_name="unTrustSubnet", + ) + _WaitHelper._build_schema_ip_address_space_read(vwan_configuration.un_trust_subnet) + vwan_configuration.v_hub = AAZObjectType( + serialized_name="vHub", + flags={"required": True}, + ) + _WaitHelper._build_schema_ip_address_space_read(vwan_configuration.v_hub) + + panorama_config = cls._schema_on_200.properties.panorama_config + panorama_config.cg_name = AAZStrType( + serialized_name="cgName", + flags={"read_only": True}, + ) + panorama_config.config_string = AAZStrType( + serialized_name="configString", + flags={"required": True}, + ) + panorama_config.dg_name = AAZStrType( + serialized_name="dgName", + flags={"read_only": True}, + ) + panorama_config.host_name = AAZStrType( + serialized_name="hostName", + flags={"read_only": True}, + ) + panorama_config.panorama_server = AAZStrType( + serialized_name="panoramaServer", + flags={"read_only": True}, + ) + panorama_config.panorama_server2 = AAZStrType( + serialized_name="panoramaServer2", + flags={"read_only": True}, + ) + panorama_config.tpl_name = AAZStrType( + serialized_name="tplName", + flags={"read_only": True}, + ) + panorama_config.vm_auth_key = AAZStrType( + serialized_name="vmAuthKey", + flags={"read_only": True}, + ) + + plan_data = cls._schema_on_200.properties.plan_data + plan_data.billing_cycle = AAZStrType( + serialized_name="billingCycle", + flags={"required": True}, + ) + plan_data.effective_date = AAZStrType( + serialized_name="effectiveDate", + flags={"read_only": True}, + ) + plan_data.plan_id = AAZStrType( + serialized_name="planId", + flags={"required": True}, + ) + plan_data.usage_type = AAZStrType( + serialized_name="usageType", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + _schema_endpoint_configuration_read = None + + @classmethod + def _build_schema_endpoint_configuration_read(cls, _schema): + if cls._schema_endpoint_configuration_read is not None: + _schema.address = cls._schema_endpoint_configuration_read.address + _schema.port = cls._schema_endpoint_configuration_read.port + return + + cls._schema_endpoint_configuration_read = _schema_endpoint_configuration_read = AAZObjectType() + + endpoint_configuration_read = _schema_endpoint_configuration_read + endpoint_configuration_read.address = AAZObjectType( + flags={"required": True}, + ) + cls._build_schema_ip_address_read(endpoint_configuration_read.address) + endpoint_configuration_read.port = AAZStrType( + flags={"required": True}, + ) + + _schema.address = cls._schema_endpoint_configuration_read.address + _schema.port = cls._schema_endpoint_configuration_read.port + + _schema_ip_address_space_read = None + + @classmethod + def _build_schema_ip_address_space_read(cls, _schema): + if cls._schema_ip_address_space_read is not None: + _schema.address_space = cls._schema_ip_address_space_read.address_space + _schema.resource_id = cls._schema_ip_address_space_read.resource_id + return + + cls._schema_ip_address_space_read = _schema_ip_address_space_read = AAZObjectType() + + ip_address_space_read = _schema_ip_address_space_read + ip_address_space_read.address_space = AAZStrType( + serialized_name="addressSpace", + ) + ip_address_space_read.resource_id = AAZStrType( + serialized_name="resourceId", + ) + + _schema.address_space = cls._schema_ip_address_space_read.address_space + _schema.resource_id = cls._schema_ip_address_space_read.resource_id + + _schema_ip_address_read = None + + @classmethod + def _build_schema_ip_address_read(cls, _schema): + if cls._schema_ip_address_read is not None: + _schema.address = cls._schema_ip_address_read.address + _schema.resource_id = cls._schema_ip_address_read.resource_id + return + + cls._schema_ip_address_read = _schema_ip_address_read = AAZObjectType() + + ip_address_read = _schema_ip_address_read + ip_address_read.address = AAZStrType() + ip_address_read.resource_id = AAZStrType( + serialized_name="resourceId", + ) + + _schema.address = cls._schema_ip_address_read.address + _schema.resource_id = cls._schema_ip_address_read.resource_id + + +__all__ = ["Wait"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/__cmd_group.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/__cmd_group.py new file mode 100644 index 00000000000..81d39d187f0 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "palo-alto cloudngfw firewall status", +) +class __CMDGroup(AAZCommandGroup): + """Manage cloudngfw firewall status resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/__init__.py new file mode 100644 index 00000000000..d63ae5a6fc9 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/__init__.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._list import * diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/_list.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/_list.py new file mode 100644 index 00000000000..97aa1fccfbb --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/_list.py @@ -0,0 +1,238 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw firewall status list", +) +class List(AAZCommand): + """List FirewallStatusResource resources by Firewalls + + :example: List FirewallStatusResource resources by Firewalls + az palo-alto cloudngfw firewall status list --resource-group MyResourceGroup -n MyCloudngfwFirewall + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/firewalls/{}/statuses", "2022-08-29"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.firewall_name = AAZStrArg( + options=["-n", "--name", "--firewall-name"], + help="Firewall resource name", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FirewallStatusListByFirewalls(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class FirewallStatusListByFirewalls(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls/{firewallName}/statuses", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "firewallName", self.ctx.args.firewall_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.health_reason = AAZStrType( + serialized_name="healthReason", + flags={"read_only": True}, + ) + properties.health_status = AAZStrType( + serialized_name="healthStatus", + ) + properties.is_panorama_managed = AAZStrType( + serialized_name="isPanoramaManaged", + ) + properties.panorama_status = AAZObjectType( + serialized_name="panoramaStatus", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + panorama_status = cls._schema_on_200.value.Element.properties.panorama_status + panorama_status.panorama_server2_status = AAZStrType( + serialized_name="panoramaServer2Status", + ) + panorama_status.panorama_server_status = AAZStrType( + serialized_name="panoramaServerStatus", + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/default/__cmd_group.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/default/__cmd_group.py new file mode 100644 index 00000000000..a712e99665d --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/default/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "palo-alto cloudngfw firewall status default", +) +class __CMDGroup(AAZCommandGroup): + """Manage cloudngfw firewall status default resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/default/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/default/__init__.py new file mode 100644 index 00000000000..28d5f355813 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/default/__init__.py @@ -0,0 +1,12 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._show import * diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/default/_show.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/default/_show.py new file mode 100644 index 00000000000..808b2e9140f --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/firewall/status/default/_show.py @@ -0,0 +1,226 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw firewall status default show", +) +class Show(AAZCommand): + """Get a FirewallStatusResource + + :example: Get a FirewallStatusResource + az palo-alto cloudngfw firewall status default show --resource-group MyResourceGroup -n MyCloudngfwFirewall + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/firewalls/{}/statuses/default", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.firewall_name = AAZStrArg( + options=["-n", "--name", "--firewall-name"], + help="Firewall resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FirewallStatusGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class FirewallStatusGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/firewalls/{firewallName}/statuses/default", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "firewallName", self.ctx.args.firewall_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.health_reason = AAZStrType( + serialized_name="healthReason", + flags={"read_only": True}, + ) + properties.health_status = AAZStrType( + serialized_name="healthStatus", + ) + properties.is_panorama_managed = AAZStrType( + serialized_name="isPanoramaManaged", + ) + properties.panorama_status = AAZObjectType( + serialized_name="panoramaStatus", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + panorama_status = cls._schema_on_200.properties.panorama_status + panorama_status.panorama_server2_status = AAZStrType( + serialized_name="panoramaServer2Status", + ) + panorama_status.panorama_server_status = AAZStrType( + serialized_name="panoramaServerStatus", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/__cmd_group.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/__cmd_group.py new file mode 100644 index 00000000000..67c121c7de2 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "palo-alto cloudngfw local-rulestack", +) +class __CMDGroup(AAZCommandGroup): + """Manage local-rulestack resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/__init__.py new file mode 100644 index 00000000000..f1b727b4fe8 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/__init__.py @@ -0,0 +1,27 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._commit import * +from ._create import * +from ._delete import * +from ._list import * +from ._list_advanced_security_object import * +from ._list_app_id import * +from ._list_country import * +from ._list_firewall import * +from ._list_predefined_url_category import * +from ._list_security_service import * +from ._revert import * +from ._show import * +from ._show_change_log import * +from ._show_support_info import * +from ._update import * +from ._wait import * diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_commit.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_commit.py new file mode 100644 index 00000000000..3e28e8d3722 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_commit.py @@ -0,0 +1,135 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack commit", +) +class Commit(AAZCommand): + """Commit rulestack configuration + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/commit", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.LocalRulestacksCommit(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class LocalRulestacksCommit(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + None, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/commit", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + +class _CommitHelper: + """Helper class for Commit""" + + +__all__ = ["Commit"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_create.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_create.py new file mode 100644 index 00000000000..74dc3fb5a7a --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_create.py @@ -0,0 +1,499 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack create", +) +class Create(AAZCommand): + """Create a LocalRulestackResource + + :example: Create a LocalRulestackResource + az palo-alto cloudngfw local-rulestack create -g MyResourceGroup -n MyLocalRulestacks --identity "{type:None}" --location eastus --default-mode IPS --description "local rulestacks" --min-app-id-version "8595-7473" --scope "LOCAL" --security-services "{vulnerability-profile:BestPractice,anti-spyware-profile:BestPractice,anti-virus-profile:BestPractice,url-filtering-profile:BestPractice,file-blocking-profile:BestPractice,dns-subscription:BestPractice}" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.associated_subscriptions = AAZListArg( + options=["--associated-subs", "--associated-subscriptions"], + arg_group="Properties", + help="subscription scope of global rulestack", + ) + _args_schema.default_mode = AAZStrArg( + options=["--default-mode"], + arg_group="Properties", + help="Mode for default rules creation", + enum={"FIREWALL": "FIREWALL", "IPS": "IPS", "NONE": "NONE"}, + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="rulestack description", + ) + _args_schema.min_app_id_version = AAZStrArg( + options=["--min-app-id-version"], + arg_group="Properties", + help="minimum version", + ) + _args_schema.pan_etag = AAZStrArg( + options=["--pan-etag"], + arg_group="Properties", + help="PanEtag info", + ) + _args_schema.pan_location = AAZStrArg( + options=["--pan-location"], + arg_group="Properties", + help="Rulestack Location, Required for GlobalRulestacks, Not for LocalRulestacks", + ) + _args_schema.scope = AAZStrArg( + options=["--scope"], + arg_group="Properties", + help="Rulestack Type", + enum={"GLOBAL": "GLOBAL", "LOCAL": "LOCAL"}, + ) + _args_schema.security_services = AAZObjectArg( + options=["--security-services"], + arg_group="Properties", + help="Security Profile", + ) + + associated_subscriptions = cls._args_schema.associated_subscriptions + associated_subscriptions.Element = AAZStrArg() + + security_services = cls._args_schema.security_services + security_services.anti_spyware_profile = AAZStrArg( + options=["anti-spyware-profile"], + help="Anti spyware Profile data", + ) + security_services.anti_virus_profile = AAZStrArg( + options=["anti-virus-profile"], + help="anti virus profile data", + ) + security_services.dns_subscription = AAZStrArg( + options=["dns-subscription"], + help="DNS Subscription profile data", + ) + security_services.file_blocking_profile = AAZStrArg( + options=["file-blocking-profile"], + help="File blocking profile data", + ) + security_services.outbound_trust_certificate = AAZStrArg( + options=["outbound-trust-certificate"], + help="Trusted Egress Decryption profile data", + ) + security_services.outbound_un_trust_certificate = AAZStrArg( + options=["outbound-un-trust-certificate"], + help="Untrusted Egress Decryption profile data", + ) + security_services.url_filtering_profile = AAZStrArg( + options=["url-filtering-profile"], + help="URL filtering profile data", + ) + security_services.vulnerability_profile = AAZStrArg( + options=["vulnerability-profile"], + help="IPs Vulnerability Profile Data", + ) + + # define Arg Group "Resource" + + _args_schema = cls._args_schema + _args_schema.identity = AAZObjectArg( + options=["--identity"], + arg_group="Resource", + help="The managed service identities assigned to this resource.", + ) + _args_schema.location = AAZResourceLocationArg( + arg_group="Resource", + help="The geo-location where the resource lives", + required=True, + fmt=AAZResourceLocationArgFormat( + resource_group_arg="resource_group", + ), + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Resource", + help="Resource tags.", + ) + + identity = cls._args_schema.identity + identity.type = AAZStrArg( + options=["type"], + help="The type of managed identity assigned to this resource.", + required=True, + enum={"None": "None", "SystemAssigned": "SystemAssigned", "SystemAssigned,UserAssigned": "SystemAssigned,UserAssigned", "UserAssigned": "UserAssigned"}, + ) + identity.user_assigned_identities = AAZDictArg( + options=["user-assigned-identities"], + help="The identities assigned to this resource by the user.", + ) + + user_assigned_identities = cls._args_schema.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectArg() + + _element = cls._args_schema.identity.user_assigned_identities.Element + _element.client_id = AAZStrArg( + options=["client-id"], + help="The active directory client identifier for this principal.", + ) + _element.principal_id = AAZStrArg( + options=["principal-id"], + help="The active directory identifier for this principal.", + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.LocalRulestacksCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulestacksCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200, 201]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("identity", AAZObjectType, ".identity") + _builder.set_prop("location", AAZStrType, ".location", typ_kwargs={"flags": {"required": True}}) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + _builder.set_prop("tags", AAZDictType, ".tags") + + identity = _builder.get(".identity") + if identity is not None: + identity.set_prop("type", AAZStrType, ".type", typ_kwargs={"flags": {"required": True}}) + identity.set_prop("userAssignedIdentities", AAZDictType, ".user_assigned_identities") + + user_assigned_identities = _builder.get(".identity.userAssignedIdentities") + if user_assigned_identities is not None: + user_assigned_identities.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".identity.userAssignedIdentities{}") + if _elements is not None: + _elements.set_prop("clientId", AAZStrType, ".client_id") + _elements.set_prop("principalId", AAZStrType, ".principal_id") + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("associatedSubscriptions", AAZListType, ".associated_subscriptions") + properties.set_prop("defaultMode", AAZStrType, ".default_mode") + properties.set_prop("description", AAZStrType, ".description") + properties.set_prop("minAppIdVersion", AAZStrType, ".min_app_id_version") + properties.set_prop("panEtag", AAZStrType, ".pan_etag") + properties.set_prop("panLocation", AAZStrType, ".pan_location") + properties.set_prop("scope", AAZStrType, ".scope") + properties.set_prop("securityServices", AAZObjectType, ".security_services") + + associated_subscriptions = _builder.get(".properties.associatedSubscriptions") + if associated_subscriptions is not None: + associated_subscriptions.set_elements(AAZStrType, ".") + + security_services = _builder.get(".properties.securityServices") + if security_services is not None: + security_services.set_prop("antiSpywareProfile", AAZStrType, ".anti_spyware_profile") + security_services.set_prop("antiVirusProfile", AAZStrType, ".anti_virus_profile") + security_services.set_prop("dnsSubscription", AAZStrType, ".dns_subscription") + security_services.set_prop("fileBlockingProfile", AAZStrType, ".file_blocking_profile") + security_services.set_prop("outboundTrustCertificate", AAZStrType, ".outbound_trust_certificate") + security_services.set_prop("outboundUnTrustCertificate", AAZStrType, ".outbound_un_trust_certificate") + security_services.set_prop("urlFilteringProfile", AAZStrType, ".url_filtering_profile") + security_services.set_prop("vulnerabilityProfile", AAZStrType, ".vulnerability_profile") + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.identity = AAZObjectType() + _schema_on_200_201.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200_201.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.tags = AAZDictType() + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200_201.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200_201.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200_201.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = cls._schema_on_200_201.properties + properties.associated_subscriptions = AAZListType( + serialized_name="associatedSubscriptions", + ) + properties.default_mode = AAZStrType( + serialized_name="defaultMode", + ) + properties.description = AAZStrType() + properties.min_app_id_version = AAZStrType( + serialized_name="minAppIdVersion", + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.pan_location = AAZStrType( + serialized_name="panLocation", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.scope = AAZStrType() + properties.security_services = AAZObjectType( + serialized_name="securityServices", + ) + + associated_subscriptions = cls._schema_on_200_201.properties.associated_subscriptions + associated_subscriptions.Element = AAZStrType() + + security_services = cls._schema_on_200_201.properties.security_services + security_services.anti_spyware_profile = AAZStrType( + serialized_name="antiSpywareProfile", + ) + security_services.anti_virus_profile = AAZStrType( + serialized_name="antiVirusProfile", + ) + security_services.dns_subscription = AAZStrType( + serialized_name="dnsSubscription", + ) + security_services.file_blocking_profile = AAZStrType( + serialized_name="fileBlockingProfile", + ) + security_services.outbound_trust_certificate = AAZStrType( + serialized_name="outboundTrustCertificate", + ) + security_services.outbound_un_trust_certificate = AAZStrType( + serialized_name="outboundUnTrustCertificate", + ) + security_services.url_filtering_profile = AAZStrType( + serialized_name="urlFilteringProfile", + ) + security_services.vulnerability_profile = AAZStrType( + serialized_name="vulnerabilityProfile", + ) + + system_data = cls._schema_on_200_201.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200_201.tags + tags.Element = AAZStrType() + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_delete.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_delete.py new file mode 100644 index 00000000000..c0c038798ee --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_delete.py @@ -0,0 +1,162 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack delete", +) +class Delete(AAZCommand): + """Delete a LocalRulestackResource + + :example: Delete a LocalRulestackResource + az palo-alto cloudngfw local-rulestack delete -g MyResourceGroup -n MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.LocalRulestacksDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class LocalRulestacksDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list.py new file mode 100644 index 00000000000..2ce1a883d99 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list.py @@ -0,0 +1,508 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack list", +) +class List(AAZCommand): + """List LocalRulestackResource resources by subscription ID + + :example: List LocalRulestackResource resources by subscription ID + az palo-alto cloudngfw local-rulestack list -g MyResourceGroup + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/providers/paloaltonetworks.cloudngfw/localrulestacks", "2022-08-29"], + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks", "2022-08-29"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.resource_group = AAZResourceGroupNameArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + condition_0 = has_value(self.ctx.args.resource_group) and has_value(self.ctx.subscription_id) + condition_1 = has_value(self.ctx.subscription_id) and has_value(self.ctx.args.resource_group) is not True + if condition_0: + self.LocalRulestacksListByResourceGroup(ctx=self.ctx)() + if condition_1: + self.LocalRulestacksListBySubscription(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class LocalRulestacksListByResourceGroup(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.identity = AAZObjectType() + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.value.Element.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.value.Element.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = cls._schema_on_200.value.Element.properties + properties.associated_subscriptions = AAZListType( + serialized_name="associatedSubscriptions", + ) + properties.default_mode = AAZStrType( + serialized_name="defaultMode", + ) + properties.description = AAZStrType() + properties.min_app_id_version = AAZStrType( + serialized_name="minAppIdVersion", + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.pan_location = AAZStrType( + serialized_name="panLocation", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.scope = AAZStrType() + properties.security_services = AAZObjectType( + serialized_name="securityServices", + ) + + associated_subscriptions = cls._schema_on_200.value.Element.properties.associated_subscriptions + associated_subscriptions.Element = AAZStrType() + + security_services = cls._schema_on_200.value.Element.properties.security_services + security_services.anti_spyware_profile = AAZStrType( + serialized_name="antiSpywareProfile", + ) + security_services.anti_virus_profile = AAZStrType( + serialized_name="antiVirusProfile", + ) + security_services.dns_subscription = AAZStrType( + serialized_name="dnsSubscription", + ) + security_services.file_blocking_profile = AAZStrType( + serialized_name="fileBlockingProfile", + ) + security_services.outbound_trust_certificate = AAZStrType( + serialized_name="outboundTrustCertificate", + ) + security_services.outbound_un_trust_certificate = AAZStrType( + serialized_name="outboundUnTrustCertificate", + ) + security_services.url_filtering_profile = AAZStrType( + serialized_name="urlFilteringProfile", + ) + security_services.vulnerability_profile = AAZStrType( + serialized_name="vulnerabilityProfile", + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + class LocalRulestacksListBySubscription(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.identity = AAZObjectType() + _element.location = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.tags = AAZDictType() + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.value.Element.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.value.Element.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = cls._schema_on_200.value.Element.properties + properties.associated_subscriptions = AAZListType( + serialized_name="associatedSubscriptions", + ) + properties.default_mode = AAZStrType( + serialized_name="defaultMode", + ) + properties.description = AAZStrType() + properties.min_app_id_version = AAZStrType( + serialized_name="minAppIdVersion", + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.pan_location = AAZStrType( + serialized_name="panLocation", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.scope = AAZStrType() + properties.security_services = AAZObjectType( + serialized_name="securityServices", + ) + + associated_subscriptions = cls._schema_on_200.value.Element.properties.associated_subscriptions + associated_subscriptions.Element = AAZStrType() + + security_services = cls._schema_on_200.value.Element.properties.security_services + security_services.anti_spyware_profile = AAZStrType( + serialized_name="antiSpywareProfile", + ) + security_services.anti_virus_profile = AAZStrType( + serialized_name="antiVirusProfile", + ) + security_services.dns_subscription = AAZStrType( + serialized_name="dnsSubscription", + ) + security_services.file_blocking_profile = AAZStrType( + serialized_name="fileBlockingProfile", + ) + security_services.outbound_trust_certificate = AAZStrType( + serialized_name="outboundTrustCertificate", + ) + security_services.outbound_un_trust_certificate = AAZStrType( + serialized_name="outboundUnTrustCertificate", + ) + security_services.url_filtering_profile = AAZStrType( + serialized_name="urlFilteringProfile", + ) + security_services.vulnerability_profile = AAZStrType( + serialized_name="vulnerabilityProfile", + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.value.Element.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_advanced_security_object.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_advanced_security_object.py new file mode 100644 index 00000000000..dce542356b5 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_advanced_security_object.py @@ -0,0 +1,209 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack list-advanced-security-object", +) +class ListAdvancedSecurityObject(AAZCommand): + """Get the list of advanced security objects + + :example: Get the list of advanced security objects + az palo-alto cloudngfw local-rulestack list-advanced-security-object -g MyResourceGroup -n MyLocalRulestacks --type feeds + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/listadvancedsecurityobjects", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.skip = AAZStrArg( + options=["--skip"], + help="LocalRulestack resource skip", + ) + _args_schema.top = AAZIntArg( + options=["--top"], + help="LocalRulestack resource top", + ) + _args_schema.type = AAZStrArg( + options=["--type"], + help="LocalRulestack resource type", + required=True, + enum={"feeds": "feeds", "urlCustom": "urlCustom"}, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksListAdvancedSecurityObjects(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulestacksListAdvancedSecurityObjects(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/listAdvancedSecurityObjects", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "skip", self.ctx.args.skip, + ), + **self.serialize_query_param( + "top", self.ctx.args.top, + ), + **self.serialize_query_param( + "type", self.ctx.args.type, + required=True, + ), + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZObjectType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.entry = AAZListType( + flags={"required": True}, + ) + value.type = AAZStrType() + + entry = cls._schema_on_200.value.entry + entry.Element = AAZObjectType() + + _element = cls._schema_on_200.value.entry.Element + _element.description = AAZStrType() + _element.name = AAZStrType( + flags={"required": True}, + ) + + return cls._schema_on_200 + + +class _ListAdvancedSecurityObjectHelper: + """Helper class for ListAdvancedSecurityObject""" + + +__all__ = ["ListAdvancedSecurityObject"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_app_id.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_app_id.py new file mode 100644 index 00000000000..94b10911d88 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_app_id.py @@ -0,0 +1,201 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack list-app-id", +) +class ListAppId(AAZCommand): + """List of AppIds for LocalRulestack ApiVersion + + :example: List of AppIds for LocalRulestack ApiVersion + az palo-alto cloudngfw local-rulestack list-app-id -g MyResourceGroup -n MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/listappids", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.app_id_version = AAZStrArg( + options=["--app-id-version"], + help="LocalRulestack resource app-id-version", + ) + _args_schema.app_prefix = AAZStrArg( + options=["--app-prefix"], + help="LocalRulestack resource app-prefix", + ) + _args_schema.skip = AAZStrArg( + options=["--skip"], + help="LocalRulestack resource skip", + ) + _args_schema.top = AAZIntArg( + options=["--top"], + help="LocalRulestack resource top", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksListAppIds(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulestacksListAppIds(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/listAppIds", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "appIdVersion", self.ctx.args.app_id_version, + ), + **self.serialize_query_param( + "appPrefix", self.ctx.args.app_prefix, + ), + **self.serialize_query_param( + "skip", self.ctx.args.skip, + ), + **self.serialize_query_param( + "top", self.ctx.args.top, + ), + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ListAppIdHelper: + """Helper class for ListAppId""" + + +__all__ = ["ListAppId"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_country.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_country.py new file mode 100644 index 00000000000..30fba0e7ea7 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_country.py @@ -0,0 +1,193 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack list-country", +) +class ListCountry(AAZCommand): + """List of countries for Rulestack + + :example: List of countries for Rulestack + az palo-alto cloudngfw local-rulestack list-country -g MyResourceGroup -n MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/listcountries", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.skip = AAZStrArg( + options=["--skip"], + help="LocalRulestack resource skip", + ) + _args_schema.top = AAZIntArg( + options=["--top"], + help="LocalRulestack resource top", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksListCountries(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulestacksListCountries(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/listCountries", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "skip", self.ctx.args.skip, + ), + **self.serialize_query_param( + "top", self.ctx.args.top, + ), + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.code = AAZStrType( + flags={"required": True}, + ) + _element.description = AAZStrType() + + return cls._schema_on_200 + + +class _ListCountryHelper: + """Helper class for ListCountry""" + + +__all__ = ["ListCountry"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_firewall.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_firewall.py new file mode 100644 index 00000000000..bf35ed18dd1 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_firewall.py @@ -0,0 +1,173 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack list-firewall", +) +class ListFirewall(AAZCommand): + """List of Firewalls associated with Rulestack + + :example: List of Firewalls associated with Rulestack + az palo-alto cloudngfw local-rulestack list-firewall -g MyResourceGroup -n MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/listfirewalls", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksListFirewalls(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulestacksListFirewalls(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/listFirewalls", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ListFirewallHelper: + """Helper class for ListFirewall""" + + +__all__ = ["ListFirewall"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_predefined_url_category.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_predefined_url_category.py new file mode 100644 index 00000000000..a6cf8149b27 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_predefined_url_category.py @@ -0,0 +1,195 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack list-predefined-url-category", +) +class ListPredefinedUrlCategory(AAZCommand): + """List predefined URL categories for rulestack + + :example: List predefined URL categories for rulestack + az palo-alto cloudngfw local-rulestack list-predefined-url-category -g MyResourceGroup -n MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/listpredefinedurlcategories", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.skip = AAZStrArg( + options=["--skip"], + help="LocalRulestack resource skip", + ) + _args_schema.top = AAZIntArg( + options=["--top"], + help="LocalRulestack resource top", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksListPredefinedUrlCategories(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulestacksListPredefinedUrlCategories(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/listPredefinedUrlCategories", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "skip", self.ctx.args.skip, + ), + **self.serialize_query_param( + "top", self.ctx.args.top, + ), + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.action = AAZStrType( + flags={"required": True}, + ) + _element.name = AAZStrType( + flags={"required": True}, + ) + + return cls._schema_on_200 + + +class _ListPredefinedUrlCategoryHelper: + """Helper class for ListPredefinedUrlCategory""" + + +__all__ = ["ListPredefinedUrlCategory"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_security_service.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_security_service.py new file mode 100644 index 00000000000..92f85a60dc9 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_list_security_service.py @@ -0,0 +1,209 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack list-security-service", +) +class ListSecurityService(AAZCommand): + """List the security services for rulestack + + :example: List the security services for rulestack + az palo-alto cloudngfw local-rulestack list-security-service -g MyResourceGroup -n MyLocalRulestacks --type antiSpyware + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/listsecurityservices", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.skip = AAZStrArg( + options=["--skip"], + help="LocalRulestack resource skip", + ) + _args_schema.top = AAZIntArg( + options=["--top"], + help="LocalRulestack resource top", + ) + _args_schema.type = AAZStrArg( + options=["--type"], + help="LocalRulestack resource type", + required=True, + enum={"antiSpyware": "antiSpyware", "antiVirus": "antiVirus", "dnsSubscription": "dnsSubscription", "fileBlocking": "fileBlocking", "ipsVulnerability": "ipsVulnerability", "urlFiltering": "urlFiltering"}, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksListSecurityServices(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulestacksListSecurityServices(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/listSecurityServices", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "skip", self.ctx.args.skip, + ), + **self.serialize_query_param( + "top", self.ctx.args.top, + ), + **self.serialize_query_param( + "type", self.ctx.args.type, + required=True, + ), + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZObjectType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.entry = AAZListType( + flags={"required": True}, + ) + value.type = AAZStrType() + + entry = cls._schema_on_200.value.entry + entry.Element = AAZObjectType() + + _element = cls._schema_on_200.value.entry.Element + _element.description = AAZStrType() + _element.name = AAZStrType( + flags={"required": True}, + ) + + return cls._schema_on_200 + + +class _ListSecurityServiceHelper: + """Helper class for ListSecurityService""" + + +__all__ = ["ListSecurityService"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_revert.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_revert.py new file mode 100644 index 00000000000..a1b780dfeef --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_revert.py @@ -0,0 +1,133 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack revert", +) +class Revert(AAZCommand): + """Revert rulestack configuration + + :example: Revert rulestack configuration + az palo-alto cloudngfw local-rulestack revert -g MyResourceGroup -n MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/revert", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return None + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksRevert(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class LocalRulestacksRevert(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [204]: + return self.on_204(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/revert", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + def on_204(self, session): + pass + + +class _RevertHelper: + """Helper class for Revert""" + + +__all__ = ["Revert"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_show.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_show.py new file mode 100644 index 00000000000..61382f3bc21 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_show.py @@ -0,0 +1,289 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack show", +) +class Show(AAZCommand): + """Get a LocalRulestackResource + + :example: Get a LocalRulestackResource + az palo-alto cloudngfw local-rulestack show -g MyResourceGroup -n MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulestacksGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.identity = AAZObjectType() + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = cls._schema_on_200.properties + properties.associated_subscriptions = AAZListType( + serialized_name="associatedSubscriptions", + ) + properties.default_mode = AAZStrType( + serialized_name="defaultMode", + ) + properties.description = AAZStrType() + properties.min_app_id_version = AAZStrType( + serialized_name="minAppIdVersion", + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.pan_location = AAZStrType( + serialized_name="panLocation", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.scope = AAZStrType() + properties.security_services = AAZObjectType( + serialized_name="securityServices", + ) + + associated_subscriptions = cls._schema_on_200.properties.associated_subscriptions + associated_subscriptions.Element = AAZStrType() + + security_services = cls._schema_on_200.properties.security_services + security_services.anti_spyware_profile = AAZStrType( + serialized_name="antiSpywareProfile", + ) + security_services.anti_virus_profile = AAZStrType( + serialized_name="antiVirusProfile", + ) + security_services.dns_subscription = AAZStrType( + serialized_name="dnsSubscription", + ) + security_services.file_blocking_profile = AAZStrType( + serialized_name="fileBlockingProfile", + ) + security_services.outbound_trust_certificate = AAZStrType( + serialized_name="outboundTrustCertificate", + ) + security_services.outbound_un_trust_certificate = AAZStrType( + serialized_name="outboundUnTrustCertificate", + ) + security_services.url_filtering_profile = AAZStrType( + serialized_name="urlFilteringProfile", + ) + security_services.vulnerability_profile = AAZStrType( + serialized_name="vulnerabilityProfile", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_show_change_log.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_show_change_log.py new file mode 100644 index 00000000000..347551911f6 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_show_change_log.py @@ -0,0 +1,176 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack show-change-log", +) +class ShowChangeLog(AAZCommand): + """Get changelog + + :example: Get changelog + az palo-alto cloudngfw local-rulestack show-change-log -g MyResourceGroup -n MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/getchangelog", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksGetChangeLog(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulestacksGetChangeLog(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/getChangeLog", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.changes = AAZListType( + flags={"required": True}, + ) + _schema_on_200.last_committed = AAZStrType( + serialized_name="lastCommitted", + ) + _schema_on_200.last_modified = AAZStrType( + serialized_name="lastModified", + ) + + changes = cls._schema_on_200.changes + changes.Element = AAZStrType() + + return cls._schema_on_200 + + +class _ShowChangeLogHelper: + """Helper class for ShowChangeLog""" + + +__all__ = ["ShowChangeLog"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_show_support_info.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_show_support_info.py new file mode 100644 index 00000000000..718d24f45a9 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_show_support_info.py @@ -0,0 +1,207 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack show-support-info", +) +class ShowSupportInfo(AAZCommand): + """Support info for rulestack. + + :example: Support info for rulestack. + az palo-alto cloudngfw local-rulestack show-support-info -g MyResourceGroup -n MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/getsupportinfo", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.email = AAZStrArg( + options=["--email"], + help="email address on behalf of which this API called", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksGetSupportInfo(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulestacksGetSupportInfo(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/getSupportInfo", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "email", self.ctx.args.email, + ), + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.account_id = AAZStrType( + serialized_name="accountId", + ) + _schema_on_200.account_registered = AAZStrType( + serialized_name="accountRegistered", + ) + _schema_on_200.free_trial = AAZStrType( + serialized_name="freeTrial", + ) + _schema_on_200.free_trial_credit_left = AAZIntType( + serialized_name="freeTrialCreditLeft", + ) + _schema_on_200.free_trial_days_left = AAZIntType( + serialized_name="freeTrialDaysLeft", + ) + _schema_on_200.help_url = AAZStrType( + serialized_name="helpURL", + ) + _schema_on_200.product_serial = AAZStrType( + serialized_name="productSerial", + ) + _schema_on_200.product_sku = AAZStrType( + serialized_name="productSku", + ) + _schema_on_200.register_url = AAZStrType( + serialized_name="registerURL", + ) + _schema_on_200.support_url = AAZStrType( + serialized_name="supportURL", + ) + _schema_on_200.user_domain_supported = AAZStrType( + serialized_name="userDomainSupported", + ) + _schema_on_200.user_registered = AAZStrType( + serialized_name="userRegistered", + ) + + return cls._schema_on_200 + + +class _ShowSupportInfoHelper: + """Helper class for ShowSupportInfo""" + + +__all__ = ["ShowSupportInfo"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_update.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_update.py new file mode 100644 index 00000000000..cb2242442fa --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_update.py @@ -0,0 +1,535 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack update", +) +class Update(AAZCommand): + """Update a LocalRulestackResource + + :example: Update a LocalRulestackResource + az palo-alto cloudngfw local-rulestack update -g MyResourceGroup -n MyLocalRulestacks --tags "{tag-name:value}" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + AZ_SUPPORT_GENERIC_UPDATE = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Resource" + + _args_schema = cls._args_schema + _args_schema.identity = AAZObjectArg( + options=["--identity"], + arg_group="Resource", + help="The managed service identities assigned to this resource.", + nullable=True, + ) + _args_schema.tags = AAZDictArg( + options=["--tags"], + arg_group="Resource", + help="Resource tags.", + nullable=True, + ) + + identity = cls._args_schema.identity + identity.type = AAZStrArg( + options=["type"], + help="The type of managed identity assigned to this resource.", + enum={"None": "None", "SystemAssigned": "SystemAssigned", "SystemAssigned,UserAssigned": "SystemAssigned,UserAssigned", "UserAssigned": "UserAssigned"}, + ) + identity.user_assigned_identities = AAZDictArg( + options=["user-assigned-identities"], + help="The identities assigned to this resource by the user.", + nullable=True, + ) + + user_assigned_identities = cls._args_schema.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectArg( + nullable=True, + ) + + _element = cls._args_schema.identity.user_assigned_identities.Element + _element.client_id = AAZStrArg( + options=["client-id"], + help="The active directory client identifier for this principal.", + nullable=True, + ) + _element.principal_id = AAZStrArg( + options=["principal-id"], + help="The active directory identifier for this principal.", + nullable=True, + ) + + tags = cls._args_schema.tags + tags.Element = AAZStrArg( + nullable=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksGet(ctx=self.ctx)() + self.pre_instance_update(self.ctx.vars.instance) + self.InstanceUpdateByJson(ctx=self.ctx)() + self.InstanceUpdateByGeneric(ctx=self.ctx)() + self.post_instance_update(self.ctx.vars.instance) + yield self.LocalRulestacksCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + @register_callback + def pre_instance_update(self, instance): + pass + + @register_callback + def post_instance_update(self, instance): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulestacksGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + _UpdateHelper._build_schema_local_rulestack_resource_read(cls._schema_on_200) + + return cls._schema_on_200 + + class LocalRulestacksCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200, 201]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + value=self.ctx.vars.instance, + ) + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + _UpdateHelper._build_schema_local_rulestack_resource_read(cls._schema_on_200_201) + + return cls._schema_on_200_201 + + class InstanceUpdateByJson(AAZJsonInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance(self.ctx.vars.instance) + + def _update_instance(self, instance): + _instance_value, _builder = self.new_content_builder( + self.ctx.args, + value=instance, + typ=AAZObjectType + ) + _builder.set_prop("identity", AAZObjectType, ".identity") + _builder.set_prop("tags", AAZDictType, ".tags") + + identity = _builder.get(".identity") + if identity is not None: + identity.set_prop("type", AAZStrType, ".type", typ_kwargs={"flags": {"required": True}}) + identity.set_prop("userAssignedIdentities", AAZDictType, ".user_assigned_identities") + + user_assigned_identities = _builder.get(".identity.userAssignedIdentities") + if user_assigned_identities is not None: + user_assigned_identities.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".identity.userAssignedIdentities{}") + if _elements is not None: + _elements.set_prop("clientId", AAZStrType, ".client_id") + _elements.set_prop("principalId", AAZStrType, ".principal_id") + + tags = _builder.get(".tags") + if tags is not None: + tags.set_elements(AAZStrType, ".") + + return _instance_value + + class InstanceUpdateByGeneric(AAZGenericInstanceUpdateOperation): + + def __call__(self, *args, **kwargs): + self._update_instance_by_generic( + self.ctx.vars.instance, + self.ctx.generic_update_args + ) + + +class _UpdateHelper: + """Helper class for Update""" + + _schema_local_rulestack_resource_read = None + + @classmethod + def _build_schema_local_rulestack_resource_read(cls, _schema): + if cls._schema_local_rulestack_resource_read is not None: + _schema.id = cls._schema_local_rulestack_resource_read.id + _schema.identity = cls._schema_local_rulestack_resource_read.identity + _schema.location = cls._schema_local_rulestack_resource_read.location + _schema.name = cls._schema_local_rulestack_resource_read.name + _schema.properties = cls._schema_local_rulestack_resource_read.properties + _schema.system_data = cls._schema_local_rulestack_resource_read.system_data + _schema.tags = cls._schema_local_rulestack_resource_read.tags + _schema.type = cls._schema_local_rulestack_resource_read.type + return + + cls._schema_local_rulestack_resource_read = _schema_local_rulestack_resource_read = AAZObjectType() + + local_rulestack_resource_read = _schema_local_rulestack_resource_read + local_rulestack_resource_read.id = AAZStrType( + flags={"read_only": True}, + ) + local_rulestack_resource_read.identity = AAZObjectType() + local_rulestack_resource_read.location = AAZStrType( + flags={"required": True}, + ) + local_rulestack_resource_read.name = AAZStrType( + flags={"read_only": True}, + ) + local_rulestack_resource_read.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + local_rulestack_resource_read.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + local_rulestack_resource_read.tags = AAZDictType() + local_rulestack_resource_read.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = _schema_local_rulestack_resource_read.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = _schema_local_rulestack_resource_read.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = _schema_local_rulestack_resource_read.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = _schema_local_rulestack_resource_read.properties + properties.associated_subscriptions = AAZListType( + serialized_name="associatedSubscriptions", + ) + properties.default_mode = AAZStrType( + serialized_name="defaultMode", + ) + properties.description = AAZStrType() + properties.min_app_id_version = AAZStrType( + serialized_name="minAppIdVersion", + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.pan_location = AAZStrType( + serialized_name="panLocation", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.scope = AAZStrType() + properties.security_services = AAZObjectType( + serialized_name="securityServices", + ) + + associated_subscriptions = _schema_local_rulestack_resource_read.properties.associated_subscriptions + associated_subscriptions.Element = AAZStrType() + + security_services = _schema_local_rulestack_resource_read.properties.security_services + security_services.anti_spyware_profile = AAZStrType( + serialized_name="antiSpywareProfile", + ) + security_services.anti_virus_profile = AAZStrType( + serialized_name="antiVirusProfile", + ) + security_services.dns_subscription = AAZStrType( + serialized_name="dnsSubscription", + ) + security_services.file_blocking_profile = AAZStrType( + serialized_name="fileBlockingProfile", + ) + security_services.outbound_trust_certificate = AAZStrType( + serialized_name="outboundTrustCertificate", + ) + security_services.outbound_un_trust_certificate = AAZStrType( + serialized_name="outboundUnTrustCertificate", + ) + security_services.url_filtering_profile = AAZStrType( + serialized_name="urlFilteringProfile", + ) + security_services.vulnerability_profile = AAZStrType( + serialized_name="vulnerabilityProfile", + ) + + system_data = _schema_local_rulestack_resource_read.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = _schema_local_rulestack_resource_read.tags + tags.Element = AAZStrType() + + _schema.id = cls._schema_local_rulestack_resource_read.id + _schema.identity = cls._schema_local_rulestack_resource_read.identity + _schema.location = cls._schema_local_rulestack_resource_read.location + _schema.name = cls._schema_local_rulestack_resource_read.name + _schema.properties = cls._schema_local_rulestack_resource_read.properties + _schema.system_data = cls._schema_local_rulestack_resource_read.system_data + _schema.tags = cls._schema_local_rulestack_resource_read.tags + _schema.type = cls._schema_local_rulestack_resource_read.type + + +__all__ = ["Update"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_wait.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_wait.py new file mode 100644 index 00000000000..8c6dc839bf2 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/_wait.py @@ -0,0 +1,285 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["-n", "--name", "--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulestacksGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class LocalRulestacksGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.identity = AAZObjectType() + _schema_on_200.location = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.tags = AAZDictType() + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + identity = cls._schema_on_200.identity + identity.principal_id = AAZStrType( + serialized_name="principalId", + flags={"read_only": True}, + ) + identity.tenant_id = AAZStrType( + serialized_name="tenantId", + flags={"read_only": True}, + ) + identity.type = AAZStrType( + flags={"required": True}, + ) + identity.user_assigned_identities = AAZDictType( + serialized_name="userAssignedIdentities", + ) + + user_assigned_identities = cls._schema_on_200.identity.user_assigned_identities + user_assigned_identities.Element = AAZObjectType() + + _element = cls._schema_on_200.identity.user_assigned_identities.Element + _element.client_id = AAZStrType( + serialized_name="clientId", + ) + _element.principal_id = AAZStrType( + serialized_name="principalId", + ) + + properties = cls._schema_on_200.properties + properties.associated_subscriptions = AAZListType( + serialized_name="associatedSubscriptions", + ) + properties.default_mode = AAZStrType( + serialized_name="defaultMode", + ) + properties.description = AAZStrType() + properties.min_app_id_version = AAZStrType( + serialized_name="minAppIdVersion", + ) + properties.pan_etag = AAZStrType( + serialized_name="panEtag", + ) + properties.pan_location = AAZStrType( + serialized_name="panLocation", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.scope = AAZStrType() + properties.security_services = AAZObjectType( + serialized_name="securityServices", + ) + + associated_subscriptions = cls._schema_on_200.properties.associated_subscriptions + associated_subscriptions.Element = AAZStrType() + + security_services = cls._schema_on_200.properties.security_services + security_services.anti_spyware_profile = AAZStrType( + serialized_name="antiSpywareProfile", + ) + security_services.anti_virus_profile = AAZStrType( + serialized_name="antiVirusProfile", + ) + security_services.dns_subscription = AAZStrType( + serialized_name="dnsSubscription", + ) + security_services.file_blocking_profile = AAZStrType( + serialized_name="fileBlockingProfile", + ) + security_services.outbound_trust_certificate = AAZStrType( + serialized_name="outboundTrustCertificate", + ) + security_services.outbound_un_trust_certificate = AAZStrType( + serialized_name="outboundUnTrustCertificate", + ) + security_services.url_filtering_profile = AAZStrType( + serialized_name="urlFilteringProfile", + ) + security_services.vulnerability_profile = AAZStrType( + serialized_name="vulnerabilityProfile", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + tags = cls._schema_on_200.tags + tags.Element = AAZStrType() + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/__cmd_group.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/__cmd_group.py new file mode 100644 index 00000000000..2b543f433ad --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "palo-alto cloudngfw local-rulestack certificate", +) +class __CMDGroup(AAZCommandGroup): + """Manage local-rulestack certificate resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/__init__.py new file mode 100644 index 00000000000..2d1a2078686 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_create.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_create.py new file mode 100644 index 00000000000..8e3b7da049e --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_create.py @@ -0,0 +1,295 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack certificate create", +) +class Create(AAZCommand): + """Create a CertificateObjectLocalRulestackResource + + :example: Create a CertificateObjectLocalRulestackResource + az palo-alto cloudngfw local-rulestack certificate create -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --name MyCertificate --audit-comment "comment" --certificate-self-signed "TRUE" --description "description" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/certificates/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="certificate name", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.audit_comment = AAZStrArg( + options=["--audit-comment"], + arg_group="Properties", + help="comment for this object", + ) + _args_schema.certificate_self_signed = AAZStrArg( + options=["--certificate-signed", "--certificate-self-signed"], + arg_group="Properties", + help="use certificate self signed", + required=True, + enum={"FALSE": "FALSE", "TRUE": "TRUE"}, + ) + _args_schema.certificate_signer_id = AAZStrArg( + options=["--certificate-signer-id"], + arg_group="Properties", + help="Resource Id of certificate signer, to be populated only when certificateSelfSigned is false", + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="user description for this object", + ) + _args_schema.etag = AAZStrArg( + options=["--etag"], + arg_group="Properties", + help="read only string representing last create or update", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.CertificateObjectLocalRulestackCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class CertificateObjectLocalRulestackCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200, 201]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/certificates/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("auditComment", AAZStrType, ".audit_comment") + properties.set_prop("certificateSelfSigned", AAZStrType, ".certificate_self_signed", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("certificateSignerResourceId", AAZStrType, ".certificate_signer_id") + properties.set_prop("description", AAZStrType, ".description") + properties.set_prop("etag", AAZStrType, ".etag") + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.certificate_self_signed = AAZStrType( + serialized_name="certificateSelfSigned", + flags={"required": True}, + ) + properties.certificate_signer_resource_id = AAZStrType( + serialized_name="certificateSignerResourceId", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + system_data = cls._schema_on_200_201.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_delete.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_delete.py new file mode 100644 index 00000000000..fd85210afcc --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_delete.py @@ -0,0 +1,172 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack certificate delete", +) +class Delete(AAZCommand): + """Delete a CertificateObjectLocalRulestackResource + + :example: Delete a CertificateObjectLocalRulestackResource + az palo-alto cloudngfw local-rulestack certificate delete -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --name MyCertificate + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/certificates/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="certificate name", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.CertificateObjectLocalRulestackDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class CertificateObjectLocalRulestackDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/certificates/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_list.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_list.py new file mode 100644 index 00000000000..40fe9717566 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_list.py @@ -0,0 +1,229 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack certificate list", +) +class List(AAZCommand): + """List CertificateObjectLocalRulestackResource resources by LocalRulestacks + + :example: List CertificateObjectLocalRulestackResource resources by LocalRulestacks + az palo-alto cloudngfw local-rulestack certificate list -g MyResourceGroup --local-rulestack-name MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/certificates", "2022-08-29"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.CertificateObjectLocalRulestackListByLocalRulestacks(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class CertificateObjectLocalRulestackListByLocalRulestacks(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/certificates", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.certificate_self_signed = AAZStrType( + serialized_name="certificateSelfSigned", + flags={"required": True}, + ) + properties.certificate_signer_resource_id = AAZStrType( + serialized_name="certificateSignerResourceId", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_show.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_show.py new file mode 100644 index 00000000000..47622e9c025 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_show.py @@ -0,0 +1,227 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack certificate show", +) +class Show(AAZCommand): + """Get a CertificateObjectLocalRulestackResource + + :example: Get a CertificateObjectLocalRulestackResource + az palo-alto cloudngfw local-rulestack certificate show -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --name MyCertificate + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/certificates/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="certificate name", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.CertificateObjectLocalRulestackGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class CertificateObjectLocalRulestackGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/certificates/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.certificate_self_signed = AAZStrType( + serialized_name="certificateSelfSigned", + flags={"required": True}, + ) + properties.certificate_signer_resource_id = AAZStrType( + serialized_name="certificateSignerResourceId", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_wait.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_wait.py new file mode 100644 index 00000000000..33c1c8bfded --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/certificate/_wait.py @@ -0,0 +1,223 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack certificate wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/certificates/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="certificate name", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.CertificateObjectLocalRulestackGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class CertificateObjectLocalRulestackGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/certificates/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.certificate_self_signed = AAZStrType( + serialized_name="certificateSelfSigned", + flags={"required": True}, + ) + properties.certificate_signer_resource_id = AAZStrType( + serialized_name="certificateSignerResourceId", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/__cmd_group.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/__cmd_group.py new file mode 100644 index 00000000000..94fb10184c8 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "palo-alto cloudngfw local-rulestack fqdnlist", +) +class __CMDGroup(AAZCommandGroup): + """Manage local-rulestack fqdnlist resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/__init__.py new file mode 100644 index 00000000000..2d1a2078686 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_create.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_create.py new file mode 100644 index 00000000000..aa53d84e09e --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_create.py @@ -0,0 +1,295 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack fqdnlist create", +) +class Create(AAZCommand): + """Create a FqdnListLocalRulestackResource + + :example: Create a FqdnListLocalRulestackResource + az palo-alto cloudngfw local-rulestack fqdnlist create -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --name MyFqdnlist --audit-comment "string" --description "description" --fqdn-list "string1" "string2" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/fqdnlists/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="fqdn list name", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.audit_comment = AAZStrArg( + options=["--audit-comment"], + arg_group="Properties", + help="comment for this object", + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="fqdn object description", + ) + _args_schema.etag = AAZStrArg( + options=["--etag"], + arg_group="Properties", + help="etag info", + ) + _args_schema.fqdn_list = AAZListArg( + options=["--fqdn-list"], + arg_group="Properties", + help="fqdn list", + required=True, + ) + + fqdn_list = cls._args_schema.fqdn_list + fqdn_list.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.FqdnListLocalRulestackCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class FqdnListLocalRulestackCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200, 201]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/fqdnlists/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("auditComment", AAZStrType, ".audit_comment") + properties.set_prop("description", AAZStrType, ".description") + properties.set_prop("etag", AAZStrType, ".etag") + properties.set_prop("fqdnList", AAZListType, ".fqdn_list", typ_kwargs={"flags": {"required": True}}) + + fqdn_list = _builder.get(".properties.fqdnList") + if fqdn_list is not None: + fqdn_list.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.fqdn_list = AAZListType( + serialized_name="fqdnList", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + fqdn_list = cls._schema_on_200_201.properties.fqdn_list + fqdn_list.Element = AAZStrType() + + system_data = cls._schema_on_200_201.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_delete.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_delete.py new file mode 100644 index 00000000000..ca45cf4b85c --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_delete.py @@ -0,0 +1,172 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack fqdnlist delete", +) +class Delete(AAZCommand): + """Delete a FqdnListLocalRulestackResource + + :example: Delete a FqdnListLocalRulestackResource + az palo-alto cloudngfw local-rulestack fqdnlist delete -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --name MyFqdnlist + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/fqdnlists/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="fqdn list name", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.FqdnListLocalRulestackDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class FqdnListLocalRulestackDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/fqdnlists/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_list.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_list.py new file mode 100644 index 00000000000..b4dfbb2bb53 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_list.py @@ -0,0 +1,229 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack fqdnlist list", +) +class List(AAZCommand): + """List FqdnListLocalRulestackResource resources by LocalRulestacks + + :example: List FqdnListLocalRulestackResource resources by LocalRulestacks + az palo-alto cloudngfw local-rulestack fqdnlist list -g MyResourceGroup --local-rulestack-name MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/fqdnlists", "2022-08-29"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FqdnListLocalRulestackListByLocalRulestacks(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class FqdnListLocalRulestackListByLocalRulestacks(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/fqdnlists", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.fqdn_list = AAZListType( + serialized_name="fqdnList", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + fqdn_list = cls._schema_on_200.value.Element.properties.fqdn_list + fqdn_list.Element = AAZStrType() + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_show.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_show.py new file mode 100644 index 00000000000..fc2f15f489a --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_show.py @@ -0,0 +1,227 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack fqdnlist show", +) +class Show(AAZCommand): + """Get a FqdnListLocalRulestackResource + + :example: Get a FqdnListLocalRulestackResource + az palo-alto cloudngfw local-rulestack fqdnlist show -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --name MyFqdnlist + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/fqdnlists/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="fqdn list name", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FqdnListLocalRulestackGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class FqdnListLocalRulestackGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/fqdnlists/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.fqdn_list = AAZListType( + serialized_name="fqdnList", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + fqdn_list = cls._schema_on_200.properties.fqdn_list + fqdn_list.Element = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_wait.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_wait.py new file mode 100644 index 00000000000..1674c44ade7 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/fqdnlist/_wait.py @@ -0,0 +1,223 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack fqdnlist wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/fqdnlists/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="fqdn list name", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.FqdnListLocalRulestackGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class FqdnListLocalRulestackGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/fqdnlists/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.fqdn_list = AAZListType( + serialized_name="fqdnList", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + fqdn_list = cls._schema_on_200.properties.fqdn_list + fqdn_list.Element = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/__cmd_group.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/__cmd_group.py new file mode 100644 index 00000000000..ba991881162 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "palo-alto cloudngfw local-rulestack local-rule", +) +class __CMDGroup(AAZCommandGroup): + """Manage local-rulestack local-rule resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/__init__.py new file mode 100644 index 00000000000..335f6db8dce --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/__init__.py @@ -0,0 +1,19 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._refresh_counter import * +from ._reset_counter import * +from ._show import * +from ._show_counter import * +from ._wait import * diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_create.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_create.py new file mode 100644 index 00000000000..1a365d8f88a --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_create.py @@ -0,0 +1,674 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack local-rule create", +) +class Create(AAZCommand): + """Create a LocalRulesResource + + :example: Create a LocalRulesResource + az palo-alto cloudngfw local-rulestack local-rule create -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --rule-name MyLocalRule --priority "1" --action-type "Allow" --enable-logging "DISABLED" --rule-state "DISABLED" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/localrules/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + ) + _args_schema.priority = AAZStrArg( + options=["--priority"], + help="Local Rule priority", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.action_type = AAZStrArg( + options=["--action-type"], + arg_group="Properties", + help="rule action", + enum={"Allow": "Allow", "DenyResetBoth": "DenyResetBoth", "DenyResetServer": "DenyResetServer", "DenySilent": "DenySilent"}, + ) + _args_schema.applications = AAZListArg( + options=["--applications"], + arg_group="Properties", + help="array of rule applications", + ) + _args_schema.audit_comment = AAZStrArg( + options=["--audit-comment"], + arg_group="Properties", + help="rule comment", + ) + _args_schema.category = AAZObjectArg( + options=["--category"], + arg_group="Properties", + help="rule category", + ) + _args_schema.decryption_rule_type = AAZStrArg( + options=["--decryption-rule-type"], + arg_group="Properties", + help="enable or disable decryption", + enum={"None": "None", "SSLInboundInspection": "SSLInboundInspection", "SSLOutboundInspection": "SSLOutboundInspection"}, + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="rule description", + ) + _args_schema.destination = AAZObjectArg( + options=["--destination"], + arg_group="Properties", + help="destination address", + ) + _args_schema.enable_logging = AAZStrArg( + options=["--enable-logging"], + arg_group="Properties", + help="enable or disable logging", + enum={"DISABLED": "DISABLED", "ENABLED": "ENABLED"}, + ) + _args_schema.etag = AAZStrArg( + options=["--etag"], + arg_group="Properties", + help="etag info", + ) + _args_schema.inbound_inspection_certificate = AAZStrArg( + options=["--inbound-certificate", "--inbound-inspection-certificate"], + arg_group="Properties", + help="inbound Inspection Certificate", + ) + _args_schema.negate_destination = AAZStrArg( + options=["--negate-destination"], + arg_group="Properties", + help="cidr should not be 'any'", + enum={"FALSE": "FALSE", "TRUE": "TRUE"}, + ) + _args_schema.negate_source = AAZStrArg( + options=["--negate-source"], + arg_group="Properties", + help="cidr should not be 'any'", + enum={"FALSE": "FALSE", "TRUE": "TRUE"}, + ) + _args_schema.protocol = AAZStrArg( + options=["--protocol"], + arg_group="Properties", + help="any, application-default, TCP:number, UDP:number", + default="application-default", + ) + _args_schema.protocol_port_list = AAZListArg( + options=["--protocol-port-list"], + arg_group="Properties", + help="prot port list", + ) + _args_schema.rule_name = AAZStrArg( + options=["--rule-name"], + arg_group="Properties", + help="rule name", + required=True, + ) + _args_schema.rule_state = AAZStrArg( + options=["--rule-state"], + arg_group="Properties", + help="state of this rule", + enum={"DISABLED": "DISABLED", "ENABLED": "ENABLED"}, + ) + _args_schema.source = AAZObjectArg( + options=["--source"], + arg_group="Properties", + help="source address", + ) + _args_schema.tags = AAZListArg( + options=["--tags"], + arg_group="Properties", + help="tag for rule", + ) + + applications = cls._args_schema.applications + applications.Element = AAZStrArg() + + category = cls._args_schema.category + category.feeds = AAZListArg( + options=["feeds"], + help="feed list", + required=True, + ) + category.url_custom = AAZListArg( + options=["url-custom"], + help="custom URL", + required=True, + ) + + feeds = cls._args_schema.category.feeds + feeds.Element = AAZStrArg() + + url_custom = cls._args_schema.category.url_custom + url_custom.Element = AAZStrArg() + + destination = cls._args_schema.destination + destination.cidrs = AAZListArg( + options=["cidrs"], + help="special value 'any'", + ) + destination.countries = AAZListArg( + options=["countries"], + help="list of countries", + ) + destination.feeds = AAZListArg( + options=["feeds"], + help="list of feeds", + ) + destination.fqdn_lists = AAZListArg( + options=["fqdn-lists"], + help="fqdn list", + ) + destination.prefix_lists = AAZListArg( + options=["prefix-lists"], + help="prefix list", + ) + + cidrs = cls._args_schema.destination.cidrs + cidrs.Element = AAZStrArg() + + countries = cls._args_schema.destination.countries + countries.Element = AAZStrArg() + + feeds = cls._args_schema.destination.feeds + feeds.Element = AAZStrArg() + + fqdn_lists = cls._args_schema.destination.fqdn_lists + fqdn_lists.Element = AAZStrArg() + + prefix_lists = cls._args_schema.destination.prefix_lists + prefix_lists.Element = AAZStrArg() + + protocol_port_list = cls._args_schema.protocol_port_list + protocol_port_list.Element = AAZStrArg() + + source = cls._args_schema.source + source.cidrs = AAZListArg( + options=["cidrs"], + help="special value 'any'", + ) + source.countries = AAZListArg( + options=["countries"], + help="list of countries", + ) + source.feeds = AAZListArg( + options=["feeds"], + help="list of feeds", + ) + source.prefix_lists = AAZListArg( + options=["prefix-lists"], + help="prefix list", + ) + + cidrs = cls._args_schema.source.cidrs + cidrs.Element = AAZStrArg() + + countries = cls._args_schema.source.countries + countries.Element = AAZStrArg() + + feeds = cls._args_schema.source.feeds + feeds.Element = AAZStrArg() + + prefix_lists = cls._args_schema.source.prefix_lists + prefix_lists.Element = AAZStrArg() + + tags = cls._args_schema.tags + tags.Element = AAZObjectArg() + + _element = cls._args_schema.tags.Element + _element.key = AAZStrArg( + options=["key"], + help="tag name", + required=True, + ) + _element.value = AAZStrArg( + options=["value"], + help="tag value", + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.LocalRulesCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulesCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200, 201]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/localRules/{priority}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "priority", self.ctx.args.priority, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("actionType", AAZStrType, ".action_type") + properties.set_prop("applications", AAZListType, ".applications") + properties.set_prop("auditComment", AAZStrType, ".audit_comment") + properties.set_prop("category", AAZObjectType, ".category") + properties.set_prop("decryptionRuleType", AAZStrType, ".decryption_rule_type") + properties.set_prop("description", AAZStrType, ".description") + properties.set_prop("destination", AAZObjectType, ".destination") + properties.set_prop("enableLogging", AAZStrType, ".enable_logging") + properties.set_prop("etag", AAZStrType, ".etag") + properties.set_prop("inboundInspectionCertificate", AAZStrType, ".inbound_inspection_certificate") + properties.set_prop("negateDestination", AAZStrType, ".negate_destination") + properties.set_prop("negateSource", AAZStrType, ".negate_source") + properties.set_prop("protocol", AAZStrType, ".protocol") + properties.set_prop("protocolPortList", AAZListType, ".protocol_port_list") + properties.set_prop("ruleName", AAZStrType, ".rule_name", typ_kwargs={"flags": {"required": True}}) + properties.set_prop("ruleState", AAZStrType, ".rule_state") + properties.set_prop("source", AAZObjectType, ".source") + properties.set_prop("tags", AAZListType, ".tags") + + applications = _builder.get(".properties.applications") + if applications is not None: + applications.set_elements(AAZStrType, ".") + + category = _builder.get(".properties.category") + if category is not None: + category.set_prop("feeds", AAZListType, ".feeds", typ_kwargs={"flags": {"required": True}}) + category.set_prop("urlCustom", AAZListType, ".url_custom", typ_kwargs={"flags": {"required": True}}) + + feeds = _builder.get(".properties.category.feeds") + if feeds is not None: + feeds.set_elements(AAZStrType, ".") + + url_custom = _builder.get(".properties.category.urlCustom") + if url_custom is not None: + url_custom.set_elements(AAZStrType, ".") + + destination = _builder.get(".properties.destination") + if destination is not None: + destination.set_prop("cidrs", AAZListType, ".cidrs") + destination.set_prop("countries", AAZListType, ".countries") + destination.set_prop("feeds", AAZListType, ".feeds") + destination.set_prop("fqdnLists", AAZListType, ".fqdn_lists") + destination.set_prop("prefixLists", AAZListType, ".prefix_lists") + + cidrs = _builder.get(".properties.destination.cidrs") + if cidrs is not None: + cidrs.set_elements(AAZStrType, ".") + + countries = _builder.get(".properties.destination.countries") + if countries is not None: + countries.set_elements(AAZStrType, ".") + + feeds = _builder.get(".properties.destination.feeds") + if feeds is not None: + feeds.set_elements(AAZStrType, ".") + + fqdn_lists = _builder.get(".properties.destination.fqdnLists") + if fqdn_lists is not None: + fqdn_lists.set_elements(AAZStrType, ".") + + prefix_lists = _builder.get(".properties.destination.prefixLists") + if prefix_lists is not None: + prefix_lists.set_elements(AAZStrType, ".") + + protocol_port_list = _builder.get(".properties.protocolPortList") + if protocol_port_list is not None: + protocol_port_list.set_elements(AAZStrType, ".") + + source = _builder.get(".properties.source") + if source is not None: + source.set_prop("cidrs", AAZListType, ".cidrs") + source.set_prop("countries", AAZListType, ".countries") + source.set_prop("feeds", AAZListType, ".feeds") + source.set_prop("prefixLists", AAZListType, ".prefix_lists") + + cidrs = _builder.get(".properties.source.cidrs") + if cidrs is not None: + cidrs.set_elements(AAZStrType, ".") + + countries = _builder.get(".properties.source.countries") + if countries is not None: + countries.set_elements(AAZStrType, ".") + + feeds = _builder.get(".properties.source.feeds") + if feeds is not None: + feeds.set_elements(AAZStrType, ".") + + prefix_lists = _builder.get(".properties.source.prefixLists") + if prefix_lists is not None: + prefix_lists.set_elements(AAZStrType, ".") + + tags = _builder.get(".properties.tags") + if tags is not None: + tags.set_elements(AAZObjectType, ".") + + _elements = _builder.get(".properties.tags[]") + if _elements is not None: + _elements.set_prop("key", AAZStrType, ".key", typ_kwargs={"flags": {"required": True}}) + _elements.set_prop("value", AAZStrType, ".value", typ_kwargs={"flags": {"required": True}}) + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.action_type = AAZStrType( + serialized_name="actionType", + ) + properties.applications = AAZListType() + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.category = AAZObjectType() + properties.decryption_rule_type = AAZStrType( + serialized_name="decryptionRuleType", + ) + properties.description = AAZStrType() + properties.destination = AAZObjectType() + properties.enable_logging = AAZStrType( + serialized_name="enableLogging", + ) + properties.etag = AAZStrType() + properties.inbound_inspection_certificate = AAZStrType( + serialized_name="inboundInspectionCertificate", + ) + properties.negate_destination = AAZStrType( + serialized_name="negateDestination", + ) + properties.negate_source = AAZStrType( + serialized_name="negateSource", + ) + properties.priority = AAZIntType( + flags={"read_only": True}, + ) + properties.protocol = AAZStrType() + properties.protocol_port_list = AAZListType( + serialized_name="protocolPortList", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.rule_name = AAZStrType( + serialized_name="ruleName", + flags={"required": True}, + ) + properties.rule_state = AAZStrType( + serialized_name="ruleState", + ) + properties.source = AAZObjectType() + properties.tags = AAZListType() + + applications = cls._schema_on_200_201.properties.applications + applications.Element = AAZStrType() + + category = cls._schema_on_200_201.properties.category + category.feeds = AAZListType( + flags={"required": True}, + ) + category.url_custom = AAZListType( + serialized_name="urlCustom", + flags={"required": True}, + ) + + feeds = cls._schema_on_200_201.properties.category.feeds + feeds.Element = AAZStrType() + + url_custom = cls._schema_on_200_201.properties.category.url_custom + url_custom.Element = AAZStrType() + + destination = cls._schema_on_200_201.properties.destination + destination.cidrs = AAZListType() + destination.countries = AAZListType() + destination.feeds = AAZListType() + destination.fqdn_lists = AAZListType( + serialized_name="fqdnLists", + ) + destination.prefix_lists = AAZListType( + serialized_name="prefixLists", + ) + + cidrs = cls._schema_on_200_201.properties.destination.cidrs + cidrs.Element = AAZStrType() + + countries = cls._schema_on_200_201.properties.destination.countries + countries.Element = AAZStrType() + + feeds = cls._schema_on_200_201.properties.destination.feeds + feeds.Element = AAZStrType() + + fqdn_lists = cls._schema_on_200_201.properties.destination.fqdn_lists + fqdn_lists.Element = AAZStrType() + + prefix_lists = cls._schema_on_200_201.properties.destination.prefix_lists + prefix_lists.Element = AAZStrType() + + protocol_port_list = cls._schema_on_200_201.properties.protocol_port_list + protocol_port_list.Element = AAZStrType() + + source = cls._schema_on_200_201.properties.source + source.cidrs = AAZListType() + source.countries = AAZListType() + source.feeds = AAZListType() + source.prefix_lists = AAZListType( + serialized_name="prefixLists", + ) + + cidrs = cls._schema_on_200_201.properties.source.cidrs + cidrs.Element = AAZStrType() + + countries = cls._schema_on_200_201.properties.source.countries + countries.Element = AAZStrType() + + feeds = cls._schema_on_200_201.properties.source.feeds + feeds.Element = AAZStrType() + + prefix_lists = cls._schema_on_200_201.properties.source.prefix_lists + prefix_lists.Element = AAZStrType() + + tags = cls._schema_on_200_201.properties.tags + tags.Element = AAZObjectType() + + _element = cls._schema_on_200_201.properties.tags.Element + _element.key = AAZStrType( + flags={"required": True}, + ) + _element.value = AAZStrType( + flags={"required": True}, + ) + + system_data = cls._schema_on_200_201.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_delete.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_delete.py new file mode 100644 index 00000000000..f65c09c0ddc --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_delete.py @@ -0,0 +1,172 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack local-rule delete", +) +class Delete(AAZCommand): + """Delete a LocalRulesResource + + :example: Delete a LocalRulesResource + az palo-alto cloudngfw local-rulestack local-rule delete -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --priority "1" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/localrules/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.priority = AAZStrArg( + options=["--priority"], + help="Local Rule priority", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.LocalRulesDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class LocalRulesDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/localRules/{priority}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "priority", self.ctx.args.priority, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_list.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_list.py new file mode 100644 index 00000000000..f9ab79a76ca --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_list.py @@ -0,0 +1,337 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack local-rule list", +) +class List(AAZCommand): + """List LocalRulesResource resources by LocalRulestacks + + :example: List LocalRulesResource resources by LocalRulestacks + az palo-alto cloudngfw local-rulestack local-rule list -g MyResourceGroup --local-rulestack-name MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/localrules", "2022-08-29"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulesListByLocalRulestacks(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class LocalRulesListByLocalRulestacks(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/localRules", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.action_type = AAZStrType( + serialized_name="actionType", + ) + properties.applications = AAZListType() + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.category = AAZObjectType() + properties.decryption_rule_type = AAZStrType( + serialized_name="decryptionRuleType", + ) + properties.description = AAZStrType() + properties.destination = AAZObjectType() + properties.enable_logging = AAZStrType( + serialized_name="enableLogging", + ) + properties.etag = AAZStrType() + properties.inbound_inspection_certificate = AAZStrType( + serialized_name="inboundInspectionCertificate", + ) + properties.negate_destination = AAZStrType( + serialized_name="negateDestination", + ) + properties.negate_source = AAZStrType( + serialized_name="negateSource", + ) + properties.priority = AAZIntType( + flags={"read_only": True}, + ) + properties.protocol = AAZStrType() + properties.protocol_port_list = AAZListType( + serialized_name="protocolPortList", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.rule_name = AAZStrType( + serialized_name="ruleName", + flags={"required": True}, + ) + properties.rule_state = AAZStrType( + serialized_name="ruleState", + ) + properties.source = AAZObjectType() + properties.tags = AAZListType() + + applications = cls._schema_on_200.value.Element.properties.applications + applications.Element = AAZStrType() + + category = cls._schema_on_200.value.Element.properties.category + category.feeds = AAZListType( + flags={"required": True}, + ) + category.url_custom = AAZListType( + serialized_name="urlCustom", + flags={"required": True}, + ) + + feeds = cls._schema_on_200.value.Element.properties.category.feeds + feeds.Element = AAZStrType() + + url_custom = cls._schema_on_200.value.Element.properties.category.url_custom + url_custom.Element = AAZStrType() + + destination = cls._schema_on_200.value.Element.properties.destination + destination.cidrs = AAZListType() + destination.countries = AAZListType() + destination.feeds = AAZListType() + destination.fqdn_lists = AAZListType( + serialized_name="fqdnLists", + ) + destination.prefix_lists = AAZListType( + serialized_name="prefixLists", + ) + + cidrs = cls._schema_on_200.value.Element.properties.destination.cidrs + cidrs.Element = AAZStrType() + + countries = cls._schema_on_200.value.Element.properties.destination.countries + countries.Element = AAZStrType() + + feeds = cls._schema_on_200.value.Element.properties.destination.feeds + feeds.Element = AAZStrType() + + fqdn_lists = cls._schema_on_200.value.Element.properties.destination.fqdn_lists + fqdn_lists.Element = AAZStrType() + + prefix_lists = cls._schema_on_200.value.Element.properties.destination.prefix_lists + prefix_lists.Element = AAZStrType() + + protocol_port_list = cls._schema_on_200.value.Element.properties.protocol_port_list + protocol_port_list.Element = AAZStrType() + + source = cls._schema_on_200.value.Element.properties.source + source.cidrs = AAZListType() + source.countries = AAZListType() + source.feeds = AAZListType() + source.prefix_lists = AAZListType( + serialized_name="prefixLists", + ) + + cidrs = cls._schema_on_200.value.Element.properties.source.cidrs + cidrs.Element = AAZStrType() + + countries = cls._schema_on_200.value.Element.properties.source.countries + countries.Element = AAZStrType() + + feeds = cls._schema_on_200.value.Element.properties.source.feeds + feeds.Element = AAZStrType() + + prefix_lists = cls._schema_on_200.value.Element.properties.source.prefix_lists + prefix_lists.Element = AAZStrType() + + tags = cls._schema_on_200.value.Element.properties.tags + tags.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element.properties.tags.Element + _element.key = AAZStrType( + flags={"required": True}, + ) + _element.value = AAZStrType( + flags={"required": True}, + ) + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_refresh_counter.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_refresh_counter.py new file mode 100644 index 00000000000..220af9fc027 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_refresh_counter.py @@ -0,0 +1,150 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack local-rule refresh-counter", +) +class RefreshCounter(AAZCommand): + """Refresh counters + + :example: Refresh counters + az palo-alto cloudngfw local-rulestack local-rule refresh-counter -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --priority "1" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/localrules/{}/refreshcounters", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return None + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.priority = AAZStrArg( + options=["--priority"], + help="Local Rule priority", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.firewall_name = AAZStrArg( + options=["--firewall-name"], + help="Firewall resource name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulesRefreshCounters(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class LocalRulesRefreshCounters(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [204]: + return self.on_204(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/localRules/{priority}/refreshCounters", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "priority", self.ctx.args.priority, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "firewallName", self.ctx.args.firewall_name, + ), + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + def on_204(self, session): + pass + + +class _RefreshCounterHelper: + """Helper class for RefreshCounter""" + + +__all__ = ["RefreshCounter"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_reset_counter.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_reset_counter.py new file mode 100644 index 00000000000..f5a894d8be9 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_reset_counter.py @@ -0,0 +1,196 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack local-rule reset-counter", +) +class ResetCounter(AAZCommand): + """Reset counters + + :example: Reset counters + az palo-alto cloudngfw local-rulestack local-rule reset-counter -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --priority "1" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/localrules/{}/resetcounters", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.priority = AAZStrArg( + options=["--priority"], + help="Local Rule priority", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.firewall_name = AAZStrArg( + options=["--firewall-name"], + help="Firewall resource name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulesResetCounters(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulesResetCounters(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/localRules/{priority}/resetCounters", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "priority", self.ctx.args.priority, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "firewallName", self.ctx.args.firewall_name, + ), + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.firewall_name = AAZStrType( + serialized_name="firewallName", + ) + _schema_on_200.priority = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.rule_list_name = AAZStrType( + serialized_name="ruleListName", + ) + _schema_on_200.rule_name = AAZStrType( + serialized_name="ruleName", + ) + _schema_on_200.rule_stack_name = AAZStrType( + serialized_name="ruleStackName", + ) + + return cls._schema_on_200 + + +class _ResetCounterHelper: + """Helper class for ResetCounter""" + + +__all__ = ["ResetCounter"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_show.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_show.py new file mode 100644 index 00000000000..3f7a1880b16 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_show.py @@ -0,0 +1,335 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack local-rule show", +) +class Show(AAZCommand): + """Get a LocalRulesResource + + :example: Get a LocalRulesResource + az palo-alto cloudngfw local-rulestack local-rule show -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --priority "1" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/localrules/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.priority = AAZStrArg( + options=["--priority"], + help="Local Rule priority", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulesGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulesGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/localRules/{priority}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "priority", self.ctx.args.priority, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.action_type = AAZStrType( + serialized_name="actionType", + ) + properties.applications = AAZListType() + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.category = AAZObjectType() + properties.decryption_rule_type = AAZStrType( + serialized_name="decryptionRuleType", + ) + properties.description = AAZStrType() + properties.destination = AAZObjectType() + properties.enable_logging = AAZStrType( + serialized_name="enableLogging", + ) + properties.etag = AAZStrType() + properties.inbound_inspection_certificate = AAZStrType( + serialized_name="inboundInspectionCertificate", + ) + properties.negate_destination = AAZStrType( + serialized_name="negateDestination", + ) + properties.negate_source = AAZStrType( + serialized_name="negateSource", + ) + properties.priority = AAZIntType( + flags={"read_only": True}, + ) + properties.protocol = AAZStrType() + properties.protocol_port_list = AAZListType( + serialized_name="protocolPortList", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.rule_name = AAZStrType( + serialized_name="ruleName", + flags={"required": True}, + ) + properties.rule_state = AAZStrType( + serialized_name="ruleState", + ) + properties.source = AAZObjectType() + properties.tags = AAZListType() + + applications = cls._schema_on_200.properties.applications + applications.Element = AAZStrType() + + category = cls._schema_on_200.properties.category + category.feeds = AAZListType( + flags={"required": True}, + ) + category.url_custom = AAZListType( + serialized_name="urlCustom", + flags={"required": True}, + ) + + feeds = cls._schema_on_200.properties.category.feeds + feeds.Element = AAZStrType() + + url_custom = cls._schema_on_200.properties.category.url_custom + url_custom.Element = AAZStrType() + + destination = cls._schema_on_200.properties.destination + destination.cidrs = AAZListType() + destination.countries = AAZListType() + destination.feeds = AAZListType() + destination.fqdn_lists = AAZListType( + serialized_name="fqdnLists", + ) + destination.prefix_lists = AAZListType( + serialized_name="prefixLists", + ) + + cidrs = cls._schema_on_200.properties.destination.cidrs + cidrs.Element = AAZStrType() + + countries = cls._schema_on_200.properties.destination.countries + countries.Element = AAZStrType() + + feeds = cls._schema_on_200.properties.destination.feeds + feeds.Element = AAZStrType() + + fqdn_lists = cls._schema_on_200.properties.destination.fqdn_lists + fqdn_lists.Element = AAZStrType() + + prefix_lists = cls._schema_on_200.properties.destination.prefix_lists + prefix_lists.Element = AAZStrType() + + protocol_port_list = cls._schema_on_200.properties.protocol_port_list + protocol_port_list.Element = AAZStrType() + + source = cls._schema_on_200.properties.source + source.cidrs = AAZListType() + source.countries = AAZListType() + source.feeds = AAZListType() + source.prefix_lists = AAZListType( + serialized_name="prefixLists", + ) + + cidrs = cls._schema_on_200.properties.source.cidrs + cidrs.Element = AAZStrType() + + countries = cls._schema_on_200.properties.source.countries + countries.Element = AAZStrType() + + feeds = cls._schema_on_200.properties.source.feeds + feeds.Element = AAZStrType() + + prefix_lists = cls._schema_on_200.properties.source.prefix_lists + prefix_lists.Element = AAZStrType() + + tags = cls._schema_on_200.properties.tags + tags.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.tags.Element + _element.key = AAZStrType( + flags={"required": True}, + ) + _element.value = AAZStrType( + flags={"required": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_show_counter.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_show_counter.py new file mode 100644 index 00000000000..035c543e0e8 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_show_counter.py @@ -0,0 +1,247 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack local-rule show-counter", +) +class ShowCounter(AAZCommand): + """Get counters + + :example: Get counters + az palo-alto cloudngfw local-rulestack local-rule get-counter -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --priority "1" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/localrules/{}/getcounters", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.priority = AAZStrArg( + options=["--priority"], + help="Local Rule priority", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + _args_schema.firewall_name = AAZStrArg( + options=["--firewall-name"], + help="Firewall resource name", + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulesGetCounters(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class LocalRulesGetCounters(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/localRules/{priority}/getCounters", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "priority", self.ctx.args.priority, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "firewallName", self.ctx.args.firewall_name, + ), + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.app_seen = AAZObjectType( + serialized_name="appSeen", + ) + _schema_on_200.firewall_name = AAZStrType( + serialized_name="firewallName", + ) + _schema_on_200.hit_count = AAZIntType( + serialized_name="hitCount", + ) + _schema_on_200.last_updated_timestamp = AAZStrType( + serialized_name="lastUpdatedTimestamp", + ) + _schema_on_200.priority = AAZStrType( + flags={"required": True}, + ) + _schema_on_200.request_timestamp = AAZStrType( + serialized_name="requestTimestamp", + ) + _schema_on_200.rule_list_name = AAZStrType( + serialized_name="ruleListName", + ) + _schema_on_200.rule_name = AAZStrType( + serialized_name="ruleName", + flags={"required": True}, + ) + _schema_on_200.rule_stack_name = AAZStrType( + serialized_name="ruleStackName", + ) + _schema_on_200.timestamp = AAZStrType() + + app_seen = cls._schema_on_200.app_seen + app_seen.app_seen_list = AAZListType( + serialized_name="appSeenList", + flags={"required": True}, + ) + app_seen.count = AAZIntType( + flags={"required": True}, + ) + + app_seen_list = cls._schema_on_200.app_seen.app_seen_list + app_seen_list.Element = AAZObjectType() + + _element = cls._schema_on_200.app_seen.app_seen_list.Element + _element.category = AAZStrType( + flags={"required": True}, + ) + _element.risk = AAZStrType( + flags={"required": True}, + ) + _element.standard_ports = AAZStrType( + serialized_name="standardPorts", + flags={"required": True}, + ) + _element.sub_category = AAZStrType( + serialized_name="subCategory", + flags={"required": True}, + ) + _element.tag = AAZStrType( + flags={"required": True}, + ) + _element.technology = AAZStrType( + flags={"required": True}, + ) + _element.title = AAZStrType( + flags={"required": True}, + ) + + return cls._schema_on_200 + + +class _ShowCounterHelper: + """Helper class for ShowCounter""" + + +__all__ = ["ShowCounter"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_wait.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_wait.py new file mode 100644 index 00000000000..74ee58bf8d2 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/local_rule/_wait.py @@ -0,0 +1,331 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack local-rule wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/localrules/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.priority = AAZStrArg( + options=["--priority"], + help="Local Rule priority", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.LocalRulesGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class LocalRulesGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/localRules/{priority}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "priority", self.ctx.args.priority, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.action_type = AAZStrType( + serialized_name="actionType", + ) + properties.applications = AAZListType() + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.category = AAZObjectType() + properties.decryption_rule_type = AAZStrType( + serialized_name="decryptionRuleType", + ) + properties.description = AAZStrType() + properties.destination = AAZObjectType() + properties.enable_logging = AAZStrType( + serialized_name="enableLogging", + ) + properties.etag = AAZStrType() + properties.inbound_inspection_certificate = AAZStrType( + serialized_name="inboundInspectionCertificate", + ) + properties.negate_destination = AAZStrType( + serialized_name="negateDestination", + ) + properties.negate_source = AAZStrType( + serialized_name="negateSource", + ) + properties.priority = AAZIntType( + flags={"read_only": True}, + ) + properties.protocol = AAZStrType() + properties.protocol_port_list = AAZListType( + serialized_name="protocolPortList", + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + properties.rule_name = AAZStrType( + serialized_name="ruleName", + flags={"required": True}, + ) + properties.rule_state = AAZStrType( + serialized_name="ruleState", + ) + properties.source = AAZObjectType() + properties.tags = AAZListType() + + applications = cls._schema_on_200.properties.applications + applications.Element = AAZStrType() + + category = cls._schema_on_200.properties.category + category.feeds = AAZListType( + flags={"required": True}, + ) + category.url_custom = AAZListType( + serialized_name="urlCustom", + flags={"required": True}, + ) + + feeds = cls._schema_on_200.properties.category.feeds + feeds.Element = AAZStrType() + + url_custom = cls._schema_on_200.properties.category.url_custom + url_custom.Element = AAZStrType() + + destination = cls._schema_on_200.properties.destination + destination.cidrs = AAZListType() + destination.countries = AAZListType() + destination.feeds = AAZListType() + destination.fqdn_lists = AAZListType( + serialized_name="fqdnLists", + ) + destination.prefix_lists = AAZListType( + serialized_name="prefixLists", + ) + + cidrs = cls._schema_on_200.properties.destination.cidrs + cidrs.Element = AAZStrType() + + countries = cls._schema_on_200.properties.destination.countries + countries.Element = AAZStrType() + + feeds = cls._schema_on_200.properties.destination.feeds + feeds.Element = AAZStrType() + + fqdn_lists = cls._schema_on_200.properties.destination.fqdn_lists + fqdn_lists.Element = AAZStrType() + + prefix_lists = cls._schema_on_200.properties.destination.prefix_lists + prefix_lists.Element = AAZStrType() + + protocol_port_list = cls._schema_on_200.properties.protocol_port_list + protocol_port_list.Element = AAZStrType() + + source = cls._schema_on_200.properties.source + source.cidrs = AAZListType() + source.countries = AAZListType() + source.feeds = AAZListType() + source.prefix_lists = AAZListType( + serialized_name="prefixLists", + ) + + cidrs = cls._schema_on_200.properties.source.cidrs + cidrs.Element = AAZStrType() + + countries = cls._schema_on_200.properties.source.countries + countries.Element = AAZStrType() + + feeds = cls._schema_on_200.properties.source.feeds + feeds.Element = AAZStrType() + + prefix_lists = cls._schema_on_200.properties.source.prefix_lists + prefix_lists.Element = AAZStrType() + + tags = cls._schema_on_200.properties.tags + tags.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.tags.Element + _element.key = AAZStrType( + flags={"required": True}, + ) + _element.value = AAZStrType( + flags={"required": True}, + ) + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/__cmd_group.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/__cmd_group.py new file mode 100644 index 00000000000..f2ae14edd8a --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/__cmd_group.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command_group( + "palo-alto cloudngfw local-rulestack prefixlist", +) +class __CMDGroup(AAZCommandGroup): + """Manage local-rulestack prefixlist resource + """ + pass + + +__all__ = ["__CMDGroup"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/__init__.py new file mode 100644 index 00000000000..2d1a2078686 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/__init__.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from .__cmd_group import * +from ._create import * +from ._delete import * +from ._list import * +from ._show import * +from ._wait import * diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_create.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_create.py new file mode 100644 index 00000000000..47e0c41088a --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_create.py @@ -0,0 +1,295 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack prefixlist create", +) +class Create(AAZCommand): + """Create a PrefixListResource + + :example: Create a PrefixListResource + az palo-alto cloudngfw local-rulestack prefixlist create -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --name MyPrefixlist --audit-comment "comment" --description "string" --prefix-list "1.0.0.0/24" + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/prefixlists/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="Local Rule priority", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + + # define Arg Group "Properties" + + _args_schema = cls._args_schema + _args_schema.audit_comment = AAZStrArg( + options=["--audit-comment"], + arg_group="Properties", + help="comment for this object", + ) + _args_schema.description = AAZStrArg( + options=["--description"], + arg_group="Properties", + help="prefix description", + ) + _args_schema.etag = AAZStrArg( + options=["--etag"], + arg_group="Properties", + help="etag info", + ) + _args_schema.prefix_list = AAZListArg( + options=["--prefix-list"], + arg_group="Properties", + help="prefix list", + required=True, + ) + + prefix_list = cls._args_schema.prefix_list + prefix_list.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.PrefixListLocalRulestackCreateOrUpdate(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class PrefixListLocalRulestackCreateOrUpdate(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200, 201]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200_201, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/prefixlists/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "PUT" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("properties", AAZObjectType, ".", typ_kwargs={"flags": {"required": True, "client_flatten": True}}) + + properties = _builder.get(".properties") + if properties is not None: + properties.set_prop("auditComment", AAZStrType, ".audit_comment") + properties.set_prop("description", AAZStrType, ".description") + properties.set_prop("etag", AAZStrType, ".etag") + properties.set_prop("prefixList", AAZListType, ".prefix_list", typ_kwargs={"flags": {"required": True}}) + + prefix_list = _builder.get(".properties.prefixList") + if prefix_list is not None: + prefix_list.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200_201(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200_201 + ) + + _schema_on_200_201 = None + + @classmethod + def _build_schema_on_200_201(cls): + if cls._schema_on_200_201 is not None: + return cls._schema_on_200_201 + + cls._schema_on_200_201 = AAZObjectType() + + _schema_on_200_201 = cls._schema_on_200_201 + _schema_on_200_201.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200_201.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200_201.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200_201.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200_201.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.prefix_list = AAZListType( + serialized_name="prefixList", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + prefix_list = cls._schema_on_200_201.properties.prefix_list + prefix_list.Element = AAZStrType() + + system_data = cls._schema_on_200_201.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200_201 + + +class _CreateHelper: + """Helper class for Create""" + + +__all__ = ["Create"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_delete.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_delete.py new file mode 100644 index 00000000000..d0719b36956 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_delete.py @@ -0,0 +1,172 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack prefixlist delete", +) +class Delete(AAZCommand): + """Delete a PrefixListResource + + :example: Delete a PrefixListResource + az palo-alto cloudngfw local-rulestack prefixlist delete -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --name MyPrefixlist + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/prefixlists/{}", "2022-08-29"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, None) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="Local Rule priority", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.PrefixListLocalRulestackDelete(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + class PrefixListLocalRulestackDelete(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [204]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_204, + self.on_error, + lro_options={"final-state-via": "azure-async-operation"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/prefixlists/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "DELETE" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + def on_200(self, session): + pass + + def on_204(self, session): + pass + + +class _DeleteHelper: + """Helper class for Delete""" + + +__all__ = ["Delete"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_list.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_list.py new file mode 100644 index 00000000000..b1f10463566 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_list.py @@ -0,0 +1,229 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack prefixlist list", +) +class List(AAZCommand): + """List PrefixListResource resources by LocalRulestacks + + :example: List PrefixListResource resources by LocalRulestacks + az palo-alto cloudngfw local-rulestack prefixlist list -g MyResourceGroup --local-rulestack-name MyLocalRulestacks + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/prefixlists", "2022-08-29"], + ] + } + + AZ_SUPPORT_PAGINATION = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_paging(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.PrefixListLocalRulestackListByLocalRulestacks(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance.value, client_flatten=True) + next_link = self.deserialize_output(self.ctx.vars.instance.next_link) + return result, next_link + + class PrefixListLocalRulestackListByLocalRulestacks(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/prefixlists", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.next_link = AAZStrType( + serialized_name="nextLink", + ) + _schema_on_200.value = AAZListType( + flags={"required": True}, + ) + + value = cls._schema_on_200.value + value.Element = AAZObjectType() + + _element = cls._schema_on_200.value.Element + _element.id = AAZStrType( + flags={"read_only": True}, + ) + _element.name = AAZStrType( + flags={"read_only": True}, + ) + _element.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _element.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _element.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.value.Element.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.prefix_list = AAZListType( + serialized_name="prefixList", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + prefix_list = cls._schema_on_200.value.Element.properties.prefix_list + prefix_list.Element = AAZStrType() + + system_data = cls._schema_on_200.value.Element.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ListHelper: + """Helper class for List""" + + +__all__ = ["List"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_show.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_show.py new file mode 100644 index 00000000000..58dd9cb15cf --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_show.py @@ -0,0 +1,227 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack prefixlist show", +) +class Show(AAZCommand): + """Get a PrefixListResource + + :example: Get a PrefixListResource + az palo-alto cloudngfw local-rulestack prefixlist show -g MyResourceGroup --local-rulestack-name MyLocalRulestacks --name MyPrefixlist + """ + + _aaz_info = { + "version": "2022-08-29", + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/prefixlists/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="Local Rule priority", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.PrefixListLocalRulestackGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class PrefixListLocalRulestackGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/prefixlists/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.prefix_list = AAZListType( + serialized_name="prefixList", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + prefix_list = cls._schema_on_200.properties.prefix_list + prefix_list.Element = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _ShowHelper: + """Helper class for Show""" + + +__all__ = ["Show"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_wait.py b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_wait.py new file mode 100644 index 00000000000..e04fcbadbbc --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/aaz/latest/palo_alto/cloudngfw/local_rulestack/prefixlist/_wait.py @@ -0,0 +1,223 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "palo-alto cloudngfw local-rulestack prefixlist wait", +) +class Wait(AAZWaitCommand): + """Place the CLI in a waiting state until a condition is met. + """ + + _aaz_info = { + "resources": [ + ["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/paloaltonetworks.cloudngfw/localrulestacks/{}/prefixlists/{}", "2022-08-29"], + ] + } + + def _handler(self, command_args): + super()._handler(command_args) + self._execute_operations() + return self._output() + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "" + + _args_schema = cls._args_schema + _args_schema.local_rulestack_name = AAZStrArg( + options=["--local-rulestack-name"], + help="LocalRulestack resource name", + required=True, + id_part="name", + ) + _args_schema.name = AAZStrArg( + options=["-n", "--name"], + help="Local Rule priority", + required=True, + id_part="child_name_1", + ) + _args_schema.resource_group = AAZResourceGroupNameArg( + required=True, + ) + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + self.PrefixListLocalRulestackGet(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=False) + return result + + class PrefixListLocalRulestackGet(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [200]: + return self.on_200(session) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/{localRulestackName}/prefixlists/{name}", + **self.url_parameters + ) + + @property + def method(self): + return "GET" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def url_parameters(self): + parameters = { + **self.serialize_url_param( + "localRulestackName", self.ctx.args.local_rulestack_name, + required=True, + ), + **self.serialize_url_param( + "name", self.ctx.args.name, + required=True, + ), + **self.serialize_url_param( + "resourceGroupName", self.ctx.args.resource_group, + required=True, + ), + **self.serialize_url_param( + "subscriptionId", self.ctx.subscription_id, + required=True, + ), + } + return parameters + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2022-08-29", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.id = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.name = AAZStrType( + flags={"read_only": True}, + ) + _schema_on_200.properties = AAZObjectType( + flags={"required": True, "client_flatten": True}, + ) + _schema_on_200.system_data = AAZObjectType( + serialized_name="systemData", + flags={"read_only": True}, + ) + _schema_on_200.type = AAZStrType( + flags={"read_only": True}, + ) + + properties = cls._schema_on_200.properties + properties.audit_comment = AAZStrType( + serialized_name="auditComment", + ) + properties.description = AAZStrType() + properties.etag = AAZStrType() + properties.prefix_list = AAZListType( + serialized_name="prefixList", + flags={"required": True}, + ) + properties.provisioning_state = AAZStrType( + serialized_name="provisioningState", + ) + + prefix_list = cls._schema_on_200.properties.prefix_list + prefix_list.Element = AAZStrType() + + system_data = cls._schema_on_200.system_data + system_data.created_at = AAZStrType( + serialized_name="createdAt", + ) + system_data.created_by = AAZStrType( + serialized_name="createdBy", + ) + system_data.created_by_type = AAZStrType( + serialized_name="createdByType", + ) + system_data.last_modified_at = AAZStrType( + serialized_name="lastModifiedAt", + ) + system_data.last_modified_by = AAZStrType( + serialized_name="lastModifiedBy", + ) + system_data.last_modified_by_type = AAZStrType( + serialized_name="lastModifiedByType", + ) + + return cls._schema_on_200 + + +class _WaitHelper: + """Helper class for Wait""" + + +__all__ = ["Wait"] diff --git a/src/palo-alto-networks/azext_palo_alto_networks/azext_metadata.json b/src/palo-alto-networks/azext_palo_alto_networks/azext_metadata.json new file mode 100644 index 00000000000..8138e860821 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.50.0" +} \ No newline at end of file diff --git a/src/palo-alto-networks/azext_palo_alto_networks/commands.py b/src/palo-alto-networks/azext_palo_alto_networks/commands.py new file mode 100644 index 00000000000..b0d842e4993 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/commands.py @@ -0,0 +1,15 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +# from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): # pylint: disable=unused-argument + pass diff --git a/src/palo-alto-networks/azext_palo_alto_networks/custom.py b/src/palo-alto-networks/azext_palo_alto_networks/custom.py new file mode 100644 index 00000000000..86df1e48ef5 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/custom.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from knack.log import get_logger + + +logger = get_logger(__name__) diff --git a/src/palo-alto-networks/azext_palo_alto_networks/tests/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/tests/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/tests/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/__init__.py b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/__init__.py new file mode 100644 index 00000000000..5757aea3175 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- diff --git a/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_cloudngfw_local_rulestack_with_counter.yaml b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_cloudngfw_local_rulestack_with_counter.yaml new file mode 100644 index 00000000000..efabe77b0b2 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_cloudngfw_local_rulestack_with_counter.yaml @@ -0,0 +1,158 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack local-rule show-counter + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --local-rulestack-name --priority + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/fw0718-lrs/localRules/1000000/getCounters?api-version=2022-08-29 + response: + body: + string: '{"priority":"1000000","ruleStackName":"fw0718-lrs","ruleListName":"LocalRule","ruleName":"cloud-ngfw-default-rule","hitCount":0,"timestamp":"2023-07-28T02:49:24.038509+00:00"}' + headers: + cache-control: + - no-cache + content-length: + - '175' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:49:24 GMT + expires: + - '-1' + mise-correlation-id: + - 802be47b-3fe6-41d1-9b32-877e1c468f26 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack local-rule refresh-counter + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --local-rulestack-name --priority + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/fw0718-lrs/localRules/1000000/refreshCounters?api-version=2022-08-29 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:49:36 GMT + expires: + - '-1' + mise-correlation-id: + - fef25fc4-3623-45e6-b744-18e61839f1f9 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack local-rule reset-counter + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --local-rulestack-name --priority + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/fw0718-lrs/localRules/1000000/resetCounters?api-version=2022-08-29 + response: + body: + string: '{"priority":"1000000","ruleStackName":"fw0718-lrs","ruleListName":"LocalRule","ruleName":"cloud-ngfw-default-rule"}' + headers: + cache-control: + - no-cache + content-length: + - '115' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:49:53 GMT + expires: + - '-1' + mise-correlation-id: + - c4bae129-d11b-4888-8dcf-64f61bfa4e45 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +version: 1 diff --git a/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_firewall_update.yaml b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_firewall_update.yaml new file mode 100644 index 00000000000..a811d1894c8 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_firewall_update.yaml @@ -0,0 +1,586 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall update + Connection: + - keep-alive + ParameterSetName: + - --name -g --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","name":"prodStabilityTest","type":"paloaltonetworks.cloudngfw/firewalls","location":"eastus","tags":{},"systemData":{"createdBy":"rhjai@microsoft.com","createdByType":"User","createdAt":"2023-07-17T13:23:42.0882273Z","lastModifiedBy":"54a2195e-8365-444c-8f50-4a5de4be1e2b","lastModifiedByType":"Application","lastModifiedAt":"2023-07-17T13:51:06.3647044Z"},"properties":{"networkProfile":{"vnetConfiguration":{"vnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet"},"trustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet/subnets/subnet1"},"unTrustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet/subnets/subnet2"},"ipOfTrustSubnetForUdr":{"address":"10.91.0.4"}},"networkType":"VNET","publicIps":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/publicIPAddresses/prodStabilityTest-public-ip","address":"104.211.12.22"}],"enableEgressNat":"DISABLED","egressNatIp":[]},"associatedRulestack":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/prodStabilityTest-lrs","location":"eastus","rulestackId":"SUBSCRIPTION~2bf4a339-294d-4c25-b0b2-ef649e9f5c27~RG~rheaTerraformTest~STACK~prodStabilityTest-lrs"},"dnsSettings":{"enableDnsProxy":"DISABLED","enabledDnsType":"CUSTOM"},"isPanoramaManaged":"FALSE","provisioningState":"Succeeded","planData":{"usageType":"PAYG","billingCycle":"MONTHLY","planId":"panw-cloud-ngfw-payg","effectiveDate":"0001-01-01T00:00:00Z"},"marketplaceDetails":{"offerId":"pan_swfw_cloud_ngfw","publisherId":"paloaltonetworks","marketplaceSubscriptionStatus":"Subscribed","marketplaceSubscriptionId":"f4f32169-d209-4da4-ca0d-e27fcbeacabd"},"panEtag":"f35bb154-24a5-11ee-9ea7-a6fe76bfa289"}}' + headers: + cache-control: + - no-cache + content-length: + - '2319' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:06:53 GMT + etag: + - '"7003ea25-0000-0100-0000-64b5474a0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"associatedRulestack": {"location": + "eastus", "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/prodStabilityTest-lrs", + "rulestackId": "SUBSCRIPTION~2bf4a339-294d-4c25-b0b2-ef649e9f5c27~RG~rheaTerraformTest~STACK~prodStabilityTest-lrs"}, + "dnsSettings": {"enableDnsProxy": "DISABLED", "enabledDnsType": "CUSTOM"}, "isPanoramaManaged": + "FALSE", "marketplaceDetails": {"marketplaceSubscriptionStatus": "Subscribed", + "offerId": "pan_swfw_cloud_ngfw", "publisherId": "paloaltonetworks"}, "networkProfile": + {"egressNatIp": [], "enableEgressNat": "DISABLED", "networkType": "VNET", "publicIps": + [{"address": "104.211.12.22", "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/publicIPAddresses/prodStabilityTest-public-ip"}], + "vnetConfiguration": {"ipOfTrustSubnetForUdr": {"address": "10.91.0.4"}, "trustSubnet": + {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet/subnets/subnet1"}, + "unTrustSubnet": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet/subnets/subnet2"}, + "vnet": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet"}}}, + "panEtag": "f35bb154-24a5-11ee-9ea7-a6fe76bfa289", "planData": {"billingCycle": + "MONTHLY", "planId": "panw-cloud-ngfw-payg", "usageType": "PAYG"}, "provisioningState": + "Succeeded"}, "tags": {"tagName": "value"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall update + Connection: + - keep-alive + Content-Length: + - '1808' + Content-Type: + - application/json + ParameterSetName: + - --name -g --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","name":"prodStabilityTest","type":"paloaltonetworks.cloudngfw/firewalls","location":"eastus","tags":{"tagName":"value"},"systemData":{"createdBy":"rhjai@microsoft.com","createdByType":"User","createdAt":"2023-07-17T13:23:42.0882273Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-26T07:06:54.6624971Z"},"properties":{"panEtag":"f35bb154-24a5-11ee-9ea7-a6fe76bfa289","networkProfile":{"vnetConfiguration":{"vnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet"},"trustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet/subnets/subnet1"},"unTrustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet/subnets/subnet2"},"ipOfTrustSubnetForUdr":{"address":"10.91.0.4"}},"networkType":"VNET","publicIps":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/publicIPAddresses/prodStabilityTest-public-ip","address":"104.211.12.22"}],"enableEgressNat":"DISABLED","egressNatIp":[]},"associatedRulestack":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/prodStabilityTest-lrs","rulestackId":"SUBSCRIPTION~2bf4a339-294d-4c25-b0b2-ef649e9f5c27~RG~rheaTerraformTest~STACK~prodStabilityTest-lrs","location":"eastus"},"dnsSettings":{"enableDnsProxy":"DISABLED","enabledDnsType":"CUSTOM"},"isPanoramaManaged":"FALSE","provisioningState":"Accepted","planData":{"usageType":"PAYG","billingCycle":"MONTHLY","planId":"panw-cloud-ngfw-payg","effectiveDate":"0001-01-01T00:00:00Z"},"marketplaceDetails":{"marketplaceSubscriptionId":"f4f32169-d209-4da4-ca0d-e27fcbeacabd","offerId":"pan_swfw_cloud_ngfw","publisherId":"paloaltonetworks","marketplaceSubscriptionStatus":"Subscribed"}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9?api-version=2022-08-29 + cache-control: + - no-cache + content-length: + - '2317' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:06:56 GMT + etag: + - '"0d00b47f-0000-0100-0000-64c0c60f0000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9?api-version=2022-08-29 + mise-correlation-id: + - 28c323f9-7a9a-46b1-ba90-b5475c48bb09 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall update + Connection: + - keep-alive + ParameterSetName: + - --name -g --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","name":"c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","status":"Accepted","startTime":"2023-07-26T07:06:54.8973301Z"}' + headers: + cache-control: + - no-cache + content-length: + - '522' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:06:56 GMT + etag: + - '"0b002ea7-0000-0100-0000-64c0c60e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall update + Connection: + - keep-alive + ParameterSetName: + - --name -g --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","name":"c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","status":"Accepted","startTime":"2023-07-26T07:06:54.8973301Z"}' + headers: + cache-control: + - no-cache + content-length: + - '522' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:07:26 GMT + etag: + - '"0b002ea7-0000-0100-0000-64c0c60e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall update + Connection: + - keep-alive + ParameterSetName: + - --name -g --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","name":"c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","status":"Accepted","startTime":"2023-07-26T07:06:54.8973301Z"}' + headers: + cache-control: + - no-cache + content-length: + - '522' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:07:58 GMT + etag: + - '"0b002ea7-0000-0100-0000-64c0c60e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall update + Connection: + - keep-alive + ParameterSetName: + - --name -g --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","name":"c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","status":"Accepted","startTime":"2023-07-26T07:06:54.8973301Z"}' + headers: + cache-control: + - no-cache + content-length: + - '522' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:08:28 GMT + etag: + - '"0b002ea7-0000-0100-0000-64c0c60e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall update + Connection: + - keep-alive + ParameterSetName: + - --name -g --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","name":"c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","status":"Accepted","startTime":"2023-07-26T07:06:54.8973301Z"}' + headers: + cache-control: + - no-cache + content-length: + - '522' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:08:59 GMT + etag: + - '"0b002ea7-0000-0100-0000-64c0c60e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall update + Connection: + - keep-alive + ParameterSetName: + - --name -g --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","name":"c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","status":"Accepted","startTime":"2023-07-26T07:06:54.8973301Z"}' + headers: + cache-control: + - no-cache + content-length: + - '522' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:09:30 GMT + etag: + - '"0b002ea7-0000-0100-0000-64c0c60e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall update + Connection: + - keep-alive + ParameterSetName: + - --name -g --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","name":"c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","status":"Accepted","startTime":"2023-07-26T07:06:54.8973301Z"}' + headers: + cache-control: + - no-cache + content-length: + - '522' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:10:01 GMT + etag: + - '"0b002ea7-0000-0100-0000-64c0c60e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall update + Connection: + - keep-alive + ParameterSetName: + - --name -g --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","name":"c50f5516-e719-4842-a6b0-55db52f42a54*4BFDCC6C8030BD15623A89BEF8E6CC6F9D53C5183344AA8F80E16EAFDAA32CA9","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","status":"Succeeded","startTime":"2023-07-26T07:06:54.8973301Z","endTime":"2023-07-26T07:10:13.4690317Z","error":{},"properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '593' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:10:32 GMT + etag: + - '"0b00ffc9-0000-0100-0000-64c0c6d50000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall update + Connection: + - keep-alive + ParameterSetName: + - --name -g --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","name":"prodStabilityTest","type":"paloaltonetworks.cloudngfw/firewalls","location":"eastus","tags":{"tagName":"value"},"systemData":{"createdBy":"rhjai@microsoft.com","createdByType":"User","createdAt":"2023-07-17T13:23:42.0882273Z","lastModifiedBy":"54a2195e-8365-444c-8f50-4a5de4be1e2b","lastModifiedByType":"Application","lastModifiedAt":"2023-07-26T07:10:13.5375363Z"},"properties":{"panEtag":"0432c7fe-2b83-11ee-9c77-5609b716d297","networkProfile":{"vnetConfiguration":{"vnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet"},"trustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet/subnets/subnet1"},"unTrustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet/subnets/subnet2"},"ipOfTrustSubnetForUdr":{"address":"10.91.0.4"}},"networkType":"VNET","publicIps":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/publicIPAddresses/prodStabilityTest-public-ip","address":"104.211.12.22"}],"enableEgressNat":"DISABLED","egressNatIp":[]},"associatedRulestack":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/prodStabilityTest-lrs","rulestackId":"SUBSCRIPTION~2bf4a339-294d-4c25-b0b2-ef649e9f5c27~RG~rheaTerraformTest~STACK~prodStabilityTest-lrs","location":"eastus"},"dnsSettings":{"enableDnsProxy":"DISABLED","enabledDnsType":"CUSTOM"},"isPanoramaManaged":"FALSE","provisioningState":"Succeeded","planData":{"usageType":"PAYG","billingCycle":"MONTHLY","planId":"panw-cloud-ngfw-payg","effectiveDate":"0001-01-01T00:00:00Z"},"marketplaceDetails":{"marketplaceSubscriptionId":"f4f32169-d209-4da4-ca0d-e27fcbeacabd","offerId":"pan_swfw_cloud_ngfw","publisherId":"paloaltonetworks","marketplaceSubscriptionStatus":"Subscribed"}}}' + headers: + cache-control: + - no-cache + content-length: + - '2336' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:10:32 GMT + etag: + - '"0d00f49e-0000-0100-0000-64c0c6d50000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall show + Connection: + - keep-alive + ParameterSetName: + - --name -g + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest","name":"prodStabilityTest","type":"paloaltonetworks.cloudngfw/firewalls","location":"eastus","tags":{"tagName":"value"},"systemData":{"createdBy":"rhjai@microsoft.com","createdByType":"User","createdAt":"2023-07-17T13:23:42.0882273Z","lastModifiedBy":"54a2195e-8365-444c-8f50-4a5de4be1e2b","lastModifiedByType":"Application","lastModifiedAt":"2023-07-26T07:10:13.5375363Z"},"properties":{"panEtag":"0432c7fe-2b83-11ee-9c77-5609b716d297","networkProfile":{"vnetConfiguration":{"vnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet"},"trustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet/subnets/subnet1"},"unTrustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/virtualNetworks/prodStabilityTest-vnet/subnets/subnet2"},"ipOfTrustSubnetForUdr":{"address":"10.91.0.4"}},"networkType":"VNET","publicIps":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/publicIPAddresses/prodStabilityTest-public-ip","address":"104.211.12.22"}],"enableEgressNat":"DISABLED","egressNatIp":[]},"associatedRulestack":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/prodStabilityTest-lrs","rulestackId":"SUBSCRIPTION~2bf4a339-294d-4c25-b0b2-ef649e9f5c27~RG~rheaTerraformTest~STACK~prodStabilityTest-lrs","location":"eastus"},"dnsSettings":{"enableDnsProxy":"DISABLED","enabledDnsType":"CUSTOM"},"isPanoramaManaged":"FALSE","provisioningState":"Succeeded","planData":{"usageType":"PAYG","billingCycle":"MONTHLY","planId":"panw-cloud-ngfw-payg","effectiveDate":"0001-01-01T00:00:00Z"},"marketplaceDetails":{"marketplaceSubscriptionId":"f4f32169-d209-4da4-ca0d-e27fcbeacabd","offerId":"pan_swfw_cloud_ngfw","publisherId":"paloaltonetworks","marketplaceSubscriptionStatus":"Subscribed"}}}' + headers: + cache-control: + - no-cache + content-length: + - '2336' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 07:10:35 GMT + etag: + - '"0d00f49e-0000-0100-0000-64c0c6d50000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +version: 1 diff --git a/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_firewall_v2.yaml b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_firewall_v2.yaml new file mode 100644 index 00000000000..f5f44594e10 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_firewall_v2.yaml @@ -0,0 +1,264 @@ +interactions: +- request: + body: '{"commonDestination": {"monitorConfigurations": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sudh_fire_test/providers/Microsoft.OperationalInsights/workspaces/testAnalyticsX", + "primaryKey": "7R5uguOLkTF6zByLV9ef5402y4dQnhiSlNMTKNSpEbjZoBrGrNnM2rD4E7+0v1yFg5y6h3RlrIa7th7qJnoHcQ==", + "secondaryKey": "7lmsLYTVizgkstJpno4fY6u36qmVw4rkaIfzhx82ymLIdYDy0wbq7Tdydkje3z50KbKsQnzhg8KAPFpEki/Buw==", + "subscriptionId": "2bf4a339-294d-4c25-b0b2-ef649e9f5c27", "workspace": "63e674d3-cc87-48c6-94cb-2d28a0b245fc"}}, + "logOption": "SAME_DESTINATION", "logType": "TRAFFIC"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall save-log-profile + Connection: + - keep-alive + Content-Length: + - '587' + Content-Type: + - application/json + ParameterSetName: + - --resource-group -n --log-option --log-type --common-destination + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest/saveLogProfile?api-version=2022-08-29 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 03:01:19 GMT + expires: + - '-1' + mise-correlation-id: + - c20e1369-8f7e-4d1d-ad1d-5e812bd06cf7 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall show-log-profile + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest/getLogProfile?api-version=2022-08-29 + response: + body: + string: '{"logType":"TRAFFIC","logOption":"SAME_DESTINATION","applicationInsights":{"id":null,"key":null},"commonDestination":{"storageConfigurations":null,"eventHubConfigurations":null,"monitorConfigurations":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sudh_fire_test/providers/Microsoft.OperationalInsights/workspaces/testAnalyticsX","subscriptionId":null,"workspace":"63e674d3-cc87-48c6-94cb-2d28a0b245fc","primaryKey":"7R5uguOLkTF6zByLV9ef5402y4dQnhiSlNMTKNSpEbjZoBrGrNnM2rD4E7+0v1yFg5y6h3RlrIa7th7qJnoHcQ==","secondaryKey":"7lmsLYTVizgkstJpno4fY6u36qmVw4rkaIfzhx82ymLIdYDy0wbq7Tdydkje3z50KbKsQnzhg8KAPFpEki/Buw=="}},"trafficLogDestination":null,"threatLogDestination":null,"decryptLogDestination":null}' + headers: + cache-control: + - no-cache + content-length: + - '728' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 03:01:35 GMT + expires: + - '-1' + mise-correlation-id: + - f68a43d4-6701-436f-9f81-baff072f2538 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall show-support-info + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest/getSupportInfo?api-version=2022-08-29 + response: + body: + string: '{"productSku":"PAN-CLOUD-NGFW-AZURE-PAYG","productSerial":null,"accountRegistered":"FALSE","accountId":null,"userDomainSupported":"TRUE","userRegistered":"FALSE","freeTrial":"TRUE","freeTrialDaysLeft":30,"freeTrialCreditLeft":0,"helpURL":"https://live.paloaltonetworks.com?productSku=PAN-CLOUD-NGFW-AZURE-PAYG","supportURL":"https://support.paloaltonetworks.com?productSku=PAN-CLOUD-NGFW-AZURE-PAYG&userEmail=v-taoxuzeng@microsoft.com","registerURL":"https://support.paloaltonetworks.com/Home/Register?tenantId=888d76fa-54b2-4ced-8ee5-aac1585adee7&productSku=PAN-CLOUD-NGFW-AZURE-PAYG&userEmail=v-taoxuzeng@microsoft.com"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 03:01:45 GMT + expires: + - '-1' + mise-correlation-id: + - 6d1a120f-0a29-4db1-a51e-b03df23c18bf + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall status list + Connection: + - keep-alive + ParameterSetName: + - --resource-group -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest/statuses?api-version=2022-08-29 + response: + body: + string: '{"value":[{"properties":{"isPanoramaManaged":"FALSE","healthStatus":"GREEN","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '111' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 03:01:51 GMT + expires: + - '-1' + mise-correlation-id: + - a94a273b-f18f-42d8-9934-73fc590e06c3 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall status default show + Connection: + - keep-alive + ParameterSetName: + - --resource-group -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/PaloAltoNetworks.Cloudngfw/firewalls/prodStabilityTest/statuses/default?api-version=2022-08-29 + response: + body: + string: '{"properties":{"isPanoramaManaged":"FALSE","healthStatus":"GREEN","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '99' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 03:01:58 GMT + expires: + - '-1' + mise-correlation-id: + - 3bce174d-949f-4df9-a4ce-6292183246a0 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +version: 1 diff --git a/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_networks_cloudngfw_firewall.yaml b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_networks_cloudngfw_firewall.yaml new file mode 100644 index 00000000000..03172691756 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_networks_cloudngfw_firewall.yaml @@ -0,0 +1,1405 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network nsg create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 azsdk-python-azure-mgmt-resource/23.1.0b2 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_palo_alto_networks_cloudngfw_firewall000001?api-version=2022-09-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001","name":"cli_test_palo_alto_networks_cloudngfw_firewall000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","test":"test_palo_alto_networks_cloudngfw_firewall","date":"2023-07-26T06:52:07Z","module":"palo-alto-networks"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '464' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network nsg create + Connection: + - keep-alive + Content-Length: + - '22' + Content-Type: + - application/json + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"nsg000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003\",\r\n + \ \"etag\": \"W/\\\"ee5aab9b-fc65-48db-8071-801a76067aca\\\"\",\r\n \"type\": + \"Microsoft.Network/networkSecurityGroups\",\r\n \"location\": \"westus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": + \"d7163e7d-8ccb-43b1-9a8e-aa789127c218\",\r\n \"securityRules\": [],\r\n + \ \"defaultSecurityRules\": [\r\n {\r\n \"name\": \"AllowVnetInBound\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/AllowVnetInBound\",\r\n + \ \"etag\": \"W/\\\"ee5aab9b-fc65-48db-8071-801a76067aca\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"description\": \"Allow inbound traffic from all VMs in VNET\",\r\n + \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n + \ \"destinationPortRange\": \"*\",\r\n \"sourceAddressPrefix\": + \"VirtualNetwork\",\r\n \"destinationAddressPrefix\": \"VirtualNetwork\",\r\n + \ \"access\": \"Allow\",\r\n \"priority\": 65000,\r\n \"direction\": + \"Inbound\",\r\n \"sourcePortRanges\": [],\r\n \"destinationPortRanges\": + [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\": + []\r\n }\r\n },\r\n {\r\n \"name\": \"AllowAzureLoadBalancerInBound\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/AllowAzureLoadBalancerInBound\",\r\n + \ \"etag\": \"W/\\\"ee5aab9b-fc65-48db-8071-801a76067aca\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"description\": \"Allow inbound traffic from azure load balancer\",\r\n + \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n + \ \"destinationPortRange\": \"*\",\r\n \"sourceAddressPrefix\": + \"AzureLoadBalancer\",\r\n \"destinationAddressPrefix\": \"*\",\r\n + \ \"access\": \"Allow\",\r\n \"priority\": 65001,\r\n \"direction\": + \"Inbound\",\r\n \"sourcePortRanges\": [],\r\n \"destinationPortRanges\": + [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\": + []\r\n }\r\n },\r\n {\r\n \"name\": \"DenyAllInBound\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/DenyAllInBound\",\r\n + \ \"etag\": \"W/\\\"ee5aab9b-fc65-48db-8071-801a76067aca\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"description\": \"Deny all inbound traffic\",\r\n \"protocol\": + \"*\",\r\n \"sourcePortRange\": \"*\",\r\n \"destinationPortRange\": + \"*\",\r\n \"sourceAddressPrefix\": \"*\",\r\n \"destinationAddressPrefix\": + \"*\",\r\n \"access\": \"Deny\",\r\n \"priority\": 65500,\r\n + \ \"direction\": \"Inbound\",\r\n \"sourcePortRanges\": [],\r\n + \ \"destinationPortRanges\": [],\r\n \"sourceAddressPrefixes\": + [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n },\r\n + \ {\r\n \"name\": \"AllowVnetOutBound\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/AllowVnetOutBound\",\r\n + \ \"etag\": \"W/\\\"ee5aab9b-fc65-48db-8071-801a76067aca\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"description\": \"Allow outbound traffic from all VMs to all VMs + in VNET\",\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\": + \"*\",\r\n \"destinationPortRange\": \"*\",\r\n \"sourceAddressPrefix\": + \"VirtualNetwork\",\r\n \"destinationAddressPrefix\": \"VirtualNetwork\",\r\n + \ \"access\": \"Allow\",\r\n \"priority\": 65000,\r\n \"direction\": + \"Outbound\",\r\n \"sourcePortRanges\": [],\r\n \"destinationPortRanges\": + [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\": + []\r\n }\r\n },\r\n {\r\n \"name\": \"AllowInternetOutBound\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/AllowInternetOutBound\",\r\n + \ \"etag\": \"W/\\\"ee5aab9b-fc65-48db-8071-801a76067aca\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"description\": \"Allow outbound traffic from all VMs to Internet\",\r\n + \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n + \ \"destinationPortRange\": \"*\",\r\n \"sourceAddressPrefix\": + \"*\",\r\n \"destinationAddressPrefix\": \"Internet\",\r\n \"access\": + \"Allow\",\r\n \"priority\": 65001,\r\n \"direction\": \"Outbound\",\r\n + \ \"sourcePortRanges\": [],\r\n \"destinationPortRanges\": + [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\": + []\r\n }\r\n },\r\n {\r\n \"name\": \"DenyAllOutBound\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/DenyAllOutBound\",\r\n + \ \"etag\": \"W/\\\"ee5aab9b-fc65-48db-8071-801a76067aca\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"description\": \"Deny all outbound traffic\",\r\n \"protocol\": + \"*\",\r\n \"sourcePortRange\": \"*\",\r\n \"destinationPortRange\": + \"*\",\r\n \"sourceAddressPrefix\": \"*\",\r\n \"destinationAddressPrefix\": + \"*\",\r\n \"access\": \"Deny\",\r\n \"priority\": 65500,\r\n + \ \"direction\": \"Outbound\",\r\n \"sourcePortRanges\": + [],\r\n \"destinationPortRanges\": [],\r\n \"sourceAddressPrefixes\": + [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n }\r\n + \ ]\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a8d9ad1a-83b9-49e6-a72f-305fc287f1ca?api-version=2022-01-01 + cache-control: + - no-cache + content-length: + - '6804' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - da8998ac-9417-4f73-94e8-f5e13957f82b + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network nsg create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a8d9ad1a-83b9-49e6-a72f-305fc287f1ca?api-version=2022-01-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 962a48af-dc7b-4464-93e3-358fa7378ae8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network nsg create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"nsg000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003\",\r\n + \ \"etag\": \"W/\\\"ffd651aa-127c-4af1-8428-a2243440af29\\\"\",\r\n \"type\": + \"Microsoft.Network/networkSecurityGroups\",\r\n \"location\": \"westus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": + \"d7163e7d-8ccb-43b1-9a8e-aa789127c218\",\r\n \"securityRules\": [],\r\n + \ \"defaultSecurityRules\": [\r\n {\r\n \"name\": \"AllowVnetInBound\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/AllowVnetInBound\",\r\n + \ \"etag\": \"W/\\\"ffd651aa-127c-4af1-8428-a2243440af29\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"description\": \"Allow inbound traffic from all VMs in VNET\",\r\n + \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n + \ \"destinationPortRange\": \"*\",\r\n \"sourceAddressPrefix\": + \"VirtualNetwork\",\r\n \"destinationAddressPrefix\": \"VirtualNetwork\",\r\n + \ \"access\": \"Allow\",\r\n \"priority\": 65000,\r\n \"direction\": + \"Inbound\",\r\n \"sourcePortRanges\": [],\r\n \"destinationPortRanges\": + [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\": + []\r\n }\r\n },\r\n {\r\n \"name\": \"AllowAzureLoadBalancerInBound\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/AllowAzureLoadBalancerInBound\",\r\n + \ \"etag\": \"W/\\\"ffd651aa-127c-4af1-8428-a2243440af29\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"description\": \"Allow inbound traffic from azure load balancer\",\r\n + \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n + \ \"destinationPortRange\": \"*\",\r\n \"sourceAddressPrefix\": + \"AzureLoadBalancer\",\r\n \"destinationAddressPrefix\": \"*\",\r\n + \ \"access\": \"Allow\",\r\n \"priority\": 65001,\r\n \"direction\": + \"Inbound\",\r\n \"sourcePortRanges\": [],\r\n \"destinationPortRanges\": + [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\": + []\r\n }\r\n },\r\n {\r\n \"name\": \"DenyAllInBound\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/DenyAllInBound\",\r\n + \ \"etag\": \"W/\\\"ffd651aa-127c-4af1-8428-a2243440af29\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"description\": \"Deny all inbound traffic\",\r\n \"protocol\": + \"*\",\r\n \"sourcePortRange\": \"*\",\r\n \"destinationPortRange\": + \"*\",\r\n \"sourceAddressPrefix\": \"*\",\r\n \"destinationAddressPrefix\": + \"*\",\r\n \"access\": \"Deny\",\r\n \"priority\": 65500,\r\n + \ \"direction\": \"Inbound\",\r\n \"sourcePortRanges\": [],\r\n + \ \"destinationPortRanges\": [],\r\n \"sourceAddressPrefixes\": + [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n },\r\n + \ {\r\n \"name\": \"AllowVnetOutBound\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/AllowVnetOutBound\",\r\n + \ \"etag\": \"W/\\\"ffd651aa-127c-4af1-8428-a2243440af29\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"description\": \"Allow outbound traffic from all VMs to all VMs + in VNET\",\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\": + \"*\",\r\n \"destinationPortRange\": \"*\",\r\n \"sourceAddressPrefix\": + \"VirtualNetwork\",\r\n \"destinationAddressPrefix\": \"VirtualNetwork\",\r\n + \ \"access\": \"Allow\",\r\n \"priority\": 65000,\r\n \"direction\": + \"Outbound\",\r\n \"sourcePortRanges\": [],\r\n \"destinationPortRanges\": + [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\": + []\r\n }\r\n },\r\n {\r\n \"name\": \"AllowInternetOutBound\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/AllowInternetOutBound\",\r\n + \ \"etag\": \"W/\\\"ffd651aa-127c-4af1-8428-a2243440af29\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"description\": \"Allow outbound traffic from all VMs to Internet\",\r\n + \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n + \ \"destinationPortRange\": \"*\",\r\n \"sourceAddressPrefix\": + \"*\",\r\n \"destinationAddressPrefix\": \"Internet\",\r\n \"access\": + \"Allow\",\r\n \"priority\": 65001,\r\n \"direction\": \"Outbound\",\r\n + \ \"sourcePortRanges\": [],\r\n \"destinationPortRanges\": + [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\": + []\r\n }\r\n },\r\n {\r\n \"name\": \"DenyAllOutBound\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003/defaultSecurityRules/DenyAllOutBound\",\r\n + \ \"etag\": \"W/\\\"ffd651aa-127c-4af1-8428-a2243440af29\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkSecurityGroups/defaultSecurityRules\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"description\": \"Deny all outbound traffic\",\r\n \"protocol\": + \"*\",\r\n \"sourcePortRange\": \"*\",\r\n \"destinationPortRange\": + \"*\",\r\n \"sourceAddressPrefix\": \"*\",\r\n \"destinationAddressPrefix\": + \"*\",\r\n \"access\": \"Deny\",\r\n \"priority\": 65500,\r\n + \ \"direction\": \"Outbound\",\r\n \"sourcePortRanges\": + [],\r\n \"destinationPortRanges\": [],\r\n \"sourceAddressPrefixes\": + [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n }\r\n + \ ]\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '6811' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:15 GMT + etag: + - W/"ffd651aa-127c-4af1-8428-a2243440af29" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - db461f65-6606-4570-b309-e1853ea55424 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -g -n --address-prefix --nsg --subnet-name --subnet-prefixes + User-Agent: + - AZURECLI/2.50.0 azsdk-python-azure-mgmt-resource/23.1.0b2 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_palo_alto_networks_cloudngfw_firewall000001?api-version=2022-09-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001","name":"cli_test_palo_alto_networks_cloudngfw_firewall000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","test":"test_palo_alto_networks_cloudngfw_firewall","date":"2023-07-26T06:52:07Z","module":"palo-alto-networks"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '464' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"addressSpace": {"addressPrefixes": + ["10.0.0.0/16"]}, "enableDdosProtection": false, "enableVmProtection": false, + "subnets": [{"name": "subnet1000005", "properties": {"addressPrefix": "10.0.0.0/26", + "networkSecurityGroup": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003"}}}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + Content-Length: + - '455' + Content-Type: + - application/json + ParameterSetName: + - -g -n --address-prefix --nsg --subnet-name --subnet-prefixes + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n + \ \"etag\": \"W/\\\"bfe6b994-ec8d-46d3-96cd-772616ca6a0b\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": + \"a272d34c-80b7-4dc6-aad8-bf1164d92866\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [\r\n + \ {\r\n \"name\": \"subnet1000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet1000005\",\r\n + \ \"etag\": \"W/\\\"bfe6b994-ec8d-46d3-96cd-772616ca6a0b\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"10.0.0.0/26\",\r\n \"networkSecurityGroup\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003\"\r\n + \ },\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": + \"Disabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e92bb010-c004-411b-8b3c-a8b3e8999126?api-version=2022-01-01 + cache-control: + - no-cache + content-length: + - '1568' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 8151c5df-31af-407f-a319-c7bd89cbf06d + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -g -n --address-prefix --nsg --subnet-name --subnet-prefixes + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e92bb010-c004-411b-8b3c-a8b3e8999126?api-version=2022-01-01 + response: + body: + string: "{\r\n \"status\": \"InProgress\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '30' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 4c35bb17-3471-406a-aff8-384d4c64d776 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -g -n --address-prefix --nsg --subnet-name --subnet-prefixes + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e92bb010-c004-411b-8b3c-a8b3e8999126?api-version=2022-01-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 33a19436-e761-48ca-a447-c4219b4450d0 + status: + code: 200 + message: '' +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -g -n --address-prefix --nsg --subnet-name --subnet-prefixes + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n + \ \"etag\": \"W/\\\"57d8513a-7ce6-4654-a5ec-996a043e9a33\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": + \"a272d34c-80b7-4dc6-aad8-bf1164d92866\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [\r\n + \ {\r\n \"name\": \"subnet1000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet1000005\",\r\n + \ \"etag\": \"W/\\\"57d8513a-7ce6-4654-a5ec-996a043e9a33\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/26\",\r\n \"networkSecurityGroup\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003\"\r\n + \ },\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": + \"Disabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1570' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:31 GMT + etag: + - W/"57d8513a-7ce6-4654-a5ec-996a043e9a33" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - bc6b441a-1e1f-45b7-bf65-da91add6a1ae + status: + code: 200 + message: '' +- request: + body: '{"name": "subnet2000006", "properties": {"addressPrefix": "10.0.1.0/26"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + Content-Length: + - '73' + Content-Type: + - application/json + ParameterSetName: + - -g --vnet-name -n --address-prefixes + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet2000006?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"subnet2000006\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet2000006\",\r\n + \ \"etag\": \"W/\\\"4bc90d26-1897-45a3-baa3-3318e16103db\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.0.1.0/26\",\r\n + \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Disabled\",\r\n + \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": + \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/93afdc34-f83e-4fe2-94c2-f8e316b5d011?api-version=2022-01-01 + cache-control: + - no-cache + content-length: + - '580' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - ca16c5eb-b4ee-4f6b-8ca5-a3d55cf2da00 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - -g --vnet-name -n --address-prefixes + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/93afdc34-f83e-4fe2-94c2-f8e316b5d011?api-version=2022-01-01 + response: + body: + string: "{\r\n \"status\": \"Succeeded\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '29' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - eeb12058-074c-40ea-8391-40c8a1ac8e3b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - -g --vnet-name -n --address-prefixes + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet2000006?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"subnet2000006\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet2000006\",\r\n + \ \"etag\": \"W/\\\"b9b9b176-019d-40de-a950-880714e75073\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.1.0/26\",\r\n + \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Disabled\",\r\n + \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": + \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '581' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:33 GMT + etag: + - W/"b9b9b176-019d-40de-a950-880714e75073" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - 228b1022-86ef-464b-95af-51a8413face1 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2022-01-01 + response: + body: + string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n + \ \"etag\": \"W/\\\"b9b9b176-019d-40de-a950-880714e75073\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": + \"a272d34c-80b7-4dc6-aad8-bf1164d92866\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": + [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [\r\n + \ {\r\n \"name\": \"subnet1000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet1000005\",\r\n + \ \"etag\": \"W/\\\"b9b9b176-019d-40de-a950-880714e75073\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/26\",\r\n \"networkSecurityGroup\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/networkSecurityGroups/nsg000003\"\r\n + \ },\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": + \"Disabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ },\r\n {\r\n \"name\": \"subnet2000006\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet2000006\",\r\n + \ \"etag\": \"W/\\\"b9b9b176-019d-40de-a950-880714e75073\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.1.0/26\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Disabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '2232' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:34 GMT + etag: + - W/"b9b9b176-019d-40de-a950-880714e75073" + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-arm-service-request-id: + - e24da17c-7c6e-4162-a67f-2a0434070dee + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"defaultMode": "IPS", "minAppIdVersion": + "8595-7473", "panEtag": "9fa4e2c6-1b0c-11ee-b587-3e4c117c6534", "scope": "LOCAL", + "securityServices": {"antiSpywareProfile": "BestPractice", "antiVirusProfile": + "BestPractice", "dnsSubscription": "BestPractice", "fileBlockingProfile": "BestPractice", + "urlFilteringProfile": "BestPractice", "vulnerabilityProfile": "BestPractice"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack create + Connection: + - keep-alive + Content-Length: + - '410' + Content-Type: + - application/json + ParameterSetName: + - --local-rulestack-name -g -l --default-mode --scope --pan-etag --min-app-id-version + --security-services + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/testlrs?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/testlrs","name":"testlrs","type":"paloaltonetworks.cloudngfw/localrulestacks","location":"eastus","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-26T06:52:38.0259095Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-26T06:52:38.0259095Z"},"properties":{"scope":"LOCAL","minAppIdVersion":"8595-7473","provisioningState":"Accepted","securityServices":{"vulnerabilityProfile":"BestPractice","antiSpywareProfile":"BestPractice","antiVirusProfile":"BestPractice","urlFilteringProfile":"BestPractice","fileBlockingProfile":"BestPractice","dnsSubscription":"BestPractice","outboundUnTrustCertificate":null,"outboundTrustCertificate":null},"defaultMode":"IPS"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/9c2a4046-37b7-444d-87cb-9ceec281bbd2*1B5F312EF1A9E589CE5361E11E8C1384086165357FFC5BB45A074F3AAE2D273E?api-version=2022-08-29 + cache-control: + - no-cache + content-length: + - '934' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:39 GMT + etag: + - '"060094a0-0000-0100-0000-64c0c2b70000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/9c2a4046-37b7-444d-87cb-9ceec281bbd2*1B5F312EF1A9E589CE5361E11E8C1384086165357FFC5BB45A074F3AAE2D273E?api-version=2022-08-29 + mise-correlation-id: + - 4a5bd644-b41c-43c5-8d79-28b24c2f8c91 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack create + Connection: + - keep-alive + ParameterSetName: + - --local-rulestack-name -g -l --default-mode --scope --pan-etag --min-app-id-version + --security-services + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/9c2a4046-37b7-444d-87cb-9ceec281bbd2*1B5F312EF1A9E589CE5361E11E8C1384086165357FFC5BB45A074F3AAE2D273E?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/9c2a4046-37b7-444d-87cb-9ceec281bbd2*1B5F312EF1A9E589CE5361E11E8C1384086165357FFC5BB45A074F3AAE2D273E","name":"9c2a4046-37b7-444d-87cb-9ceec281bbd2*1B5F312EF1A9E589CE5361E11E8C1384086165357FFC5BB45A074F3AAE2D273E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/testlrs","status":"Accepted","startTime":"2023-07-26T06:52:38.8342817Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:52:39 GMT + etag: + - '"0a00d7ff-0000-0100-0000-64c0c2b60000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack create + Connection: + - keep-alive + ParameterSetName: + - --local-rulestack-name -g -l --default-mode --scope --pan-etag --min-app-id-version + --security-services + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/9c2a4046-37b7-444d-87cb-9ceec281bbd2*1B5F312EF1A9E589CE5361E11E8C1384086165357FFC5BB45A074F3AAE2D273E?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/9c2a4046-37b7-444d-87cb-9ceec281bbd2*1B5F312EF1A9E589CE5361E11E8C1384086165357FFC5BB45A074F3AAE2D273E","name":"9c2a4046-37b7-444d-87cb-9ceec281bbd2*1B5F312EF1A9E589CE5361E11E8C1384086165357FFC5BB45A074F3AAE2D273E","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/testlrs","status":"Succeeded","startTime":"2023-07-26T06:52:38.8342817Z","endTime":"2023-07-26T06:53:06.4225377Z","error":{},"properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '624' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:53:10 GMT + etag: + - '"0b001505-0000-0100-0000-64c0c2d20000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack create + Connection: + - keep-alive + ParameterSetName: + - --local-rulestack-name -g -l --default-mode --scope --pan-etag --min-app-id-version + --security-services + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/testlrs?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/testlrs","name":"testlrs","type":"paloaltonetworks.cloudngfw/localrulestacks","location":"eastus","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-26T06:52:38.0259095Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-26T06:52:38.0259095Z"},"properties":{"scope":"LOCAL","minAppIdVersion":"8595-7473","provisioningState":"Succeeded","securityServices":{"vulnerabilityProfile":"BestPractice","antiSpywareProfile":"BestPractice","antiVirusProfile":"BestPractice","urlFilteringProfile":"BestPractice","fileBlockingProfile":"BestPractice","dnsSubscription":"BestPractice"},"defaultMode":"IPS","panEtag":"09763ebe-2b81-11ee-86fa-4ad68220d447"}}' + headers: + cache-control: + - no-cache + content-length: + - '918' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:53:10 GMT + etag: + - '"06002fa5-0000-0100-0000-64c0c2d20000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "properties": {"associatedRulestack": {"location": + "eastus", "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/testlrs"}, + "dnsSettings": {"enableDnsProxy": "DISABLED", "enabledDnsType": "CUSTOM"}, "isPanoramaManaged": + "FALSE", "marketplaceDetails": {"marketplaceSubscriptionStatus": "Subscribed", + "offerId": "pan_swfw_cloud_ngfw", "publisherId": "paloaltonetworks"}, "networkProfile": + {"egressNatIp": [], "enableEgressNat": "DISABLED", "networkType": "VNET", "publicIps": + [{"address": "20.112.141.94", "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/publicIPAddresses/fw0718-public-ip"}], + "vnetConfiguration": {"ipOfTrustSubnetForUdr": {"address": "10.0.0.0/16"}, "trustSubnet": + {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet1000005"}, + "unTrustSubnet": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet2000006"}, + "vnet": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004"}}}, + "panoramaConfig": {"configString": "bas64EncodedString"}, "planData": {"billingCycle": + "MONTHLY", "planId": "panw-cloud-ngfw-payg", "usageType": "PAYG"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall create + Connection: + - keep-alive + Content-Length: + - '1727' + Content-Type: + - application/json + ParameterSetName: + - --name -g --location --associated-rulestack --dns-settings --is-panorama-managed + --marketplace-details --network-profile --panorama-config --plan-data --no-wait + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/firewalls/firewall000002?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/firewalls/firewall000002","name":"firewall000002","type":"paloaltonetworks.cloudngfw/firewalls","location":"eastus","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-26T06:53:14.601121Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-26T06:53:14.601121Z"},"properties":{"networkProfile":{"vnetConfiguration":{"vnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004"},"trustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet1000005"},"unTrustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet2000006"},"ipOfTrustSubnetForUdr":{"address":"10.0.0.0/16"}},"networkType":"VNET","publicIps":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/publicIPAddresses/fw0718-public-ip","address":"20.112.141.94"}],"enableEgressNat":"DISABLED","egressNatIp":[]},"associatedRulestack":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/testlrs","location":"eastus"},"dnsSettings":{"enableDnsProxy":"DISABLED","enabledDnsType":"CUSTOM"},"isPanoramaManaged":"FALSE","panoramaConfig":{"configString":"bas64EncodedString"},"provisioningState":"Accepted","planData":{"usageType":"PAYG","billingCycle":"MONTHLY","planId":"panw-cloud-ngfw-payg","effectiveDate":"0001-01-01T00:00:00"},"marketplaceDetails":{"offerId":"pan_swfw_cloud_ngfw","publisherId":"paloaltonetworks","marketplaceSubscriptionStatus":"Subscribed"}}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/3f1ca0cd-0d06-4937-ae06-0c82c26d3dbd*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530?api-version=2022-08-29 + cache-control: + - no-cache + content-length: + - '2239' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:53:16 GMT + etag: + - '"0d00740c-0000-0100-0000-64c0c2dc0000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/3f1ca0cd-0d06-4937-ae06-0c82c26d3dbd*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530?api-version=2022-08-29 + mise-correlation-id: + - a39776f0-d7a2-44f0-a691-1a3f0aebb022 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/firewalls?api-version=2022-08-29 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/firewalls/firewall000002","name":"firewall000002","type":"paloaltonetworks.cloudngfw/firewalls","location":"eastus","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-26T06:53:14.601121Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-26T06:53:14.601121Z"},"properties":{"networkProfile":{"vnetConfiguration":{"vnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004"},"trustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet1000005"},"unTrustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet2000006"},"ipOfTrustSubnetForUdr":{"address":"10.0.0.0/16"}},"networkType":"VNET","publicIps":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/publicIPAddresses/fw0718-public-ip","address":"20.112.141.94"}],"enableEgressNat":"DISABLED","egressNatIp":[]},"associatedRulestack":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/testlrs","location":"eastus"},"dnsSettings":{"enableDnsProxy":"DISABLED","enabledDnsType":"CUSTOM"},"isPanoramaManaged":"FALSE","panoramaConfig":{"configString":"bas64EncodedString"},"provisioningState":"Accepted","planData":{"usageType":"PAYG","billingCycle":"MONTHLY","planId":"panw-cloud-ngfw-payg","effectiveDate":"0001-01-01T00:00:00Z"},"marketplaceDetails":{"offerId":"pan_swfw_cloud_ngfw","publisherId":"paloaltonetworks","marketplaceSubscriptionStatus":"Subscribed"}}}]}' + headers: + cache-control: + - no-cache + content-length: + - '2252' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:53:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - fd5942a9-4fa3-4a18-bf32-4ecd777b69ce + - 81721a04-0f7a-4245-b94e-3e39f87beb0a + - 26a3d4b1-a258-4605-9cf0-75b667995e30 + - 2a147538-dfce-4e67-b781-3b08c218574a + - 569712ee-331c-48b4-87cc-bce574a91b79 + - 0476bf5f-ea77-4de9-95c3-a813ef1d62f4 + - ccabb065-de1a-4975-9c6a-c1f9d7dc9e1b + - 35ee4d29-f660-4b04-aeb1-2fae67c0f1fb + - 488ab78f-a5da-4d88-aeda-4874b2d53fe1 + - 5b8994e8-8379-4569-a291-c698f2924812 + - 4fcca043-e3e5-410c-bd23-50e7593c0a6d + - ef1bd735-33e2-4a4d-a1f9-1f7496c95a27 + - 89d5704d-a4e3-4090-b03a-02437a516dc7 + - 0dcdb9f4-9c31-4785-810b-b7961271270d + - fe6395ed-fa23-44e9-9ca3-a73d331e9670 + - cec40019-7dc0-4b84-abdd-9cd959ed0a64 + - 12a053fb-1925-4532-ae84-409318a05bb2 + - 9983cfd3-a4b0-4e7b-b848-758972d2c20e + - e090f179-a1c0-4b2c-a825-47f078c82eba + - e98104cd-f5aa-4ed6-9f5b-7f8d7f089a5e + - 4aa6a944-037d-45ab-896d-ca4195d80405 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall show + Connection: + - keep-alive + ParameterSetName: + - --resource-group -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/firewalls/firewall000002?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/firewalls/firewall000002","name":"firewall000002","type":"paloaltonetworks.cloudngfw/firewalls","location":"eastus","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-26T06:53:14.601121Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-26T06:53:14.601121Z"},"properties":{"networkProfile":{"vnetConfiguration":{"vnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004"},"trustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet1000005"},"unTrustSubnet":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet2000006"},"ipOfTrustSubnetForUdr":{"address":"10.0.0.0/16"}},"networkType":"VNET","publicIps":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/publicIPAddresses/fw0718-public-ip","address":"20.112.141.94"}],"enableEgressNat":"DISABLED","egressNatIp":[]},"associatedRulestack":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/testlrs","location":"eastus"},"dnsSettings":{"enableDnsProxy":"DISABLED","enabledDnsType":"CUSTOM"},"isPanoramaManaged":"FALSE","panoramaConfig":{"configString":"bas64EncodedString"},"provisioningState":"Accepted","planData":{"usageType":"PAYG","billingCycle":"MONTHLY","planId":"panw-cloud-ngfw-payg","effectiveDate":"0001-01-01T00:00:00Z"},"marketplaceDetails":{"offerId":"pan_swfw_cloud_ngfw","publisherId":"paloaltonetworks","marketplaceSubscriptionStatus":"Subscribed"}}}' + headers: + cache-control: + - no-cache + content-length: + - '2240' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:53:23 GMT + etag: + - '"0d00740c-0000-0100-0000-64c0c2dc0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/firewalls/firewall000002?api-version=2022-08-29 + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/fdc3bbe3-8250-4f2a-833a-1340c4ae9940*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530?api-version=2022-08-29 + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:53:24 GMT + etag: + - '"0d005b0d-0000-0100-0000-64c0c2e50000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/fdc3bbe3-8250-4f2a-833a-1340c4ae9940*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530?api-version=2022-08-29 + mise-correlation-id: + - c8b6d8e6-21d1-46cd-a223-c04405b2aa40 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/fdc3bbe3-8250-4f2a-833a-1340c4ae9940*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/fdc3bbe3-8250-4f2a-833a-1340c4ae9940*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530","name":"fdc3bbe3-8250-4f2a-833a-1340c4ae9940*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/firewalls/firewall000002","status":"Deleting","startTime":"2023-07-26T06:53:24.9650302Z"}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/eastus/operationStatuses/fdc3bbe3-8250-4f2a-833a-1340c4ae9940*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530?api-version=2022-08-29 + cache-control: + - no-cache + content-length: + - '554' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:53:25 GMT + etag: + - '"0b00ab0a-0000-0100-0000-64c0c2e40000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/eastus/operationStatuses/fdc3bbe3-8250-4f2a-833a-1340c4ae9940*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530?api-version=2022-08-29 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw firewall delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/fdc3bbe3-8250-4f2a-833a-1340c4ae9940*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/fdc3bbe3-8250-4f2a-833a-1340c4ae9940*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530","name":"fdc3bbe3-8250-4f2a-833a-1340c4ae9940*C7F11E7196DB82603105139BD5992EC5A20D61D50A4B4295022D539C565CD530","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_firewall000001/providers/PaloAltoNetworks.Cloudngfw/firewalls/firewall000002","status":"Succeeded","startTime":"2023-07-26T06:53:24.9650302Z","endTime":"2023-07-26T06:53:30.0188066Z","error":{},"properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '625' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 26 Jul 2023 06:53:55 GMT + etag: + - '"0b00950b-0000-0100-0000-64c0c2ea0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_networks_cloudngfw_local_rulestack.yaml b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_networks_cloudngfw_local_rulestack.yaml new file mode 100644 index 00000000000..46fd69509f0 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/recordings/test_palo_alto_networks_cloudngfw_local_rulestack.yaml @@ -0,0 +1,2134 @@ +interactions: +- request: + body: '{"identity": {"type": "None"}, "location": "eastus", "properties": {"defaultMode": + "IPS", "description": "local rulestacks", "minAppIdVersion": "8595-7473", "scope": + "LOCAL", "securityServices": {"antiSpywareProfile": "BestPractice", "antiVirusProfile": + "BestPractice", "dnsSubscription": "BestPractice", "fileBlockingProfile": "BestPractice", + "urlFilteringProfile": "BestPractice", "vulnerabilityProfile": "BestPractice"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack create + Connection: + - keep-alive + Content-Length: + - '424' + Content-Type: + - application/json + ParameterSetName: + - -g -n --identity --location --default-mode --description --min-app-id-version + --scope --security-services + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","name":"localrulestack000002","type":"paloaltonetworks.cloudngfw/localrulestacks","location":"eastus","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-28T02:50:46.666445Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-28T02:50:46.666445Z"},"identity":{"type":"None"},"properties":{"scope":"LOCAL","description":"local + rulestacks","minAppIdVersion":"8595-7473","provisioningState":"Accepted","securityServices":{"vulnerabilityProfile":"BestPractice","antiSpywareProfile":"BestPractice","antiVirusProfile":"BestPractice","urlFilteringProfile":"BestPractice","fileBlockingProfile":"BestPractice","dnsSubscription":"BestPractice","outboundUnTrustCertificate":null,"outboundTrustCertificate":null},"defaultMode":"IPS"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/f955e068-38e3-4f56-a8a8-59d2097fea12*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + cache-control: + - no-cache + content-length: + - '1025' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:50:49 GMT + etag: + - '"39003ca3-0000-0100-0000-64c32d080000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/f955e068-38e3-4f56-a8a8-59d2097fea12*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + mise-correlation-id: + - 1312a78f-a8b4-4f9c-bf2c-7df3ad33163e + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack create + Connection: + - keep-alive + ParameterSetName: + - -g -n --identity --location --default-mode --description --min-app-id-version + --scope --security-services + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/f955e068-38e3-4f56-a8a8-59d2097fea12*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/f955e068-38e3-4f56-a8a8-59d2097fea12*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","name":"f955e068-38e3-4f56-a8a8-59d2097fea12*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","status":"Accepted","startTime":"2023-07-28T02:50:47.9384083Z"}' + headers: + cache-control: + - no-cache + content-length: + - '573' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:50:53 GMT + etag: + - '"0400724a-0000-0100-0000-64c32d080000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack create + Connection: + - keep-alive + ParameterSetName: + - -g -n --identity --location --default-mode --description --min-app-id-version + --scope --security-services + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/f955e068-38e3-4f56-a8a8-59d2097fea12*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/f955e068-38e3-4f56-a8a8-59d2097fea12*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","name":"f955e068-38e3-4f56-a8a8-59d2097fea12*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","status":"Succeeded","startTime":"2023-07-28T02:50:47.9384083Z","endTime":"2023-07-28T02:51:17.1695152Z","error":{},"properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '644' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:51:25 GMT + etag: + - '"0400b74a-0000-0100-0000-64c32d250000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack create + Connection: + - keep-alive + ParameterSetName: + - -g -n --identity --location --default-mode --description --min-app-id-version + --scope --security-services + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","name":"localrulestack000002","type":"paloaltonetworks.cloudngfw/localrulestacks","location":"eastus","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-28T02:50:46.666445Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-28T02:50:46.666445Z"},"identity":{"type":"None"},"properties":{"scope":"LOCAL","description":"local + rulestacks","minAppIdVersion":"8595-7473","provisioningState":"Succeeded","securityServices":{"vulnerabilityProfile":"BestPractice","antiSpywareProfile":"BestPractice","antiVirusProfile":"BestPractice","urlFilteringProfile":"BestPractice","fileBlockingProfile":"BestPractice","dnsSubscription":"BestPractice"},"defaultMode":"IPS","panEtag":"950f9152-2cf1-11ee-9458-6eecfc0ae1a7"}}' + headers: + cache-control: + - no-cache + content-length: + - '1009' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:51:26 GMT + etag: + - '"39002ca5-0000-0100-0000-64c32d250000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack update + Connection: + - keep-alive + ParameterSetName: + - -g -n --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","name":"localrulestack000002","type":"paloaltonetworks.cloudngfw/localrulestacks","location":"eastus","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-28T02:50:46.666445Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-28T02:50:46.666445Z"},"identity":{"type":"None"},"properties":{"scope":"LOCAL","description":"local + rulestacks","minAppIdVersion":"8595-7473","provisioningState":"Succeeded","securityServices":{"vulnerabilityProfile":"BestPractice","antiSpywareProfile":"BestPractice","antiVirusProfile":"BestPractice","urlFilteringProfile":"BestPractice","fileBlockingProfile":"BestPractice","dnsSubscription":"BestPractice"},"defaultMode":"IPS","panEtag":"950f9152-2cf1-11ee-9458-6eecfc0ae1a7"}}' + headers: + cache-control: + - no-cache + content-length: + - '1009' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:51:32 GMT + etag: + - '"39002ca5-0000-0100-0000-64c32d250000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"identity": {"type": "None"}, "location": "eastus", "properties": {"defaultMode": + "IPS", "description": "local rulestacks", "minAppIdVersion": "8595-7473", "panEtag": + "950f9152-2cf1-11ee-9458-6eecfc0ae1a7", "provisioningState": "Succeeded", "scope": + "LOCAL", "securityServices": {"antiSpywareProfile": "BestPractice", "antiVirusProfile": + "BestPractice", "dnsSubscription": "BestPractice", "fileBlockingProfile": "BestPractice", + "urlFilteringProfile": "BestPractice", "vulnerabilityProfile": "BestPractice"}}, + "tags": {"tag-name": "value"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack update + Connection: + - keep-alive + Content-Length: + - '540' + Content-Type: + - application/json + ParameterSetName: + - -g -n --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","name":"localrulestack000002","type":"paloaltonetworks.cloudngfw/localrulestacks","location":"eastus","tags":{"tag-name":"value"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-28T02:50:46.666445Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-28T02:51:34.0592132Z"},"identity":{"type":"None"},"properties":{"panEtag":"950f9152-2cf1-11ee-9458-6eecfc0ae1a7","scope":"LOCAL","description":"local + rulestacks","minAppIdVersion":"8595-7473","provisioningState":"Accepted","securityServices":{"vulnerabilityProfile":"BestPractice","antiSpywareProfile":"BestPractice","antiVirusProfile":"BestPractice","urlFilteringProfile":"BestPractice","fileBlockingProfile":"BestPractice","dnsSubscription":"BestPractice","outboundUnTrustCertificate":null,"outboundTrustCertificate":null},"defaultMode":"IPS"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/7715ddfe-d86b-43ba-a8bd-f2c1d5a480e0*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + cache-control: + - no-cache + content-length: + - '1103' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:51:36 GMT + etag: + - '"390034a5-0000-0100-0000-64c32d360000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/7715ddfe-d86b-43ba-a8bd-f2c1d5a480e0*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + mise-correlation-id: + - 970b3feb-1312-41db-9be7-a93ec16bcee3 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack update + Connection: + - keep-alive + ParameterSetName: + - -g -n --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/7715ddfe-d86b-43ba-a8bd-f2c1d5a480e0*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/7715ddfe-d86b-43ba-a8bd-f2c1d5a480e0*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","name":"7715ddfe-d86b-43ba-a8bd-f2c1d5a480e0*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","status":"Accepted","startTime":"2023-07-28T02:51:34.3907825Z"}' + headers: + cache-control: + - no-cache + content-length: + - '573' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:51:37 GMT + etag: + - '"0400e14a-0000-0100-0000-64c32d360000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack update + Connection: + - keep-alive + ParameterSetName: + - -g -n --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/7715ddfe-d86b-43ba-a8bd-f2c1d5a480e0*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/7715ddfe-d86b-43ba-a8bd-f2c1d5a480e0*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","name":"7715ddfe-d86b-43ba-a8bd-f2c1d5a480e0*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","status":"Succeeded","startTime":"2023-07-28T02:51:34.3907825Z","endTime":"2023-07-28T02:51:39.0627279Z","error":{},"properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '644' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:52:11 GMT + etag: + - '"0400ed4a-0000-0100-0000-64c32d3b0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack update + Connection: + - keep-alive + ParameterSetName: + - -g -n --tags + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","name":"localrulestack000002","type":"paloaltonetworks.cloudngfw/localrulestacks","location":"eastus","tags":{"tag-name":"value"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-28T02:50:46.666445Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-28T02:51:34.0592132Z"},"identity":{"type":"None"},"properties":{"panEtag":"ab57e4c8-2cf1-11ee-a545-a655c221ae57","scope":"LOCAL","description":"local + rulestacks","minAppIdVersion":"8595-7473","provisioningState":"Succeeded","securityServices":{"vulnerabilityProfile":"BestPractice","antiSpywareProfile":"BestPractice","antiVirusProfile":"BestPractice","urlFilteringProfile":"BestPractice","fileBlockingProfile":"BestPractice","dnsSubscription":"BestPractice"},"defaultMode":"IPS"}}' + headers: + cache-control: + - no-cache + content-length: + - '1038' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:52:13 GMT + etag: + - '"390037a5-0000-0100-0000-64c32d3b0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks?api-version=2022-08-29 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","name":"localrulestack000002","type":"paloaltonetworks.cloudngfw/localrulestacks","location":"eastus","tags":{"tag-name":"value"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-28T02:50:46.666445Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-28T02:51:34.0592132Z"},"identity":{"type":"None"},"properties":{"panEtag":"ab57e4c8-2cf1-11ee-a545-a655c221ae57","scope":"LOCAL","description":"local + rulestacks","minAppIdVersion":"8595-7473","provisioningState":"Succeeded","securityServices":{"vulnerabilityProfile":"BestPractice","antiSpywareProfile":"BestPractice","antiVirusProfile":"BestPractice","urlFilteringProfile":"BestPractice","fileBlockingProfile":"BestPractice","dnsSubscription":"BestPractice"},"defaultMode":"IPS"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1050' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:52:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - e442af1f-ded4-47f3-a9ee-f5826e23d9e3 + - b552b3f5-59fa-4fe8-a089-9e37c2f1b635 + - aa293119-feb2-4f5d-abcc-3242de3b5163 + - 5c9d449c-4f56-4d7c-ade9-fd4646dd812f + - 11532889-d378-4bef-a532-0e50cdec6147 + - 9c19bda9-3d51-438e-9a2c-543882f8303a + - 524c27ce-fff3-48db-b83a-606c0bf766c6 + - 440df2b8-1874-4bf4-8610-6b6b9cc31f5e + - 8ae73b74-0ea5-495a-baa0-fae3157f2f17 + - 61eeac28-abdf-44f8-acdb-f9d19632ab3b + - 171a1fb8-b9b3-428f-b57c-6254459b7b35 + - 9366c6d9-5723-4e0d-85f6-8d8d4973ba6b + - ef6d02a0-e27c-470a-869b-37f980feb70d + - 9b3d5e4d-4fed-4387-a57f-f446bc7e3f90 + - 64bc4e24-37b0-4364-bb00-f0aa34c2ee5c + - 978ff5bf-c5eb-4812-8e45-25ca6879ee46 + - 8464f527-1f01-46b8-8633-c282ce4ca4ea + - 4994f0f2-fa94-4908-958f-e29000563fd1 + - 13baee54-7559-4ffe-b622-6f34280e37d6 + - fe06a0b4-6d07-4968-89da-a2bc73295dd2 + - b5f22ec0-e59f-492e-bcbb-156214285322 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","name":"localrulestack000002","type":"paloaltonetworks.cloudngfw/localrulestacks","location":"eastus","tags":{"tag-name":"value"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-28T02:50:46.666445Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-28T02:51:34.0592132Z"},"identity":{"type":"None"},"properties":{"panEtag":"ab57e4c8-2cf1-11ee-a545-a655c221ae57","scope":"LOCAL","description":"local + rulestacks","minAppIdVersion":"8595-7473","provisioningState":"Succeeded","securityServices":{"vulnerabilityProfile":"BestPractice","antiSpywareProfile":"BestPractice","antiVirusProfile":"BestPractice","urlFilteringProfile":"BestPractice","fileBlockingProfile":"BestPractice","dnsSubscription":"BestPractice"},"defaultMode":"IPS"}}' + headers: + cache-control: + - no-cache + content-length: + - '1038' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:52:30 GMT + etag: + - '"390037a5-0000-0100-0000-64c32d3b0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack show-change-log + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/getChangeLog?api-version=2022-08-29 + response: + body: + string: '{"changes":["Rulestack"],"lastCommitted":"2023-07-28T02:50:59.542518+00:00","lastModified":"2023-07-28T02:51:36.943337+00:00"}' + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:52:40 GMT + expires: + - '-1' + mise-correlation-id: + - de53b4f2-e9ba-4a36-aaf4-13f9e1cb2a35 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack show-support-info + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/getSupportInfo?api-version=2022-08-29 + response: + body: + string: '{"productSku":"PAN-CLOUD-NGFW-AZURE-PAYG","productSerial":null,"accountRegistered":"FALSE","accountId":null,"userDomainSupported":"TRUE","userRegistered":"FALSE","freeTrial":"TRUE","freeTrialDaysLeft":30,"freeTrialCreditLeft":0,"helpURL":"https://live.paloaltonetworks.com?productSku=PAN-CLOUD-NGFW-AZURE-PAYG","supportURL":"https://support.paloaltonetworks.com?productSku=PAN-CLOUD-NGFW-AZURE-PAYG&userEmail=v-taoxuzeng@microsoft.com","registerURL":"https://support.paloaltonetworks.com/Home/Register?tenantId=888d76fa-54b2-4ced-8ee5-aac1585adee7&productSku=PAN-CLOUD-NGFW-AZURE-PAYG&userEmail=v-taoxuzeng@microsoft.com"}' + headers: + cache-control: + - no-cache + content-length: + - '622' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:52:53 GMT + expires: + - '-1' + mise-correlation-id: + - 332a77c3-b26e-4cb2-ac08-96c6f52c4eca + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack list-app-id + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/listAppIds?api-version=2022-08-29 + response: + body: + string: '{"value":["100bao","104apci-supervisory","104apci-unnumbered","104apci-unnumbered-startdt-act","104apci-unnumbered-startdt-con","104apci-unnumbered-stopdt-act","104apci-unnumbered-stopdt-con","104apci-unnumbered-test-act","104apci-unnumbered-test-con","104asdu-file-transfer","104asdu-file-transfer-type120","104asdu-file-transfer-type121","104asdu-file-transfer-type122","104asdu-file-transfer-type123","104asdu-file-transfer-type124","104asdu-file-transfer-type125","104asdu-file-transfer-type126","104asdu-file-transfer-type127","104asdu-param-control","104asdu-param-control-type110","104asdu-param-control-type111","104asdu-param-control-type112","104asdu-param-control-type113","104asdu-process-control","104asdu-process-control-type45","104asdu-process-control-type46","104asdu-process-control-type47","104asdu-process-control-type48","104asdu-process-control-type49","104asdu-process-control-type50","104asdu-process-control-type51","104asdu-process-control-type58","104asdu-process-control-type59","104asdu-process-control-type60","104asdu-process-control-type61","104asdu-process-control-type62","104asdu-process-control-type63","104asdu-process-control-type64","104asdu-process-monitor","104asdu-process-monitor-type1","104asdu-process-monitor-type10","104asdu-process-monitor-type11","104asdu-process-monitor-type12","104asdu-process-monitor-type13","104asdu-process-monitor-type14","104asdu-process-monitor-type15","104asdu-process-monitor-type16","104asdu-process-monitor-type17","104asdu-process-monitor-type18","104asdu-process-monitor-type19","104asdu-process-monitor-type2","104asdu-process-monitor-type20","104asdu-process-monitor-type21","104asdu-process-monitor-type3","104asdu-process-monitor-type30","104asdu-process-monitor-type31","104asdu-process-monitor-type32","104asdu-process-monitor-type33","104asdu-process-monitor-type34","104asdu-process-monitor-type35","104asdu-process-monitor-type36","104asdu-process-monitor-type37","104asdu-process-monitor-type38","104asdu-process-monitor-type39","104asdu-process-monitor-type4","104asdu-process-monitor-type40","104asdu-process-monitor-type5","104asdu-process-monitor-type6","104asdu-process-monitor-type7","104asdu-process-monitor-type8","104asdu-process-monitor-type9","104asdu-system-control","104asdu-system-control-type100","104asdu-system-control-type101","104asdu-system-control-type102","104asdu-system-control-type103","104asdu-system-control-type104","104asdu-system-control-type105","104asdu-system-control-type106","104asdu-system-control-type107","104asdu-system-monitor","104asdu-system-monitor-type70","1c-enterprise","1und1-mail","24sevenoffice","2ch-base","2ch-posting","360-safeguard-update","3pc","4shared","4sync","51.com-base","51.com-bbs","51.com-games","51.com-mail","51.com-music","51.com-posting","51.com-webdisk","7shifts","8x8"],"nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/listAppIds?api-version=2022-08-29&$skipToken=Im5leHQtdG9rZW46ZXlKd2F5STZJQ0pCVUZCSlJGOU1TVk5VSXpnMU9UVXROelEzTXlJc0lDSnpheUk2SUNJNGVEZ2lmUT09XG4i"}' + headers: + cache-control: + - no-cache + content-length: + - '3218' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:53:05 GMT + expires: + - '-1' + mise-correlation-id: + - 640b7d08-7cc9-46bf-9e56-1c9de64f166d + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack list-country + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/listCountries?api-version=2022-08-29 + response: + body: + string: '{"value":[{"code":"A1","description":"Anonymous Proxy"},{"code":"A2","description":"Satellite + Provider"},{"code":"AD","description":"Andorra"},{"code":"AE","description":"United + Arab Emirates"},{"code":"AF","description":"Afghanistan"},{"code":"AG","description":"Antigua + And Barbuda"},{"code":"AI","description":"Anguilla"},{"code":"AL","description":"Albania"},{"code":"AM","description":"Armenia"},{"code":"AN","description":"Netherlands + Antilles"},{"code":"AO","description":"Angola"},{"code":"AP","description":"Asia + Pacific Region"},{"code":"AQ","description":"Antarctica"},{"code":"AR","description":"Argentina"},{"code":"AS","description":"American + Samoa"},{"code":"AT","description":"Austria"},{"code":"AU","description":"Australia"},{"code":"AW","description":"Aruba"},{"code":"AX","description":"Land + Islands"},{"code":"AZ","description":"Azerbaijan"},{"code":"BA","description":"Bosnia + And Herzegovina"},{"code":"BB","description":"Barbados"},{"code":"BD","description":"Bangladesh"},{"code":"BE","description":"Belgium"},{"code":"BF","description":"Burkina + Faso"},{"code":"BG","description":"Bulgaria"},{"code":"BH","description":"Bahrain"},{"code":"BI","description":"Burundi"},{"code":"BJ","description":"Benin"},{"code":"BL","description":"Saint + BarthLemy"},{"code":"BM","description":"Bermuda"},{"code":"BN","description":"Brunei + Darussalam"},{"code":"BO","description":"Bolivia Plurinational State Of"},{"code":"BQ","description":"Bonaire + Saint Eustatius And Saba"},{"code":"BR","description":"Brazil"},{"code":"BS","description":"Bahamas"},{"code":"BT","description":"Bhutan"},{"code":"BV","description":"Bouvet + Island"},{"code":"BW","description":"Botswana"},{"code":"BY","description":"Belarus"},{"code":"BZ","description":"Belize"},{"code":"CA","description":"Canada"},{"code":"CC","description":"Cocos + Islands"},{"code":"CD","description":"Congo The Democratic Republic Of The"},{"code":"CE","description":"Crimea"},{"code":"CF","description":"Central + African Republic"},{"code":"CG","description":"Congo"},{"code":"CH","description":"Switzerland"},{"code":"CI","description":"CTe + D Ivoire"},{"code":"CK","description":"Cook Islands"},{"code":"CL","description":"Chile"},{"code":"CM","description":"Cameroon"},{"code":"CN","description":"China"},{"code":"CO","description":"Colombia"},{"code":"CR","description":"Costa + Rica"},{"code":"CU","description":"Cuba"},{"code":"CV","description":"Cape + Verde"},{"code":"CW","description":"Curacao"},{"code":"CX","description":"Christmas + Island"},{"code":"CY","description":"Cyprus"},{"code":"CZ","description":"Czech + Republic"},{"code":"DE","description":"Germany"},{"code":"DJ","description":"Djibouti"},{"code":"DK","description":"Denmark"},{"code":"DM","description":"Dominica"},{"code":"DO","description":"Dominican + Republic"},{"code":"DZ","description":"Algeria"},{"code":"EC","description":"Ecuador"},{"code":"EE","description":"Estonia"},{"code":"EG","description":"Egypt"},{"code":"EH","description":"Western + Sahara"},{"code":"ER","description":"Eritrea"},{"code":"ES","description":"Spain"},{"code":"ET","description":"Ethiopia"},{"code":"EU","description":"European + Union"},{"code":"FI","description":"Finland"},{"code":"FJ","description":"Fiji"},{"code":"FK","description":"Falkland + Islands (Malvinas)"},{"code":"FM","description":"Micronesia Federated States + Of"},{"code":"FO","description":"Faroe Islands"},{"code":"FR","description":"France"},{"code":"GA","description":"Gabon"},{"code":"GB","description":"United + Kingdom"},{"code":"GD","description":"Grenada"},{"code":"GE","description":"Georgia"},{"code":"GF","description":"French + Guiana"},{"code":"GG","description":"Guernsey"},{"code":"GH","description":"Ghana"},{"code":"GI","description":"Gibraltar"},{"code":"GL","description":"Greenland"},{"code":"GM","description":"Gambia"},{"code":"GN","description":"Guinea"},{"code":"GP","description":"Guadeloupe"},{"code":"GQ","description":"Equatorial + Guinea"},{"code":"GR","description":"Greece"},{"code":"GS","description":"South + Georgia And The South Sandwich Islands"},{"code":"GT","description":"Guatemala"},{"code":"GU","description":"Guam"},{"code":"GW","description":"Guinea-Bissau"},{"code":"GY","description":"Guyana"}],"nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/listCountries?api-version=2022-08-29&$skipToken=Im5leHQtdG9rZW46ZXlKd2F5STZJQ0pIUlU5SlVGOURUMVZPVkZKWkl5SXNJQ0p6YXlJNklDSkhXU0o5XG4i"}' + headers: + cache-control: + - no-cache + content-length: + - '4584' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:53:16 GMT + expires: + - '-1' + mise-correlation-id: + - c72a9ffc-df4f-488d-b95c-a49f889641e5 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack list-firewall + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/listFirewalls?api-version=2022-08-29 + response: + body: + string: '{"value":[],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '28' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:53:22 GMT + expires: + - '-1' + mise-correlation-id: + - 98bd05fe-4f3c-49a6-9b32-bae4650447ff + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack list-predefined-url-category + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/listPredefinedUrlCategories?api-version=2022-08-29 + response: + body: + string: '{"value":[{"action":"allow","name":"abortion"},{"action":"block","name":"abused-drugs"},{"action":"block","name":"adult"},{"action":"allow","name":"alcohol-and-tobacco"},{"action":"allow","name":"auctions"},{"action":"allow","name":"business-and-economy"},{"action":"block","name":"command-and-control"},{"action":"allow","name":"computer-and-internet-info"},{"action":"allow","name":"content-delivery-networks"},{"action":"allow","name":"copyright-infringement"},{"action":"alert","name":"cryptocurrency"},{"action":"allow","name":"dating"},{"action":"allow","name":"dynamic-dns"},{"action":"allow","name":"educational-institutions"},{"action":"allow","name":"entertainment-and-arts"},{"action":"allow","name":"extremism"},{"action":"allow","name":"financial-services"},{"action":"block","name":"gambling"},{"action":"allow","name":"games"},{"action":"allow","name":"government"},{"action":"block","name":"grayware"},{"action":"block","name":"hacking"},{"action":"allow","name":"health-and-medicine"},{"action":"alert","name":"high-risk"},{"action":"allow","name":"home-and-garden"},{"action":"allow","name":"hunting-and-fishing"},{"action":"allow","name":"insufficient-content"},{"action":"allow","name":"internet-communications-and-telephony"},{"action":"allow","name":"internet-portals"},{"action":"allow","name":"job-search"},{"action":"allow","name":"legal"},{"action":"allow","name":"low-risk"},{"action":"block","name":"malware"},{"action":"alert","name":"medium-risk"},{"action":"allow","name":"military"},{"action":"allow","name":"motor-vehicles"},{"action":"allow","name":"music"},{"action":"alert","name":"newly-registered-domain"},{"action":"allow","name":"news"},{"action":"allow","name":"not-resolved"},{"action":"allow","name":"nudity"},{"action":"allow","name":"online-storage-and-backup"},{"action":"allow","name":"parked"},{"action":"allow","name":"peer-to-peer"},{"action":"allow","name":"personal-sites-and-blogs"},{"action":"allow","name":"philosophy-and-political-advocacy"},{"action":"block","name":"phishing"},{"action":"allow","name":"private-ip-addresses"},{"action":"allow","name":"proxy-avoidance-and-anonymizers"},{"action":"block","name":"questionable"},{"action":"allow","name":"real-estate"},{"action":"alert","name":"real-time-detection"},{"action":"allow","name":"recreation-and-hobbies"},{"action":"allow","name":"reference-and-research"},{"action":"allow","name":"religion"},{"action":"allow","name":"search-engines"},{"action":"allow","name":"sex-education"},{"action":"allow","name":"shareware-and-freeware"},{"action":"allow","name":"shopping"},{"action":"allow","name":"social-networking"},{"action":"allow","name":"society"},{"action":"allow","name":"sports"},{"action":"allow","name":"stock-advice-and-tools"},{"action":"allow","name":"streaming-media"},{"action":"allow","name":"swimsuits-and-intimate-apparel"},{"action":"allow","name":"training-and-tools"},{"action":"allow","name":"translation"},{"action":"allow","name":"travel"},{"action":"allow","name":"unknown"},{"action":"block","name":"weapons"},{"action":"allow","name":"web-advertisements"},{"action":"allow","name":"web-based-email"},{"action":"allow","name":"web-hosting"}],"nextLink":"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/listPredefinedUrlCategories?api-version=2022-08-29&$skipToken="}' + headers: + cache-control: + - no-cache + content-length: + - '3487' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:53:38 GMT + expires: + - '-1' + mise-correlation-id: + - 4ec13c4e-ce10-4b62-bcd8-8a150da9c336 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack revert + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/revert?api-version=2022-08-29 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:53:48 GMT + expires: + - '-1' + mise-correlation-id: + - 1f71aeab-8dc5-4611-8af5-f0b8d270f3b6 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack list-advanced-security-object + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --type + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/listAdvancedSecurityObjects?type=feeds&api-version=2022-08-29 + response: + body: + string: '{"error":{"code":"ResourcePostActionFailed","message":"ResourcePostActionFailed: + Not Found"}}' + headers: + cache-control: + - no-cache + content-length: + - '93' + content-type: + - application/json + date: + - Fri, 28 Jul 2023 02:53:55 GMT + expires: + - '-1' + mise-correlation-id: + - 926a95c7-c8c2-4906-8f86-173c3aa8d8d9 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack list-security-service + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --type + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/listSecurityServices?type=antiSpyware&api-version=2022-08-29 + response: + body: + string: '{"error":{"code":"ResourcePostActionFailed","message":"ResourcePostActionFailed: + Not Found"}}' + headers: + cache-control: + - no-cache + content-length: + - '93' + content-type: + - application/json + date: + - Fri, 28 Jul 2023 02:54:00 GMT + expires: + - '-1' + mise-correlation-id: + - 3eabc68d-45cb-4dc1-8db0-d95442cd9d2e + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - service + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"auditComment": "comment", "certificateSelfSigned": "TRUE", + "description": "description"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack certificate create + Connection: + - keep-alive + Content-Length: + - '106' + Content-Type: + - application/json + ParameterSetName: + - -g --local-rulestack-name --name --audit-comment --certificate-self-signed + --description + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/certificates/certificate000003?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/certificates/certificate000003","name":"certificate000003","type":"paloaltonetworks.cloudngfw/localrulestacks/certificates","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-28T02:54:07.1109974Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-28T02:54:07.1109974Z"},"properties":{"certificateSelfSigned":"TRUE","auditComment":"comment","description":"description","etag":"0607d608-2cf2-11ee-8c54-a655c221ae57","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '751' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:54:09 GMT + expires: + - '-1' + mise-correlation-id: + - 4ce83a36-335e-4bc8-a956-32da39023ec7 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack certificate list + Connection: + - keep-alive + ParameterSetName: + - -g --local-rulestack-name + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/certificates?api-version=2022-08-29 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/certificates/certificate000003","name":"certificate000003","type":"localRulestacks/certificates","properties":{"certificateSelfSigned":"TRUE","auditComment":"comment","description":"description","etag":"0607d608-2cf2-11ee-8c54-a655c221ae57","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '494' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:54:14 GMT + expires: + - '-1' + mise-correlation-id: + - 1d998c5b-77db-4b67-b11d-ceb90a51877c + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack certificate show + Connection: + - keep-alive + ParameterSetName: + - -g --local-rulestack-name --name + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/certificates/certificate000003?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/certificates/certificate000003","name":"certificate000003","type":"localRulestacks/certificates","properties":{"certificateSelfSigned":"TRUE","auditComment":"comment","description":"description","etag":"0607d608-2cf2-11ee-8c54-a655c221ae57","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '482' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:54:22 GMT + expires: + - '-1' + mise-correlation-id: + - e6171150-dc9a-41fe-b27b-4efe269022d6 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack certificate delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --local-rulestack-name --name + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/certificates/certificate000003?api-version=2022-08-29 + response: + body: + string: 'null' + headers: + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:54:31 GMT + expires: + - '-1' + mise-correlation-id: + - 7b2ebc80-4589-4e9d-a630-76adf390b730 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"auditComment": "string", "description": "description", + "fqdnList": ["string1", "string2"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack fqdnlist create + Connection: + - keep-alive + Content-Length: + - '108' + Content-Type: + - application/json + ParameterSetName: + - -g --local-rulestack-name --name --audit-comment --description --fqdn-list + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/fqdnlists/fqdnlist000004?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/fqdnlists/fqdnlist000004","name":"fqdnlist000004","type":"paloaltonetworks.cloudngfw/localrulestacks/fqdnlists","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-28T02:54:38.2452036Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-28T02:54:38.2452036Z"},"properties":{"description":"description","fqdnList":["string1","string2"],"etag":"18715f30-2cf2-11ee-9f58-a655c221ae57","auditComment":"string","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '740' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:54:39 GMT + expires: + - '-1' + mise-correlation-id: + - 986aeb85-947b-48bd-901f-710c1245ab6e + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack fqdnlist list + Connection: + - keep-alive + ParameterSetName: + - -g --local-rulestack-name + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/fqdnlists?api-version=2022-08-29 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/fqdnlists/fqdnlist000004","name":"fqdnlist000004","type":"localRulestacks/prefixlists","properties":{"description":"description","fqdnList":["string1","string2"],"etag":"18715f30-2cf2-11ee-9f58-a655c221ae57","auditComment":"string","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '485' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:54:47 GMT + expires: + - '-1' + mise-correlation-id: + - ff6fc4c9-6a0d-4f09-a76e-fb6c151f9e04 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack fqdnlist show + Connection: + - keep-alive + ParameterSetName: + - -g --local-rulestack-name --name + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/fqdnlists/fqdnlist000004?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/fqdnlists/fqdnlist000004","name":"fqdnlist000004","type":"localRulestacks/prefixlists","properties":{"description":"description","fqdnList":["string1","string2"],"etag":"18715f30-2cf2-11ee-9f58-a655c221ae57","auditComment":"string","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '473' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:54:55 GMT + expires: + - '-1' + mise-correlation-id: + - a3bcd695-d6ff-4615-b9e5-9cfd6a59df4e + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack fqdnlist delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --local-rulestack-name --name + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/fqdnlists/fqdnlist000004?api-version=2022-08-29 + response: + body: + string: 'null' + headers: + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:55:14 GMT + expires: + - '-1' + mise-correlation-id: + - 4541a3ea-f4ad-488f-9676-4c48ef83d086 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"auditComment": "comment", "description": "string", "prefixList": + ["1.0.0.0/24"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack prefixlist create + Connection: + - keep-alive + Content-Length: + - '98' + Content-Type: + - application/json + ParameterSetName: + - -g --local-rulestack-name --name --audit-comment --description --prefix-list + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/prefixlists/prefixlist000006?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/prefixlists/prefixlist000006","name":"prefixlist000006","type":"paloaltonetworks.cloudngfw/localrulestacks/prefixlists","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-28T02:55:24.3302216Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-28T02:55:24.3302216Z"},"properties":{"description":"string","prefixList":["1.0.0.0/24"],"etag":"33ea3714-2cf2-11ee-8979-a655c221ae57","auditComment":"comment","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '739' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:55:25 GMT + expires: + - '-1' + mise-correlation-id: + - c05bfd51-fe66-4f46-bd7c-754eba19a9c3 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack prefixlist list + Connection: + - keep-alive + ParameterSetName: + - -g --local-rulestack-name + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/prefixlists?api-version=2022-08-29 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/prefixlists/prefixlist000006","name":"prefixlist000006","type":"localRulestacks/prefixlists","properties":{"description":"string","prefixList":["1.0.0.0/24"],"etag":"33ea3714-2cf2-11ee-8979-a655c221ae57","auditComment":"comment","provisioningState":"Succeeded"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '482' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:55:32 GMT + expires: + - '-1' + mise-correlation-id: + - 1ea77415-a889-4243-b903-e65121d9a3ef + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack prefixlist show + Connection: + - keep-alive + ParameterSetName: + - -g --local-rulestack-name --name + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/prefixlists/prefixlist000006?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/prefixlists/prefixlist000006","name":"prefixlist000006","type":"localRulestacks/prefixlists","properties":{"description":"string","prefixList":["1.0.0.0/24"],"etag":"33ea3714-2cf2-11ee-8979-a655c221ae57","auditComment":"comment","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '470' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:55:47 GMT + expires: + - '-1' + mise-correlation-id: + - e6419faf-00d5-469b-afb7-7e58f26473cc + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack prefixlist delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --local-rulestack-name --name + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/prefixlists/prefixlist000006?api-version=2022-08-29 + response: + body: + string: 'null' + headers: + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:55:53 GMT + expires: + - '-1' + mise-correlation-id: + - e5675fab-9835-4a57-bbb0-ce8836d753e6 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"actionType": "Allow", "enableLogging": "DISABLED", "protocol": + "application-default", "ruleName": "local_rule000005", "ruleState": "DISABLED"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack local-rule create + Connection: + - keep-alive + Content-Length: + - '160' + Content-Type: + - application/json + ParameterSetName: + - -g --local-rulestack-name --rule-name --priority --action-type --enable-logging + --rule-state + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/localRules/1?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/localRules/1","name":"1","type":"paloaltonetworks.cloudngfw/localrulestacks/localrules","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2023-07-28T02:56:07.2047854Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2023-07-28T02:56:07.2047854Z"},"properties":{"ruleName":"local_rule000005","priority":1,"ruleState":"DISABLED","source":{"cidrs":["any"],"countries":null,"feeds":null,"prefixLists":null},"negateSource":"FALSE","destination":{"cidrs":["any"],"countries":null,"feeds":null,"prefixLists":null,"fqdnLists":null},"negateDestination":"FALSE","applications":["any"],"protocol":"application-default","actionType":"Allow","enableLogging":"DISABLED","decryptionRuleType":"None","etag":"4daa625a-2cf2-11ee-ab55-a655c221ae57","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1054' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:56:09 GMT + expires: + - '-1' + mise-correlation-id: + - 8aef9653-42b7-4828-b9f9-772621b65733 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack local-rule list + Connection: + - keep-alive + ParameterSetName: + - -g --local-rulestack-name + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/localRules?api-version=2022-08-29 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/localRules/1","name":"1","type":"localRulestacks/localRules","properties":{"ruleName":"local_rule000005","priority":1,"ruleState":"DISABLED","source":{"cidrs":["any"],"countries":null,"feeds":null,"prefixLists":null},"negateSource":"FALSE","destination":{"cidrs":["any"],"countries":null,"feeds":null,"prefixLists":null,"fqdnLists":null},"negateDestination":"FALSE","applications":["any"],"protocol":"application-default","actionType":"Allow","enableLogging":"DISABLED","decryptionRuleType":"None","etag":"4daa625a-2cf2-11ee-ab55-a655c221ae57"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/localRules/1000000","name":"1000000","type":"localRulestacks/localRules","properties":{"ruleName":"cloud-ngfw-default-rule","priority":1000000,"ruleState":"ENABLED","source":{"cidrs":["any"],"countries":null,"feeds":null,"prefixLists":null},"negateSource":"FALSE","destination":{"cidrs":["any"],"countries":null,"feeds":null,"prefixLists":null,"fqdnLists":null},"negateDestination":"FALSE","applications":["any"],"protocol":"any","actionType":"Allow","enableLogging":"ENABLED","decryptionRuleType":"None","etag":"94f3a60e-2cf1-11ee-9458-6eecfc0ae1a7"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1526' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:56:19 GMT + expires: + - '-1' + mise-correlation-id: + - 6b98ff2f-e63b-4187-bb95-7e8488210cb0 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack local-rule show + Connection: + - keep-alive + ParameterSetName: + - -g --local-rulestack-name --priority + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/localRules/1?api-version=2022-08-29 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/localRules/1","name":"1","type":"localRulestacks/localRules","properties":{"ruleName":"local_rule000005","priority":1,"ruleState":"DISABLED","source":{"cidrs":["any"],"countries":null,"feeds":null,"prefixLists":null},"negateSource":"FALSE","destination":{"cidrs":["any"],"countries":null,"feeds":null,"prefixLists":null,"fqdnLists":null},"negateDestination":"FALSE","applications":["any"],"protocol":"application-default","actionType":"Allow","enableLogging":"DISABLED","decryptionRuleType":"None","etag":"4daa625a-2cf2-11ee-ab55-a655c221ae57"}}' + headers: + cache-control: + - no-cache + content-length: + - '753' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:56:35 GMT + expires: + - '-1' + mise-correlation-id: + - 27550e1e-246b-46e2-98eb-6e0f2e1c6e9a + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack local-rule delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --local-rulestack-name --priority + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/localRules/1?api-version=2022-08-29 + response: + body: + string: 'null' + headers: + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:56:43 GMT + expires: + - '-1' + mise-correlation-id: + - d3b3bbc6-05c8-4eea-8dba-e01de2924440 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack local-rule delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --local-rulestack-name --priority + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002/localRules/1000000?api-version=2022-08-29 + response: + body: + string: 'null' + headers: + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:56:49 GMT + expires: + - '-1' + mise-correlation-id: + - cc002a48-0e1b-4df8-8d35-e5db31086d73 + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002?api-version=2022-08-29 + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/54ef4c78-9d34-420d-a1a8-ea208d2d9279*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:56:56 GMT + etag: + - '"390024be-0000-0100-0000-64c32e790000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/54ef4c78-9d34-420d-a1a8-ea208d2d9279*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + mise-correlation-id: + - 29e0ad0a-9426-4200-84e8-143669482afa + pragma: + - no-cache + request-context: + - appId=cid-v1:4aa06bd6-38f4-4944-9612-cd84d39b5e90 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/54ef4c78-9d34-420d-a1a8-ea208d2d9279*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/54ef4c78-9d34-420d-a1a8-ea208d2d9279*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","name":"54ef4c78-9d34-420d-a1a8-ea208d2d9279*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","status":"Deleting","startTime":"2023-07-28T02:56:56.8730381Z"}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/eastus/operationStatuses/54ef4c78-9d34-420d-a1a8-ea208d2d9279*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + cache-control: + - no-cache + content-length: + - '573' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:56:58 GMT + etag: + - '"0400c850-0000-0100-0000-64c32e780000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/eastus/operationStatuses/54ef4c78-9d34-420d-a1a8-ea208d2d9279*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - palo-alto cloudngfw local-rulestack delete + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.50.0 (AAZ) azsdk-python-core/1.26.0 Python/3.9.5 (Windows-10-10.0.22621-SP0) + method: GET + uri: https://management.azure.com/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/54ef4c78-9d34-420d-a1a8-ea208d2d9279*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11?api-version=2022-08-29 + response: + body: + string: '{"id":"/providers/PaloAltoNetworks.Cloudngfw/locations/EASTUS/operationStatuses/54ef4c78-9d34-420d-a1a8-ea208d2d9279*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","name":"54ef4c78-9d34-420d-a1a8-ea208d2d9279*1366524D70C88C9A5858BF530AF1BC22332989B282A1963963335F4A8D75EE11","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_palo_alto_networks_cloudngfw_local_rulestack000001/providers/PaloAltoNetworks.Cloudngfw/localRulestacks/localrulestack000002","status":"Succeeded","startTime":"2023-07-28T02:56:56.8730381Z","endTime":"2023-07-28T02:57:03.8499206Z","error":{},"properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '644' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jul 2023 02:57:31 GMT + etag: + - '"0400da50-0000-0100-0000-64c32e7f0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/test_palo_alto_networks.py b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/test_palo_alto_networks.py new file mode 100644 index 00000000000..fe8585d7bf6 --- /dev/null +++ b/src/palo-alto-networks/azext_palo_alto_networks/tests/latest/test_palo_alto_networks.py @@ -0,0 +1,186 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- +from azure.core.exceptions import HttpResponseError + +from azure.cli.testsdk.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) + + +class PaloAltoNetworksScenario(ScenarioTest): + + @AllowLargeResponse(size_kb=10240) + @ResourceGroupPreparer(name_prefix='cli_test_palo_alto_networks_cloudngfw_firewall') + def test_palo_alto_networks_cloudngfw_firewall(self, resource_group): + self.kwargs.update({ + 'cloudngfw_firewall_name': self.create_random_name('firewall', 15), + 'public_ip_name': 'fw0718-public-ip', + 'local_rulestack_name': 'test-local-rulestack', + 'prefix': 'test-publicip-prefix', + 'nsg': self.create_random_name('nsg', 10), + 'vnet': self.create_random_name('vnet', 10), + 'subnet1': self.create_random_name('subnet1', 12), + 'subnet2': self.create_random_name('subnet2', 12), + 'loc': 'centraluseuap' + }) + self.cmd('az network nsg create -g {rg} -n {nsg}') + self.cmd('az network vnet create -g {rg} -n {vnet} --address-prefix 10.0.0.0/16 --nsg {nsg} --subnet-name {subnet1} --subnet-prefixes 10.0.0.0/26') + self.cmd('az network vnet subnet create -g {rg} --vnet-name {vnet} -n {subnet2} --address-prefixes 10.0.1.0/26') + vnet = self.cmd('az network vnet show -g {rg} -n {vnet}').get_output_in_json() + local_rulestack = self.cmd('az palo-alto cloudngfw local-rulestack create --local-rulestack-name testlrs -g {rg} -l eastus --default-mode "IPS" --scope "LOCAL" --pan-etag "9fa4e2c6-1b0c-11ee-b587-3e4c117c6534" --min-app-id-version "8595-7473" --security-services {{"vulnerability-profile":"BestPractice","anti-spyware-profile":"BestPractice","anti-virus-profile":"BestPractice","url-filtering-profile":"BestPractice","file-blocking-profile":"BestPractice","dns-subscription":"BestPractice"}}').get_output_in_json() + self.kwargs.update({ + 'public_ip_id': "/subscriptions/2bf4a339-294d-4c25-b0b2-ef649e9f5c27/resourceGroups/rheaTerraformTest/providers/Microsoft.Network/publicIPAddresses/fw0718-public-ip", + 'vnet_id': vnet['id'], + 'rulestack_id': local_rulestack['id'], + 'trust_subnet': vnet['subnets'][0]['id'], + 'un_trust_subnet': vnet['subnets'][1]['id'] + }) + self.cmd('az palo-alto cloudngfw firewall create ' + '--name {cloudngfw_firewall_name} ' + '-g {rg} ' + '--location eastus ' + '--associated-rulestack {{"location":eastus,"resource-id":{rulestack_id}}} ' + '--dns-settings {{"enable-dns-proxy":DISABLED,"enabled-dns-type":CUSTOM}} ' + '--is-panorama-managed FALSE ' + '--marketplace-details {{"marketplace-subscription-status":Subscribed,"offer-id":pan_swfw_cloud_ngfw,"publisher-id":paloaltonetworks}} ' + '--network-profile {{"egress-nat-ip":[],"enable-egress-nat":DISABLED,"network-type":VNET,"public-ips":[{{"address":"20.112.141.94","resource-id":{public_ip_id}}}],' + '"vnet-configuration":{{"ip-of-trust-subnet-for-udr":{{"address":10.0.0.0/16}},"trust-subnet":{{"resource-id":{trust_subnet}}},"un-trust-subnet":{{"resource-id":{un_trust_subnet}}},"vnet":{{"resource-id":{vnet_id}}}}}}} ' + '--panorama-config {{"config-string":bas64EncodedString}} --plan-data {{"billing-cycle":MONTHLY,"plan-id":panw-cloud-ngfw-payg,"usage-type":PAYG}} --no-wait') + self.cmd('az palo-alto cloudngfw firewall list --resource-group {rg}', + checks=[ + self.check('length(@)', 1), + ]) + self.cmd('az palo-alto cloudngfw firewall show --resource-group {rg} -n {cloudngfw_firewall_name}', + checks=[ + self.check('associatedRulestack.resourceId', '{rulestack_id}'), + self.check('dnsSettings.enableDnsProxy', 'DISABLED'), + self.check('isPanoramaManaged', "FALSE"), + self.check('location', "eastus"), + self.check('marketplaceDetails.marketplaceSubscriptionStatus', "Subscribed"), + self.check('marketplaceDetails.offerId', "pan_swfw_cloud_ngfw"), + self.check('marketplaceDetails.publisherId', "paloaltonetworks"), + self.check('name', '{cloudngfw_firewall_name}'), + self.check('networkProfile.enableEgressNat', "DISABLED"), + self.check('panoramaConfig.configString', "bas64EncodedString"), + self.check('planData.billingCycle', "MONTHLY") + ]) + self.cmd('az palo-alto cloudngfw firewall delete --resource-group {rg} -n {cloudngfw_firewall_name}') + + @AllowLargeResponse(size_kb=10240) + def test_palo_alto_firewall_update(self): + self.kwargs.update({ + 'resource_group': 'rheaTerraformTest', + 'firewall_name': 'prodStabilityTest', + }) + self.cmd('az palo-alto cloudngfw firewall update --name {firewall_name} -g {resource_group} --tags {{"tagName":"value"}}') + self.cmd('az palo-alto cloudngfw firewall show --name {firewall_name} -g {resource_group}', self.check('tags.tagName', "value")) + + @AllowLargeResponse(size_kb=10240) + def test_palo_alto_firewall_v2(self): + self.kwargs.update({ + 'loc': 'eastus', + 'resource_group': 'rheaTerraformTest', + 'firewall_name': 'prodStabilityTest', + 'workspace': self.create_random_name('workspace', 15), + }) + self.cmd('az palo-alto cloudngfw firewall save-log-profile --resource-group {resource_group} -n {firewall_name} ' + '--log-option "SAME_DESTINATION" --log-type "TRAFFIC" ' + '--common-destination {{"monitor-configurations":{{"id":"/subscriptions/2bf4a339-294d-4c25-b0b2-ef649e9f5c27/resourceGroups/sudh_fire_test/providers/Microsoft.OperationalInsights/workspaces/testAnalyticsX","primary-key":"7R5uguOLkTF6zByLV9ef5402y4dQnhiSlNMTKNSpEbjZoBrGrNnM2rD4E7+0v1yFg5y6h3RlrIa7th7qJnoHcQ==","secondary-key":"7lmsLYTVizgkstJpno4fY6u36qmVw4rkaIfzhx82ymLIdYDy0wbq7Tdydkje3z50KbKsQnzhg8KAPFpEki/Buw==","subscription-id":"2bf4a339-294d-4c25-b0b2-ef649e9f5c27","workspace":"63e674d3-cc87-48c6-94cb-2d28a0b245fc"}}}}') + self.cmd('az palo-alto cloudngfw firewall show-log-profile --resource-group {resource_group} -n {firewall_name} ', self.check('type(@)', 'object')) + self.cmd('az palo-alto cloudngfw firewall show-support-info --resource-group {resource_group} -n {firewall_name}') + + self.cmd('az palo-alto cloudngfw firewall status list --resource-group {resource_group} -n {firewall_name}') + self.cmd('az palo-alto cloudngfw firewall status default show --resource-group {resource_group} -n {firewall_name}') + + @AllowLargeResponse(size_kb=10240) + @ResourceGroupPreparer(name_prefix='cli_test_palo_alto_networks_cloudngfw_local_rulestack') + def test_palo_alto_networks_cloudngfw_local_rulestack(self, resource_group): + self.kwargs.update({ + 'local_rulestack_name': self.create_random_name('localrulestack', 20), + 'certificate_name': self.create_random_name('certificate', 15), + 'fqdnlist_name': self.create_random_name('fqdnlist', 15), + 'local_rule_name': self.create_random_name('local_rule', 15), + 'prefixlist_name': self.create_random_name('prefixlist', 15), + 'loc': 'eastus' + }) + self.cmd('az palo-alto cloudngfw local-rulestack create -g {rg} -n {local_rulestack_name} ' + '--identity {{"type":None}} ' + '--location {loc} ' + '--default-mode IPS ' + '--description "local rulestacks" ' + '--min-app-id-version "8595-7473" ' + '--scope "LOCAL" ' + '--security-services {{"vulnerability-profile":"BestPractice","anti-spyware-profile":"BestPractice","anti-virus-profile":"BestPractice","url-filtering-profile":"BestPractice","file-blocking-profile":"BestPractice","dns-subscription":"BestPractice"}}') + self.cmd('az palo-alto cloudngfw local-rulestack update -g {rg} -n {local_rulestack_name} --tags {{"tag-name":"value"}}') + self.cmd('az palo-alto cloudngfw local-rulestack list -g {rg}') + self.cmd('az palo-alto cloudngfw local-rulestack show -g {rg} -n {local_rulestack_name}') + self.cmd('az palo-alto cloudngfw local-rulestack show-change-log -g {rg} -n {local_rulestack_name}') + self.cmd('az palo-alto cloudngfw local-rulestack show-support-info -g {rg} -n {local_rulestack_name}') + self.cmd('az palo-alto cloudngfw local-rulestack list-app-id -g {rg} -n {local_rulestack_name}') + self.cmd('az palo-alto cloudngfw local-rulestack list-country -g {rg} -n {local_rulestack_name}') + self.cmd('az palo-alto cloudngfw local-rulestack list-firewall -g {rg} -n {local_rulestack_name}') + self.cmd('az palo-alto cloudngfw local-rulestack list-predefined-url-category -g {rg} -n {local_rulestack_name}') + self.cmd('az palo-alto cloudngfw local-rulestack revert -g {rg} -n {local_rulestack_name}') + with self.assertRaisesRegex(HttpResponseError, 'ResourcePostActionFailed: Not Found'): + self.cmd('az palo-alto cloudngfw local-rulestack list-advanced-security-object -g {rg} -n {local_rulestack_name} --type feeds') + with self.assertRaisesRegex(HttpResponseError, 'ResourcePostActionFailed: Not Found'): + self.cmd('az palo-alto cloudngfw local-rulestack list-security-service -g {rg} -n {local_rulestack_name} --type antiSpyware') + + self.cmd('az palo-alto cloudngfw local-rulestack certificate create -g {rg} ' + '--local-rulestack-name {local_rulestack_name} ' + '--name {certificate_name} ' + '--audit-comment "comment" ' + '--certificate-self-signed "TRUE" ' + '--description "description" ') + self.cmd('az palo-alto cloudngfw local-rulestack certificate list -g {rg} --local-rulestack-name {local_rulestack_name}') + self.cmd('az palo-alto cloudngfw local-rulestack certificate show -g {rg} --local-rulestack-name {local_rulestack_name} --name {certificate_name}') + self.cmd('az palo-alto cloudngfw local-rulestack certificate delete -g {rg} --local-rulestack-name {local_rulestack_name} --name {certificate_name}') + + self.cmd('az palo-alto cloudngfw local-rulestack fqdnlist create -g {rg} ' + '--local-rulestack-name {local_rulestack_name} ' + '--name {fqdnlist_name} ' + '--audit-comment "string" ' + '--description "description" ' + '--fqdn-list ["string1","string2"]') + self.cmd('az palo-alto cloudngfw local-rulestack fqdnlist list -g {rg} --local-rulestack-name {local_rulestack_name}') + self.cmd('az palo-alto cloudngfw local-rulestack fqdnlist show -g {rg} --local-rulestack-name {local_rulestack_name} --name {fqdnlist_name}') + self.cmd('az palo-alto cloudngfw local-rulestack fqdnlist delete -g {rg} --local-rulestack-name {local_rulestack_name} --name {fqdnlist_name}') + + self.cmd('az palo-alto cloudngfw local-rulestack prefixlist create -g {rg} ' + '--local-rulestack-name {local_rulestack_name} ' + '--name {prefixlist_name} ' + '--audit-comment "comment" ' + '--description "string" ' + '--prefix-list ["1.0.0.0/24"]') + self.cmd('az palo-alto cloudngfw local-rulestack prefixlist list -g {rg} --local-rulestack-name {local_rulestack_name} ') + self.cmd('az palo-alto cloudngfw local-rulestack prefixlist show -g {rg} --local-rulestack-name {local_rulestack_name} --name {prefixlist_name}') + self.cmd('az palo-alto cloudngfw local-rulestack prefixlist delete -g {rg} --local-rulestack-name {local_rulestack_name} --name {prefixlist_name}') + + self.cmd('az palo-alto cloudngfw local-rulestack local-rule create -g {rg} ' + '--local-rulestack-name {local_rulestack_name} ' + '--rule-name {local_rule_name} ' + '--priority "1" ' + '--action-type "Allow" ' + '--enable-logging "DISABLED" ' + '--rule-state "DISABLED" ') + self.cmd('az palo-alto cloudngfw local-rulestack local-rule list -g {rg} --local-rulestack-name {local_rulestack_name}') + self.cmd('az palo-alto cloudngfw local-rulestack local-rule show -g {rg} --local-rulestack-name {local_rulestack_name} --priority "1"') + self.cmd('az palo-alto cloudngfw local-rulestack local-rule delete -g {rg} --local-rulestack-name {local_rulestack_name} --priority "1"') + + self.cmd('az palo-alto cloudngfw local-rulestack local-rule delete -g {rg} --local-rulestack-name {local_rulestack_name} --priority "1000000"') + self.cmd('az palo-alto cloudngfw local-rulestack delete -g {rg} -n {local_rulestack_name}') + + @AllowLargeResponse(size_kb=10240) + @ResourceGroupPreparer(name_prefix='cli_test_palo_alto_cloudngfw_local_rulestack_with_counter') + def test_palo_alto_cloudngfw_local_rulestack_with_counter(self, resource_group): + self.kwargs.update({ + 'resource_group': "rheaTerraformTest", + 'local_rulestack_name': "fw0718-lrs", + 'priority': "1000000" + }) + self.cmd('az palo-alto cloudngfw local-rulestack local-rule show-counter -g {resource_group} --local-rulestack-name {local_rulestack_name} --priority {priority}') + self.cmd('az palo-alto cloudngfw local-rulestack local-rule refresh-counter -g {resource_group} --local-rulestack-name {local_rulestack_name} --priority {priority}') + self.cmd('az palo-alto cloudngfw local-rulestack local-rule reset-counter -g {resource_group} --local-rulestack-name {local_rulestack_name} --priority {priority}') diff --git a/src/palo-alto-networks/setup.cfg b/src/palo-alto-networks/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/palo-alto-networks/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/palo-alto-networks/setup.py b/src/palo-alto-networks/setup.py new file mode 100644 index 00000000000..32867129edd --- /dev/null +++ b/src/palo-alto-networks/setup.py @@ -0,0 +1,49 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +from codecs import open +from setuptools import setup, find_packages + + +# HISTORY.rst entry. +VERSION = '1.0.0b1' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'License :: OSI Approved :: MIT License', +] + +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='palo-alto-networks', + version=VERSION, + description='Microsoft Azure Command-Line Tools PaloAltoNetworks Extension.', + long_description=README + '\n\n' + HISTORY, + license='MIT', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/palo-alto-networks', + classifiers=CLASSIFIERS, + packages=find_packages(exclude=["tests"]), + package_data={'azext_palo_alto_networks': ['azext_metadata.json']}, + install_requires=DEPENDENCIES +) diff --git a/src/service_name.json b/src/service_name.json index 50f1a0ab743..62eb261c42f 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -414,6 +414,11 @@ "AzureServiceName": "Migrate", "URL": "https://learn.microsoft.com/azure/migrate" }, + { + "Command": "az palo-alto", + "AzureServiceName": "Palo Alto Networks", + "URL": "https://learn.microsoft.com/en-us/azure/partner-solutions/palo-alto/" + }, { "Command": "az peering", "AzureServiceName": "Networking",