Esempio n. 1
0
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)
Esempio n. 2
0
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()
Esempio n. 3
0
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)
Esempio n. 4
0
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)