# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins as _builtins
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities

__all__ = [
    'GetWafEntityParameterUrlResult',
    'GetWafEntityUrlCrossOriginRequestsEnforcementResult',
    'GetWafEntityUrlMethodOverrideResult',
]

@pulumi.output_type
class GetWafEntityParameterUrlResult(dict):
    def __init__(__self__, *,
                 method: _builtins.str,
                 name: _builtins.str,
                 protocol: _builtins.str,
                 type: _builtins.str):
        pulumi.set(__self__, "method", method)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "protocol", protocol)
        pulumi.set(__self__, "type", type)

    @_builtins.property
    @pulumi.getter
    def method(self) -> _builtins.str:
        return pulumi.get(self, "method")

    @_builtins.property
    @pulumi.getter
    def name(self) -> _builtins.str:
        return pulumi.get(self, "name")

    @_builtins.property
    @pulumi.getter
    def protocol(self) -> _builtins.str:
        return pulumi.get(self, "protocol")

    @_builtins.property
    @pulumi.getter
    def type(self) -> _builtins.str:
        return pulumi.get(self, "type")


@pulumi.output_type
class GetWafEntityUrlCrossOriginRequestsEnforcementResult(dict):
    def __init__(__self__, *,
                 origin_name: _builtins.str,
                 origin_port: _builtins.str,
                 origin_protocol: _builtins.str,
                 include_subdomains: Optional[_builtins.bool] = None):
        """
        :param _builtins.str origin_name: Specifies the name of the origin with which you want to share your data.
        :param _builtins.str origin_port: Specifies the port that other web applications are allowed to use to request data from your web application.
        :param _builtins.str origin_protocol: Specifies the protocol that other web applications are allowed to use to request data from your web application.
        :param _builtins.bool include_subdomains: Determines whether the subdomains are allowed to receive data from the web application.
        """
        pulumi.set(__self__, "origin_name", origin_name)
        pulumi.set(__self__, "origin_port", origin_port)
        pulumi.set(__self__, "origin_protocol", origin_protocol)
        if include_subdomains is not None:
            pulumi.set(__self__, "include_subdomains", include_subdomains)

    @_builtins.property
    @pulumi.getter(name="originName")
    def origin_name(self) -> _builtins.str:
        """
        Specifies the name of the origin with which you want to share your data.
        """
        return pulumi.get(self, "origin_name")

    @_builtins.property
    @pulumi.getter(name="originPort")
    def origin_port(self) -> _builtins.str:
        """
        Specifies the port that other web applications are allowed to use to request data from your web application.
        """
        return pulumi.get(self, "origin_port")

    @_builtins.property
    @pulumi.getter(name="originProtocol")
    def origin_protocol(self) -> _builtins.str:
        """
        Specifies the protocol that other web applications are allowed to use to request data from your web application.
        """
        return pulumi.get(self, "origin_protocol")

    @_builtins.property
    @pulumi.getter(name="includeSubdomains")
    def include_subdomains(self) -> Optional[_builtins.bool]:
        """
        Determines whether the subdomains are allowed to receive data from the web application.
        """
        return pulumi.get(self, "include_subdomains")


@pulumi.output_type
class GetWafEntityUrlMethodOverrideResult(dict):
    def __init__(__self__, *,
                 allow: _builtins.bool,
                 method: _builtins.str):
        """
        :param _builtins.bool allow: Specifies that the system allows or disallows a method for this URL
        :param _builtins.str method: Specifies an HTTP method.
        """
        pulumi.set(__self__, "allow", allow)
        pulumi.set(__self__, "method", method)

    @_builtins.property
    @pulumi.getter
    def allow(self) -> _builtins.bool:
        """
        Specifies that the system allows or disallows a method for this URL
        """
        return pulumi.get(self, "allow")

    @_builtins.property
    @pulumi.getter
    def method(self) -> _builtins.str:
        """
        Specifies an HTTP method.
        """
        return pulumi.get(self, "method")


