def set_endpoint_waf_policy_link(client: EndpointsOperations, resource_group_name: str, profile_name: str, endpoint_name: str, waf_policy_subscription_id: str = "", waf_policy_resource_group_name: str = "", waf_policy_name: str = "", waf_policy_id: str = ""): from azure.mgmt.cdn.models import ( EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink) endpoint = client.get(resource_group_name, profile_name, endpoint_name) if waf_policy_id == "": if waf_policy_subscription_id is None or waf_policy_resource_group_name is None or waf_policy_name is None: raise CLIError( 'Either --waf-policy-id or all of --waf-policy-subscription-id, ' '--waf-policy-resource-group-name, and --waf-policy-name must be specified.' ) waf_policy_id = f'/subscriptions/{waf_policy_subscription_id}' \ f'/resourceGroups/{waf_policy_resource_group_name}' \ f'/providers/Microsoft.Cdn' \ f'/CdnWebApplicationFirewallPolicies/{waf_policy_name}' print(waf_policy_id) endpoint.web_application_firewall_policy_link = \ EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink(id=waf_policy_id) result = client.create(resource_group_name, profile_name, endpoint_name, endpoint).result() if result is not None: return result.web_application_firewall_policy_link return EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink( id=None)
def remove_endpoint_waf_policy_link(client: EndpointsOperations, resource_group_name: str, profile_name: str, endpoint_name: str): endpoint = client.get(resource_group_name, profile_name, endpoint_name) endpoint.web_application_firewall_policy_link = None client.create(resource_group_name, profile_name, endpoint_name, endpoint).wait()
def show_endpoint_waf_policy_link(client: EndpointsOperations, resource_group_name: str, profile_name: str, endpoint_name: str): from azure.mgmt.cdn.models import (EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink) link = client.get(resource_group_name, profile_name, endpoint_name).web_application_firewall_policy_link if link is not None: return link raise CLIError(f"endpoint {endpoint_name} does not have a CDN WAF policy link.", endpoint_name)
def show_endpoint_waf_policy_link(client: EndpointsOperations, resource_group_name: str, profile_name: str, endpoint_name: str): link = client.get(resource_group_name, profile_name, endpoint_name).web_application_firewall_policy_link if link is not None: return link raise CLIError( f"endpoint {endpoint_name} does not have a CDN WAF policy link.", endpoint_name)