import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
export interface EventServiceDiscoveryNode {
    /**
     * name of node
     */
    id?: pulumi.Input<string>;
    /**
     * ip of nonde
     */
    ip?: pulumi.Input<string>;
    /**
     * port
     */
    port?: pulumi.Input<number>;
}
export interface FastHttpAppMonitor {
    /**
     * Set the time between health checks,in seconds for FAST-Generated Pool Monitor.
     */
    interval?: pulumi.Input<number>;
    /**
     * set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`.
     */
    monitorAuth?: pulumi.Input<boolean>;
    /**
     * password for web access on FAST-Generated Pool Monitor.
     */
    password?: pulumi.Input<string>;
    /**
     * The presence of this string anywhere in the HTTP response implies availability.
     */
    response?: pulumi.Input<string>;
    /**
     * Specify data to be sent during each health check for FAST-Generated Pool Monitor.
     */
    sendString?: pulumi.Input<string>;
    /**
     * username for web access on FAST-Generated Pool Monitor.
     */
    username?: pulumi.Input<string>;
}
export interface FastHttpAppPoolMember {
    /**
     * List of server address to be used for FAST-Generated Pool.
     */
    addresses: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * connectionLimit value to be used for FAST-Generated Pool.
     */
    connectionLimit?: pulumi.Input<number>;
    /**
     * port number of serviceport to be used for FAST-Generated Pool.
     */
    port?: pulumi.Input<number>;
    /**
     * priorityGroup value to be used for FAST-Generated Pool.
     */
    priorityGroup?: pulumi.Input<number>;
    /**
     * shareNodes value to be used for FAST-Generated Pool.
     */
    shareNodes?: pulumi.Input<boolean>;
}
export interface FastHttpAppVirtualServer {
    /**
     * IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`
     */
    ip: pulumi.Input<string>;
    /**
     * Port number to used for accessing virtual server/application
     */
    port: pulumi.Input<number>;
}
export interface FastHttpAppWafSecurityPolicy {
    /**
     * Setting `true` will enable FAST to create WAF Security Policy.
     */
    enable: pulumi.Input<boolean>;
}
export interface FastHttpsAppMonitor {
    /**
     * Set the time between health checks,in seconds for FAST-Generated Pool Monitor.
     */
    interval?: pulumi.Input<number>;
    /**
     * set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`.
     */
    monitorAuth?: pulumi.Input<boolean>;
    /**
     * password for web access on FAST-Generated Pool Monitor.
     */
    password?: pulumi.Input<string>;
    /**
     * The presence of this string anywhere in the HTTP response implies availability.
     */
    response?: pulumi.Input<string>;
    /**
     * Specify data to be sent during each health check for FAST-Generated Pool Monitor.
     */
    sendString?: pulumi.Input<string>;
    /**
     * username for web access on FAST-Generated Pool Monitor.
     */
    username?: pulumi.Input<string>;
}
export interface FastHttpsAppPoolMember {
    /**
     * List of server address to be used for FAST-Generated Pool.
     */
    addresses: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * connectionLimit value to be used for FAST-Generated Pool.
     */
    connectionLimit?: pulumi.Input<number>;
    /**
     * port number of serviceport to be used for FAST-Generated Pool.
     */
    port?: pulumi.Input<number>;
    /**
     * priorityGroup value to be used for FAST-Generated Pool.
     */
    priorityGroup?: pulumi.Input<number>;
    /**
     * shareNodes value to be used for FAST-Generated Pool.
     */
    shareNodes?: pulumi.Input<boolean>;
}
export interface FastHttpsAppTlsClientProfile {
    /**
     * Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile.
     */
    tlsCertName: pulumi.Input<string>;
    /**
     * Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile.
     */
    tlsKeyName: pulumi.Input<string>;
}
export interface FastHttpsAppTlsServerProfile {
    /**
     * Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile.
     */
    tlsCertName: pulumi.Input<string>;
    /**
     * Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile.
     */
    tlsKeyName: pulumi.Input<string>;
}
export interface FastHttpsAppVirtualServer {
    /**
     * IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`
     */
    ip: pulumi.Input<string>;
    /**
     * Port number to used for accessing virtual server/application
     */
    port: pulumi.Input<number>;
}
export interface FastHttpsAppWafSecurityPolicy {
    /**
     * Setting `true` will enable FAST to create WAF Security Policy.
     */
    enable: pulumi.Input<boolean>;
}
export interface FastTcpAppMonitor {
    /**
     * Set the time between health checks,in seconds for FAST-Generated Pool Monitor.
     */
    interval?: pulumi.Input<number>;
}
export interface FastTcpAppPoolMember {
    /**
     * List of server address to be used for FAST-Generated Pool.
     */
    addresses: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * connectionLimit value to be used for FAST-Generated Pool.
     */
    connectionLimit?: pulumi.Input<number>;
    /**
     * port number of serviceport to be used for FAST-Generated Pool.
     */
    port?: pulumi.Input<number>;
    /**
     * priorityGroup value to be used for FAST-Generated Pool.
     */
    priorityGroup?: pulumi.Input<number>;
    /**
     * shareNodes value to be used for FAST-Generated Pool.
     */
    shareNodes?: pulumi.Input<boolean>;
}
export interface FastTcpAppVirtualServer {
    /**
     * IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`
     */
    ip: pulumi.Input<string>;
    /**
     * Port number to used for accessing virtual server/application
     */
    port: pulumi.Input<number>;
}
export interface FastUdpAppMonitor {
    /**
     * The presence of this optional string is required in the response, if specified it confirms availability.
     */
    expectedResponse?: pulumi.Input<string>;
    /**
     * Set the time between health checks,in seconds for FAST-Generated Pool Monitor.
     */
    interval?: pulumi.Input<number>;
    /**
     * Optional data to be sent during each health check.
     */
    sendString?: pulumi.Input<string>;
}
export interface FastUdpAppPoolMember {
    /**
     * List of server address to be used for FAST-Generated Pool.
     */
    addresses: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * connectionLimit value to be used for FAST-Generated Pool.
     */
    connectionLimit?: pulumi.Input<number>;
    /**
     * port number of serviceport to be used for FAST-Generated Pool.
     */
    port?: pulumi.Input<number>;
    /**
     * priorityGroup value to be used for FAST-Generated Pool.
     */
    priorityGroup?: pulumi.Input<number>;
    /**
     * shareNodes value to be used for FAST-Generated Pool.
     */
    shareNodes?: pulumi.Input<boolean>;
}
export interface FastUdpAppVirtualServer {
    /**
     * IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`
     */
    ip: pulumi.Input<string>;
    /**
     * Port number to used for accessing virtual server/application
     */
    port: pulumi.Input<number>;
}
export interface SaasBotDefenseProfileProtectedEndpoint {
    /**
     * Specifies the path to the web page to be protected by BD. For example, `/login`.
     */
    endpoint?: pulumi.Input<string>;
    /**
     * hostname or IP address of the web page to be protected by the Bot Defense
     */
    host?: pulumi.Input<string>;
    /**
     * Specifies whether the BIG-IP or F5 XC Bot Defense handles mitigation of malicious HTTP requests. This field is enabled only if the Service Level field is set to Advanced/Premium
     */
    mitigationAction?: pulumi.Input<string>;
    /**
     * Unique name for the protected endpoint
     */
    name: pulumi.Input<string>;
    /**
     * POST field to protect the path when it has a POST method, `enabled` or `disabled`
     */
    post?: pulumi.Input<string>;
    /**
     * PUT field to protect the path when it has a PUT method,`enabled` or `disabled`
     */
    put?: pulumi.Input<string>;
}
export interface WafPolicyFileType {
    /**
     * Determines whether the file type is allowed or disallowed. In either of these cases the VIOL_FILETYPE violation is issued (if enabled) for an incoming request-
     * * No allowed file type matched the file type of the request.
     * * The file type of the request matched a disallowed file type.
     */
    allowed?: pulumi.Input<boolean>;
    /**
     * Specifies the file type name as appearing in the URL extension.
     */
    name?: pulumi.Input<string>;
    /**
     * Determines the type of the name attribute. Only when setting the type to `wildcard` will the special wildcard characters in the name be interpreted as such
     */
    type?: pulumi.Input<string>;
}
export interface WafPolicyGraphqlProfile {
    /**
     * Specifies when checked (enabled) that you want attack signatures and threat campaigns to be detected on this GraphQL profile and possibly override the security policy settings of an attack signature or threat campaign specifically for this GraphQL profile. After you enable this setting, the system displays a list of attack signatures and and threat campaigns. The default is enabled
     */
    attackSignaturesCheck?: pulumi.Input<boolean>;
    /**
     * defense_attributes settings for policy
     */
    defenseAttributes?: pulumi.Input<pulumi.Input<inputs.WafPolicyGraphqlProfileDefenseAttribute>[]>;
    /**
     * Specifies when checked (enabled) that the system enforces the security policy settings of a meta character for the GraphQL profile. After you enable this setting, the system displays a list of meta characters. The default is enabled
     */
    metacharElementcheck?: pulumi.Input<boolean>;
    /**
     * The unique user-given name of the policy. Policy names cannot contain spaces or special characters. Allowed characters are a-z, A-Z, 0-9, dot, dash (-), colon (:) and underscore (_).
     */
    name: pulumi.Input<string>;
}
export interface WafPolicyGraphqlProfileDefenseAttribute {
    /**
     * Introspection queries can also be enforced to prevent attackers from using them to
     * understand the API structure and potentially breach an application.
     */
    allowIntrospectionQueries?: pulumi.Input<boolean>;
    /**
     * Specifies the highest number of batched queries allowed by the security policy.
     */
    maximumBatchedQueries?: pulumi.Input<string>;
    /**
     * Specifies the greatest nesting depth found in the GraphQL structure allowed by the security policy.
     */
    maximumStructureDepth?: pulumi.Input<string>;
    /**
     * Specifies the longest length, in bytes, allowed by the security policy of the request payload, or parameter value, where the GraphQL data was found.
     */
    maximumTotalLength?: pulumi.Input<string>;
    /**
     * Specifies the longest length (in bytes) of the longest GraphQL element value in the document allowed by the security policy.
     */
    maximumValueLength?: pulumi.Input<string>;
    /**
     * Specifies, when checked (enabled), that the system does not report when the security enforcer encounters warnings while parsing GraphQL content. Specifies when cleared (disabled), that the security policy reports when the security enforcer encounters warnings while parsing GraphQL content. The default setting is disabled.
     */
    tolerateParsingWarnings?: pulumi.Input<boolean>;
}
export interface WafPolicyHostName {
    /**
     * The unique user-given name of the policy. Policy names cannot contain spaces or special characters. Allowed characters are a-z, A-Z, 0-9, dot, dash (-), colon (:) and underscore (_).
     */
    name?: pulumi.Input<string>;
}
export interface WafPolicyIpException {
    /**
     * Specifies how the system responds to blocking requests sent from this IP address. Possible options [`always`, `never`, `policy-default`].
     */
    blockRequests?: pulumi.Input<string>;
    /**
     * Specifies the description of the policy.
     */
    description?: pulumi.Input<string>;
    /**
     * Specifies when enabled that the system considers this IP address legitimate and does not take it into account when performing brute force prevention.
     */
    ignoreAnomalies?: pulumi.Input<boolean>;
    /**
     * Specifies when enabled that the system considers this IP address legitimate even if it is found in the IP Intelligence database (a database of questionable IP addresses).
     */
    ignoreIpreputation?: pulumi.Input<boolean>;
    /**
     * Specifies the IP address that you want the system to trust.
     */
    ipAddress: pulumi.Input<string>;
    /**
     * Specifies the netmask of the exceptional IP address. This is an optional field.
     */
    ipMask: pulumi.Input<string>;
    /**
     * Specifies when enabled the Policy Builder considers traffic from this IP address as being safe.
     */
    trustedbyPolicybuilder?: pulumi.Input<boolean>;
}
export interface WafPolicyPolicyBuilder {
    /**
     * learning mode setting for policy-builder, possible options: [`automatic`,`disabled`, `manual`]
     */
    learningMode?: pulumi.Input<string>;
}
export interface WafPolicySignaturesSetting {
    placesignaturesInStaging?: pulumi.Input<boolean>;
    /**
     * setting true will enforce all signature from staging
     */
    signatureStaging?: pulumi.Input<boolean>;
}
export declare namespace cm {
    interface DeviceGroupDevice {
        /**
         * Is the name of the device Group
         */
        name?: pulumi.Input<string>;
        /**
         * Name of origin
         */
        setSyncLeader?: pulumi.Input<boolean>;
    }
}
export declare namespace ltm {
    interface DataGroupRecord {
        /**
         * , sets the value of the record's `data` attribute, specifying a value here will create a record in the form of `name := data`
         */
        data?: pulumi.Input<string>;
        /**
         * , sets the value of the record's `name` attribute, must be of type defined in `type` attribute
         */
        name: pulumi.Input<string>;
    }
    interface GetDataGroupRecord {
        data?: string;
        /**
         * Name of the datagroup
         */
        name: string;
    }
    interface GetDataGroupRecordArgs {
        data?: pulumi.Input<string>;
        /**
         * Name of the datagroup
         */
        name: pulumi.Input<string>;
    }
    interface GetNodeFqdn {
        /**
         * The FQDN node's address family.
         */
        addressFamily?: string;
        /**
         * Specifies if the node should scale to the IP address set returned by DNS.
         */
        autopopulate?: string;
        /**
         * The number of attempts to resolve a domain name.
         */
        downinterval?: number;
        /**
         * The amount of time before sending the next DNS query.
         */
        interval?: string;
        /**
         * Name of the node.
         */
        name?: string;
    }
    interface GetNodeFqdnArgs {
        /**
         * The FQDN node's address family.
         */
        addressFamily?: pulumi.Input<string>;
        /**
         * Specifies if the node should scale to the IP address set returned by DNS.
         */
        autopopulate?: pulumi.Input<string>;
        /**
         * The number of attempts to resolve a domain name.
         */
        downinterval?: pulumi.Input<number>;
        /**
         * The amount of time before sending the next DNS query.
         */
        interval?: pulumi.Input<string>;
        /**
         * Name of the node.
         */
        name?: pulumi.Input<string>;
    }
    interface GetPolicyRule {
        actions?: inputs.ltm.GetPolicyRuleAction[];
        conditions?: inputs.ltm.GetPolicyRuleCondition[];
        /**
         * Name of the policy which includes partion ( /partition/policy-name )
         */
        name: string;
    }
    interface GetPolicyRuleArgs {
        actions?: pulumi.Input<pulumi.Input<inputs.ltm.GetPolicyRuleActionArgs>[]>;
        conditions?: pulumi.Input<pulumi.Input<inputs.ltm.GetPolicyRuleConditionArgs>[]>;
        /**
         * Name of the policy which includes partion ( /partition/policy-name )
         */
        name: pulumi.Input<string>;
    }
    interface GetPolicyRuleAction {
        appService?: string;
        application?: string;
        asm?: boolean;
        avr?: boolean;
        cache?: boolean;
        carp?: boolean;
        category?: string;
        classify?: boolean;
        clonePool?: string;
        code?: number;
        compress?: boolean;
        connection?: boolean;
        content?: string;
        cookieHash?: boolean;
        cookieInsert?: boolean;
        cookiePassive?: boolean;
        cookieRewrite?: boolean;
        decompress?: boolean;
        defer?: boolean;
        destinationAddress?: boolean;
        disable?: boolean;
        domain?: string;
        enable?: boolean;
        expiry?: string;
        expirySecs?: number;
        expression?: string;
        extension?: string;
        facility?: string;
        forward?: boolean;
        fromProfile?: string;
        hash?: boolean;
        host?: string;
        http?: boolean;
        httpBasicAuth?: boolean;
        httpCookie?: boolean;
        httpHeader?: boolean;
        httpHost?: boolean;
        httpReferer?: boolean;
        httpReply?: boolean;
        httpSetCookie?: boolean;
        httpUri?: boolean;
        ifile?: string;
        insert?: boolean;
        internalVirtual?: string;
        ipAddress?: string;
        key?: string;
        l7dos?: boolean;
        length?: number;
        location?: string;
        log?: boolean;
        ltmPolicy?: boolean;
        member?: string;
        message?: string;
        netmask?: string;
        nexthop?: string;
        node?: string;
        offset?: number;
        path?: string;
        pem?: boolean;
        persist?: boolean;
        pin?: boolean;
        policy?: string;
        pool?: string;
        port?: number;
        priority?: string;
        profile?: string;
        protocol?: string;
        queryString?: string;
        rateclass?: string;
        redirect?: boolean;
        remove?: boolean;
        replace?: boolean;
        request?: boolean;
        requestAdapt?: boolean;
        reset?: boolean;
        response?: boolean;
        responseAdapt?: boolean;
        scheme?: string;
        script?: string;
        select?: boolean;
        serverSsl?: boolean;
        setVariable?: boolean;
        shutdown?: boolean;
        snat?: string;
        snatpool?: string;
        sourceAddress?: boolean;
        sslClientHello?: boolean;
        sslServerHandshake?: boolean;
        sslServerHello?: boolean;
        sslSessionId?: boolean;
        status?: number;
        tcl?: boolean;
        tcpNagle?: boolean;
        text?: string;
        timeout?: number;
        tmName?: string;
        uie?: boolean;
        universal?: boolean;
        value?: string;
        virtual?: string;
        vlan?: string;
        vlanId?: number;
        wam?: boolean;
        write?: boolean;
    }
    interface GetPolicyRuleActionArgs {
        appService?: pulumi.Input<string>;
        application?: pulumi.Input<string>;
        asm?: pulumi.Input<boolean>;
        avr?: pulumi.Input<boolean>;
        cache?: pulumi.Input<boolean>;
        carp?: pulumi.Input<boolean>;
        category?: pulumi.Input<string>;
        classify?: pulumi.Input<boolean>;
        clonePool?: pulumi.Input<string>;
        code?: pulumi.Input<number>;
        compress?: pulumi.Input<boolean>;
        connection?: pulumi.Input<boolean>;
        content?: pulumi.Input<string>;
        cookieHash?: pulumi.Input<boolean>;
        cookieInsert?: pulumi.Input<boolean>;
        cookiePassive?: pulumi.Input<boolean>;
        cookieRewrite?: pulumi.Input<boolean>;
        decompress?: pulumi.Input<boolean>;
        defer?: pulumi.Input<boolean>;
        destinationAddress?: pulumi.Input<boolean>;
        disable?: pulumi.Input<boolean>;
        domain?: pulumi.Input<string>;
        enable?: pulumi.Input<boolean>;
        expiry?: pulumi.Input<string>;
        expirySecs?: pulumi.Input<number>;
        expression?: pulumi.Input<string>;
        extension?: pulumi.Input<string>;
        facility?: pulumi.Input<string>;
        forward?: pulumi.Input<boolean>;
        fromProfile?: pulumi.Input<string>;
        hash?: pulumi.Input<boolean>;
        host?: pulumi.Input<string>;
        http?: pulumi.Input<boolean>;
        httpBasicAuth?: pulumi.Input<boolean>;
        httpCookie?: pulumi.Input<boolean>;
        httpHeader?: pulumi.Input<boolean>;
        httpHost?: pulumi.Input<boolean>;
        httpReferer?: pulumi.Input<boolean>;
        httpReply?: pulumi.Input<boolean>;
        httpSetCookie?: pulumi.Input<boolean>;
        httpUri?: pulumi.Input<boolean>;
        ifile?: pulumi.Input<string>;
        insert?: pulumi.Input<boolean>;
        internalVirtual?: pulumi.Input<string>;
        ipAddress?: pulumi.Input<string>;
        key?: pulumi.Input<string>;
        l7dos?: pulumi.Input<boolean>;
        length?: pulumi.Input<number>;
        location?: pulumi.Input<string>;
        log?: pulumi.Input<boolean>;
        ltmPolicy?: pulumi.Input<boolean>;
        member?: pulumi.Input<string>;
        message?: pulumi.Input<string>;
        netmask?: pulumi.Input<string>;
        nexthop?: pulumi.Input<string>;
        node?: pulumi.Input<string>;
        offset?: pulumi.Input<number>;
        path?: pulumi.Input<string>;
        pem?: pulumi.Input<boolean>;
        persist?: pulumi.Input<boolean>;
        pin?: pulumi.Input<boolean>;
        policy?: pulumi.Input<string>;
        pool?: pulumi.Input<string>;
        port?: pulumi.Input<number>;
        priority?: pulumi.Input<string>;
        profile?: pulumi.Input<string>;
        protocol?: pulumi.Input<string>;
        queryString?: pulumi.Input<string>;
        rateclass?: pulumi.Input<string>;
        redirect?: pulumi.Input<boolean>;
        remove?: pulumi.Input<boolean>;
        replace?: pulumi.Input<boolean>;
        request?: pulumi.Input<boolean>;
        requestAdapt?: pulumi.Input<boolean>;
        reset?: pulumi.Input<boolean>;
        response?: pulumi.Input<boolean>;
        responseAdapt?: pulumi.Input<boolean>;
        scheme?: pulumi.Input<string>;
        script?: pulumi.Input<string>;
        select?: pulumi.Input<boolean>;
        serverSsl?: pulumi.Input<boolean>;
        setVariable?: pulumi.Input<boolean>;
        shutdown?: pulumi.Input<boolean>;
        snat?: pulumi.Input<string>;
        snatpool?: pulumi.Input<string>;
        sourceAddress?: pulumi.Input<boolean>;
        sslClientHello?: pulumi.Input<boolean>;
        sslServerHandshake?: pulumi.Input<boolean>;
        sslServerHello?: pulumi.Input<boolean>;
        sslSessionId?: pulumi.Input<boolean>;
        status?: pulumi.Input<number>;
        tcl?: pulumi.Input<boolean>;
        tcpNagle?: pulumi.Input<boolean>;
        text?: pulumi.Input<string>;
        timeout?: pulumi.Input<number>;
        tmName?: pulumi.Input<string>;
        uie?: pulumi.Input<boolean>;
        universal?: pulumi.Input<boolean>;
        value?: pulumi.Input<string>;
        virtual?: pulumi.Input<string>;
        vlan?: pulumi.Input<string>;
        vlanId?: pulumi.Input<number>;
        wam?: pulumi.Input<boolean>;
        write?: pulumi.Input<boolean>;
    }
    interface GetPolicyRuleCondition {
        address?: boolean;
        all?: boolean;
        appService?: string;
        browserType?: boolean;
        browserVersion?: boolean;
        caseInsensitive?: boolean;
        caseSensitive?: boolean;
        cipher?: boolean;
        cipherBits?: boolean;
        clientSsl?: boolean;
        code?: boolean;
        commonName?: boolean;
        contains?: boolean;
        continent?: boolean;
        countryCode?: boolean;
        countryName?: boolean;
        cpuUsage?: boolean;
        datagroup?: string;
        deviceMake?: boolean;
        deviceModel?: boolean;
        domain?: boolean;
        endsWith?: boolean;
        equals?: boolean;
        expiry?: boolean;
        extension?: boolean;
        external?: boolean;
        geoip?: boolean;
        greater?: boolean;
        greaterOrEqual?: boolean;
        host?: boolean;
        httpBasicAuth?: boolean;
        httpCookie?: boolean;
        httpHeader?: boolean;
        httpHost?: boolean;
        httpMethod?: boolean;
        httpReferer?: boolean;
        httpSetCookie?: boolean;
        httpStatus?: boolean;
        httpUri?: boolean;
        httpUserAgent?: boolean;
        httpVersion?: boolean;
        index?: number;
        internal?: boolean;
        isp?: boolean;
        last15secs?: boolean;
        last1min?: boolean;
        last5mins?: boolean;
        less?: boolean;
        lessOrEqual?: boolean;
        local?: boolean;
        major?: boolean;
        matches?: boolean;
        minor?: boolean;
        missing?: boolean;
        mss?: boolean;
        not?: boolean;
        org?: boolean;
        password?: boolean;
        path?: boolean;
        pathSegment?: boolean;
        port?: boolean;
        present?: boolean;
        protocol?: boolean;
        queryParameter?: boolean;
        queryString?: boolean;
        regionCode?: boolean;
        regionName?: boolean;
        remote?: boolean;
        request?: boolean;
        response?: boolean;
        routeDomain?: boolean;
        rtt?: boolean;
        scheme?: boolean;
        serverName?: boolean;
        sslCert?: boolean;
        sslClientHello?: boolean;
        sslExtension?: boolean;
        sslServerHandshake?: boolean;
        sslServerHello?: boolean;
        startsWith?: boolean;
        tcp?: boolean;
        text?: boolean;
        tmName?: string;
        unnamedQueryParameter?: boolean;
        userAgentToken?: boolean;
        username?: boolean;
        value?: boolean;
        values?: string[];
        version?: boolean;
        vlan?: boolean;
        vlanId?: boolean;
    }
    interface GetPolicyRuleConditionArgs {
        address?: pulumi.Input<boolean>;
        all?: pulumi.Input<boolean>;
        appService?: pulumi.Input<string>;
        browserType?: pulumi.Input<boolean>;
        browserVersion?: pulumi.Input<boolean>;
        caseInsensitive?: pulumi.Input<boolean>;
        caseSensitive?: pulumi.Input<boolean>;
        cipher?: pulumi.Input<boolean>;
        cipherBits?: pulumi.Input<boolean>;
        clientSsl?: pulumi.Input<boolean>;
        code?: pulumi.Input<boolean>;
        commonName?: pulumi.Input<boolean>;
        contains?: pulumi.Input<boolean>;
        continent?: pulumi.Input<boolean>;
        countryCode?: pulumi.Input<boolean>;
        countryName?: pulumi.Input<boolean>;
        cpuUsage?: pulumi.Input<boolean>;
        datagroup?: pulumi.Input<string>;
        deviceMake?: pulumi.Input<boolean>;
        deviceModel?: pulumi.Input<boolean>;
        domain?: pulumi.Input<boolean>;
        endsWith?: pulumi.Input<boolean>;
        equals?: pulumi.Input<boolean>;
        expiry?: pulumi.Input<boolean>;
        extension?: pulumi.Input<boolean>;
        external?: pulumi.Input<boolean>;
        geoip?: pulumi.Input<boolean>;
        greater?: pulumi.Input<boolean>;
        greaterOrEqual?: pulumi.Input<boolean>;
        host?: pulumi.Input<boolean>;
        httpBasicAuth?: pulumi.Input<boolean>;
        httpCookie?: pulumi.Input<boolean>;
        httpHeader?: pulumi.Input<boolean>;
        httpHost?: pulumi.Input<boolean>;
        httpMethod?: pulumi.Input<boolean>;
        httpReferer?: pulumi.Input<boolean>;
        httpSetCookie?: pulumi.Input<boolean>;
        httpStatus?: pulumi.Input<boolean>;
        httpUri?: pulumi.Input<boolean>;
        httpUserAgent?: pulumi.Input<boolean>;
        httpVersion?: pulumi.Input<boolean>;
        index?: pulumi.Input<number>;
        internal?: pulumi.Input<boolean>;
        isp?: pulumi.Input<boolean>;
        last15secs?: pulumi.Input<boolean>;
        last1min?: pulumi.Input<boolean>;
        last5mins?: pulumi.Input<boolean>;
        less?: pulumi.Input<boolean>;
        lessOrEqual?: pulumi.Input<boolean>;
        local?: pulumi.Input<boolean>;
        major?: pulumi.Input<boolean>;
        matches?: pulumi.Input<boolean>;
        minor?: pulumi.Input<boolean>;
        missing?: pulumi.Input<boolean>;
        mss?: pulumi.Input<boolean>;
        not?: pulumi.Input<boolean>;
        org?: pulumi.Input<boolean>;
        password?: pulumi.Input<boolean>;
        path?: pulumi.Input<boolean>;
        pathSegment?: pulumi.Input<boolean>;
        port?: pulumi.Input<boolean>;
        present?: pulumi.Input<boolean>;
        protocol?: pulumi.Input<boolean>;
        queryParameter?: pulumi.Input<boolean>;
        queryString?: pulumi.Input<boolean>;
        regionCode?: pulumi.Input<boolean>;
        regionName?: pulumi.Input<boolean>;
        remote?: pulumi.Input<boolean>;
        request?: pulumi.Input<boolean>;
        response?: pulumi.Input<boolean>;
        routeDomain?: pulumi.Input<boolean>;
        rtt?: pulumi.Input<boolean>;
        scheme?: pulumi.Input<boolean>;
        serverName?: pulumi.Input<boolean>;
        sslCert?: pulumi.Input<boolean>;
        sslClientHello?: pulumi.Input<boolean>;
        sslExtension?: pulumi.Input<boolean>;
        sslServerHandshake?: pulumi.Input<boolean>;
        sslServerHello?: pulumi.Input<boolean>;
        startsWith?: pulumi.Input<boolean>;
        tcp?: pulumi.Input<boolean>;
        text?: pulumi.Input<boolean>;
        tmName?: pulumi.Input<string>;
        unnamedQueryParameter?: pulumi.Input<boolean>;
        userAgentToken?: pulumi.Input<boolean>;
        username?: pulumi.Input<boolean>;
        value?: pulumi.Input<boolean>;
        values?: pulumi.Input<pulumi.Input<string>[]>;
        version?: pulumi.Input<boolean>;
        vlan?: pulumi.Input<boolean>;
        vlanId?: pulumi.Input<boolean>;
    }
    interface NodeFqdn {
        /**
         * Specifies the node's address family. The default is 'unspecified', or IP-agnostic. This needs to be specified inside the fqdn (fully qualified domain name).
         */
        addressFamily?: pulumi.Input<string>;
        /**
         * Specifies whether the node should scale to the IP address set returned by DNS.
         */
        autopopulate?: pulumi.Input<string>;
        /**
         * Specifies the number of attempts to resolve a domain name. The default is 5.
         */
        downinterval?: pulumi.Input<number>;
        /**
         * Specifies the amount of time before sending the next DNS query. Default is 3600. This needs to be specified inside the fqdn (fully qualified domain name).
         */
        interval?: pulumi.Input<string>;
        /**
         * Name of the node
         */
        name?: pulumi.Input<string>;
    }
    interface PolicyRule {
        /**
         * Block type. See action block for more details.
         */
        actions?: pulumi.Input<pulumi.Input<inputs.ltm.PolicyRuleAction>[]>;
        /**
         * Block type. See condition block for more details.
         */
        conditions?: pulumi.Input<pulumi.Input<inputs.ltm.PolicyRuleCondition>[]>;
        /**
         * Specifies descriptive text that identifies the irule attached to policy.
         */
        description?: pulumi.Input<string>;
        /**
         * Name of Rule to be applied in policy.
         */
        name: pulumi.Input<string>;
    }
    interface PolicyRuleAction {
        appService?: pulumi.Input<string>;
        application?: pulumi.Input<string>;
        asm?: pulumi.Input<boolean>;
        avr?: pulumi.Input<boolean>;
        cache?: pulumi.Input<boolean>;
        carp?: pulumi.Input<boolean>;
        category?: pulumi.Input<string>;
        classify?: pulumi.Input<boolean>;
        clonePool?: pulumi.Input<string>;
        code?: pulumi.Input<number>;
        compress?: pulumi.Input<boolean>;
        /**
         * This action is set to `true` by default, it needs to be explicitly set to `false` for actions it conflicts with.
         */
        connection?: pulumi.Input<boolean>;
        content?: pulumi.Input<string>;
        cookieHash?: pulumi.Input<boolean>;
        cookieInsert?: pulumi.Input<boolean>;
        cookiePassive?: pulumi.Input<boolean>;
        cookieRewrite?: pulumi.Input<boolean>;
        decompress?: pulumi.Input<boolean>;
        defer?: pulumi.Input<boolean>;
        destinationAddress?: pulumi.Input<boolean>;
        disable?: pulumi.Input<boolean>;
        domain?: pulumi.Input<string>;
        enable?: pulumi.Input<boolean>;
        expiry?: pulumi.Input<string>;
        expirySecs?: pulumi.Input<number>;
        expression?: pulumi.Input<string>;
        extension?: pulumi.Input<string>;
        facility?: pulumi.Input<string>;
        /**
         * This action will affect forwarding.
         */
        forward?: pulumi.Input<boolean>;
        fromProfile?: pulumi.Input<string>;
        hash?: pulumi.Input<boolean>;
        host?: pulumi.Input<string>;
        http?: pulumi.Input<boolean>;
        httpBasicAuth?: pulumi.Input<boolean>;
        httpCookie?: pulumi.Input<boolean>;
        httpHeader?: pulumi.Input<boolean>;
        httpHost?: pulumi.Input<boolean>;
        httpReferer?: pulumi.Input<boolean>;
        httpReply?: pulumi.Input<boolean>;
        httpSetCookie?: pulumi.Input<boolean>;
        httpUri?: pulumi.Input<boolean>;
        ifile?: pulumi.Input<string>;
        insert?: pulumi.Input<boolean>;
        internalVirtual?: pulumi.Input<string>;
        ipAddress?: pulumi.Input<string>;
        key?: pulumi.Input<string>;
        l7dos?: pulumi.Input<boolean>;
        length?: pulumi.Input<number>;
        location?: pulumi.Input<string>;
        log?: pulumi.Input<boolean>;
        ltmPolicy?: pulumi.Input<boolean>;
        member?: pulumi.Input<string>;
        message?: pulumi.Input<string>;
        netmask?: pulumi.Input<string>;
        nexthop?: pulumi.Input<string>;
        node?: pulumi.Input<string>;
        offset?: pulumi.Input<number>;
        path?: pulumi.Input<string>;
        pem?: pulumi.Input<boolean>;
        persist?: pulumi.Input<boolean>;
        pin?: pulumi.Input<boolean>;
        policy?: pulumi.Input<string>;
        /**
         * This action will direct the stream to this pool.
         */
        pool?: pulumi.Input<string>;
        port?: pulumi.Input<number>;
        priority?: pulumi.Input<string>;
        profile?: pulumi.Input<string>;
        protocol?: pulumi.Input<string>;
        queryString?: pulumi.Input<string>;
        rateclass?: pulumi.Input<string>;
        redirect?: pulumi.Input<boolean>;
        remove?: pulumi.Input<boolean>;
        replace?: pulumi.Input<boolean>;
        request?: pulumi.Input<boolean>;
        requestAdapt?: pulumi.Input<boolean>;
        reset?: pulumi.Input<boolean>;
        response?: pulumi.Input<boolean>;
        responseAdapt?: pulumi.Input<boolean>;
        scheme?: pulumi.Input<string>;
        script?: pulumi.Input<string>;
        select?: pulumi.Input<boolean>;
        serverSsl?: pulumi.Input<boolean>;
        setVariable?: pulumi.Input<boolean>;
        shutdown?: pulumi.Input<boolean>;
        snat?: pulumi.Input<string>;
        snatpool?: pulumi.Input<string>;
        sourceAddress?: pulumi.Input<boolean>;
        sslClientHello?: pulumi.Input<boolean>;
        sslServerHandshake?: pulumi.Input<boolean>;
        sslServerHello?: pulumi.Input<boolean>;
        sslSessionId?: pulumi.Input<boolean>;
        status?: pulumi.Input<number>;
        tcl?: pulumi.Input<boolean>;
        tcpNagle?: pulumi.Input<boolean>;
        text?: pulumi.Input<string>;
        timeout?: pulumi.Input<number>;
        tmName?: pulumi.Input<string>;
        uie?: pulumi.Input<boolean>;
        universal?: pulumi.Input<boolean>;
        value?: pulumi.Input<string>;
        virtual?: pulumi.Input<string>;
        vlan?: pulumi.Input<string>;
        vlanId?: pulumi.Input<number>;
        wam?: pulumi.Input<boolean>;
        write?: pulumi.Input<boolean>;
    }
    interface PolicyRuleCondition {
        address?: pulumi.Input<boolean>;
        all?: pulumi.Input<boolean>;
        appService?: pulumi.Input<string>;
        browserType?: pulumi.Input<boolean>;
        browserVersion?: pulumi.Input<boolean>;
        caseInsensitive?: pulumi.Input<boolean>;
        caseSensitive?: pulumi.Input<boolean>;
        cipher?: pulumi.Input<boolean>;
        cipherBits?: pulumi.Input<boolean>;
        clientAccepted?: pulumi.Input<boolean>;
        clientSsl?: pulumi.Input<boolean>;
        code?: pulumi.Input<boolean>;
        commonName?: pulumi.Input<boolean>;
        contains?: pulumi.Input<boolean>;
        continent?: pulumi.Input<boolean>;
        countryCode?: pulumi.Input<boolean>;
        countryName?: pulumi.Input<boolean>;
        cpuUsage?: pulumi.Input<boolean>;
        datagroup?: pulumi.Input<string>;
        deviceMake?: pulumi.Input<boolean>;
        deviceModel?: pulumi.Input<boolean>;
        domain?: pulumi.Input<boolean>;
        endsWith?: pulumi.Input<boolean>;
        equals?: pulumi.Input<boolean>;
        exists?: pulumi.Input<boolean>;
        expiry?: pulumi.Input<boolean>;
        extension?: pulumi.Input<boolean>;
        external?: pulumi.Input<boolean>;
        geoip?: pulumi.Input<boolean>;
        greater?: pulumi.Input<boolean>;
        greaterOrEqual?: pulumi.Input<boolean>;
        host?: pulumi.Input<boolean>;
        httpBasicAuth?: pulumi.Input<boolean>;
        httpCookie?: pulumi.Input<boolean>;
        httpHeader?: pulumi.Input<boolean>;
        httpHost?: pulumi.Input<boolean>;
        httpMethod?: pulumi.Input<boolean>;
        httpReferer?: pulumi.Input<boolean>;
        httpSetCookie?: pulumi.Input<boolean>;
        httpStatus?: pulumi.Input<boolean>;
        httpUri?: pulumi.Input<boolean>;
        httpUserAgent?: pulumi.Input<boolean>;
        httpVersion?: pulumi.Input<boolean>;
        index?: pulumi.Input<number>;
        internal?: pulumi.Input<boolean>;
        isp?: pulumi.Input<boolean>;
        last15secs?: pulumi.Input<boolean>;
        last1min?: pulumi.Input<boolean>;
        last5mins?: pulumi.Input<boolean>;
        less?: pulumi.Input<boolean>;
        lessOrEqual?: pulumi.Input<boolean>;
        local?: pulumi.Input<boolean>;
        major?: pulumi.Input<boolean>;
        matches?: pulumi.Input<boolean>;
        minor?: pulumi.Input<boolean>;
        missing?: pulumi.Input<boolean>;
        mss?: pulumi.Input<boolean>;
        not?: pulumi.Input<boolean>;
        org?: pulumi.Input<boolean>;
        password?: pulumi.Input<boolean>;
        path?: pulumi.Input<boolean>;
        pathSegment?: pulumi.Input<boolean>;
        port?: pulumi.Input<boolean>;
        present?: pulumi.Input<boolean>;
        protocol?: pulumi.Input<boolean>;
        queryParameter?: pulumi.Input<boolean>;
        queryString?: pulumi.Input<boolean>;
        regionCode?: pulumi.Input<boolean>;
        regionName?: pulumi.Input<boolean>;
        remote?: pulumi.Input<boolean>;
        request?: pulumi.Input<boolean>;
        response?: pulumi.Input<boolean>;
        routeDomain?: pulumi.Input<boolean>;
        rtt?: pulumi.Input<boolean>;
        scheme?: pulumi.Input<boolean>;
        serverName?: pulumi.Input<boolean>;
        sslCert?: pulumi.Input<boolean>;
        sslClientHello?: pulumi.Input<boolean>;
        sslExtension?: pulumi.Input<boolean>;
        sslServerHandshake?: pulumi.Input<boolean>;
        sslServerHello?: pulumi.Input<boolean>;
        startsWith?: pulumi.Input<boolean>;
        tcp?: pulumi.Input<boolean>;
        text?: pulumi.Input<boolean>;
        tmName?: pulumi.Input<string>;
        unnamedQueryParameter?: pulumi.Input<boolean>;
        userAgentToken?: pulumi.Input<boolean>;
        username?: pulumi.Input<boolean>;
        value?: pulumi.Input<boolean>;
        values?: pulumi.Input<pulumi.Input<string>[]>;
        version?: pulumi.Input<boolean>;
        vlan?: pulumi.Input<boolean>;
        vlanId?: pulumi.Input<boolean>;
    }
    interface ProfileClientSslCertKeyChain {
        /**
         * Specifies the name of the certificate that the system uses for client-side SSL processing. The default is `default`
         */
        cert?: pulumi.Input<string>;
        /**
         * Specifies a certificate chain file that a server can use for authentication. The default is `None`.
         */
        chain?: pulumi.Input<string>;
        /**
         * Specifies the file name of the SSL key. The default is `default`
         */
        key?: pulumi.Input<string>;
        /**
         * Name of Cert-key-chain
         */
        name?: pulumi.Input<string>;
        /**
         * Type the name of the pass phrase used to encrypt the key.
         */
        passphrase?: pulumi.Input<string>;
    }
    interface ProfileHttpEnforcement {
        /**
         * Specifies which HTTP methods count as being known. Removing RFC-defined methods from this list will cause the HTTP filter to not recognize them. Default value is [CONNECT DELETE GET HEAD LOCK OPTIONS POST PROPFIND PUT TRACE UNLOCK].If no value is specified while creating, then default value will be assigned by BigIP. In order to remove it, [""] list is to be passed. If knownMethods is commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value , we need to pass [CONNECT DELETE GET HEAD LOCK OPTIONS POST PROPFIND PUT TRACE UNLOCK] explicitly.
         */
        knownMethods?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Specifies the maximum number of headers allowed in HTTP request/response. The default is 64 headers.If no value is specified while creating, then default value will be assigned by BigIP. If maxHeaderCount is commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass "64" explicitly.
         */
        maxHeaderCount?: pulumi.Input<number>;
        /**
         * Specifies the maximum header size. The default value is 32768. If no string is specified while creating, then default value will be assigned by BigIP. If maxHeaderSize is commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass "32768" explicitly.
         */
        maxHeaderSize?: pulumi.Input<number>;
        /**
         * Specifies whether to allow, reject or switch to pass-through mode when an unknown HTTP method is parsed. Default value is "allow". If no string is specified while creating, then default value will be assigned by BigIP. If unknownMethod is commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass "allow" explicitly.
         */
        unknownMethod?: pulumi.Input<string>;
    }
    interface ProfileHttpHttpStrictTransportSecurity {
        /**
         * The Include Subdomains setting applies the HSTS policy to the HSTS host and its subdomains. The default is "enabled". If no string is specified during Create, then default value will be assigned by BigIp. If includeSubdomains is commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass "enabled" explicitly.
         */
        includeSubdomains?: pulumi.Input<string>;
        /**
         * The Maximum Age value specifies the length of time, in seconds, that HSTS functionality requests that clients only use HTTPS to connect to the current host and any subdomains of the current host's domain name.  The default is 16070400 seconds. If no value is specified during Create, then default value will be assigned by BigIp. If maximumAge is commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value , we need to pass 16070400 explicitly.
         */
        maximumAge?: pulumi.Input<number>;
        /**
         * The Mode setting enables and disables HSTS functionality within the HTTP profile. The default is "disabled". If no string is specified during Create, then default value will be assigned by BigIp. If mode is commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass "disabled" explicitly.
         */
        mode?: pulumi.Input<string>;
        /**
         * An HSTS preload list is a list of domains built into a web browser. When you enable the Preload setting, the domain for the web site that this HTTP profile is associated with is submitted for inclusion in the browser's preload list. The default is "disabled". If no string is specified during Create, then default value will be assigned by BigIp. If preload is commented (or not passed) during the update call, then no changes would be applied and previous value will persist. In order to put default value, we need to pass "disabled" explicitly.
         */
        preload?: pulumi.Input<string>;
    }
    interface ProfileRewriteCookieRule {
        clientDomain: pulumi.Input<string>;
        clientPath: pulumi.Input<string>;
        /**
         * Name of the cookie rewrite rule.
         */
        ruleName: pulumi.Input<string>;
        serverDomain: pulumi.Input<string>;
        serverPath: pulumi.Input<string>;
    }
    interface ProfileRewriteRequest {
        /**
         * Enable to add the X-Forwarded For (XFF) header, to specify the originating IP address of the client. Valid choices are: `enabled, disabled`
         */
        insertXfwdFor?: pulumi.Input<string>;
        /**
         * Enable to add the X-Forwarded Host header, to specify the originating host of the client. Valid choices are: `enabled, disabled`
         */
        insertXfwdHost?: pulumi.Input<string>;
        /**
         * Enable to add the X-Forwarded Proto header, to specify the originating protocol of the client. Valid choices are: `enabled, disabled`
         */
        insertXfwdProtocol?: pulumi.Input<string>;
        /**
         * Enable to rewrite headers in Request settings. Valid choices are: `enabled, disabled`
         */
        rewriteHeaders?: pulumi.Input<string>;
    }
    interface ProfileRewriteResponse {
        /**
         * Enable to rewrite links in content in the response. Valid choices are: `enabled, disabled`
         */
        rewriteContent?: pulumi.Input<string>;
        /**
         * Enable to rewrite headers in the response. Valid choices are: `enabled, disabled`
         */
        rewriteHeaders?: pulumi.Input<string>;
    }
    interface ProfileRewriteUriRulesClient {
        /**
         * Host part of the uri, e.g. `www.foo.com`.
         */
        host: pulumi.Input<string>;
        /**
         * Path part of the uri, must always end with `/`. Default value is: `/`
         */
        path?: pulumi.Input<string>;
        /**
         * Port part of the uri. Default value is: `none`
         */
        port?: pulumi.Input<string>;
        /**
         * Scheme part of the uri, e.g. `https`, `ftp`.
         */
        scheme: pulumi.Input<string>;
    }
    interface ProfileRewriteUriRulesServer {
        /**
         * Host part of the uri, e.g. `www.foo.com`.
         */
        host: pulumi.Input<string>;
        /**
         * Path part of the uri, must always end with `/`. Default value is: `/`
         */
        path?: pulumi.Input<string>;
        /**
         * Port part of the uri. Default value is: `none`
         */
        port?: pulumi.Input<string>;
        /**
         * Scheme part of the uri, e.g. `https`, `ftp`.
         */
        scheme: pulumi.Input<string>;
    }
    interface SnatOrigin {
        /**
         * app service
         */
        appService?: pulumi.Input<string>;
        /**
         * Name of the SNAT, name of SNAT should be full path. Full path is the combination of the `partition + SNAT name`,For example `/Common/test-snat`.
         */
        name?: pulumi.Input<string>;
    }
}
export declare namespace net {
    interface VlanInterface {
        /**
         * Specifies a list of tagged interfaces or trunks associated with this VLAN. Note that you can associate tagged interfaces or trunks with any number of VLANs.
         */
        tagged?: pulumi.Input<boolean>;
        /**
         * Physical or virtual port used for traffic
         */
        vlanport?: pulumi.Input<string>;
    }
}
export declare namespace ssl {
    interface GetWafEntityParameterUrl {
        method: string;
        name: string;
        protocol: string;
        type: string;
    }
    interface GetWafEntityParameterUrlArgs {
        method: pulumi.Input<string>;
        name: pulumi.Input<string>;
        protocol: pulumi.Input<string>;
        type: pulumi.Input<string>;
    }
    interface GetWafEntityUrlCrossOriginRequestsEnforcement {
        /**
         * Determines whether the subdomains are allowed to receive data from the web application.
         */
        includeSubdomains?: boolean;
        /**
         * Specifies the name of the origin with which you want to share your data.
         */
        originName: string;
        /**
         * Specifies the port that other web applications are allowed to use to request data from your web application.
         */
        originPort: string;
        /**
         * Specifies the protocol that other web applications are allowed to use to request data from your web application.
         */
        originProtocol: string;
    }
    interface GetWafEntityUrlCrossOriginRequestsEnforcementArgs {
        /**
         * Determines whether the subdomains are allowed to receive data from the web application.
         */
        includeSubdomains?: pulumi.Input<boolean>;
        /**
         * Specifies the name of the origin with which you want to share your data.
         */
        originName: pulumi.Input<string>;
        /**
         * Specifies the port that other web applications are allowed to use to request data from your web application.
         */
        originPort: pulumi.Input<string>;
        /**
         * Specifies the protocol that other web applications are allowed to use to request data from your web application.
         */
        originProtocol: pulumi.Input<string>;
    }
    interface GetWafEntityUrlMethodOverride {
        /**
         * Specifies that the system allows or disallows a method for this URL
         */
        allow: boolean;
        /**
         * Specifies an HTTP method.
         */
        method: string;
    }
    interface GetWafEntityUrlMethodOverrideArgs {
        /**
         * Specifies that the system allows or disallows a method for this URL
         */
        allow: pulumi.Input<boolean>;
        /**
         * Specifies an HTTP method.
         */
        method: pulumi.Input<string>;
    }
}
export declare namespace sys {
    interface IAppList {
        /**
         * Name of origin
         */
        encrypted?: pulumi.Input<string>;
        /**
         * Name of origin
         */
        value?: pulumi.Input<string>;
    }
    interface IAppMetadata {
        /**
         * Name of origin
         */
        persists?: pulumi.Input<string>;
        /**
         * Name of origin
         */
        value?: pulumi.Input<string>;
    }
    interface IAppTable {
        columnNames?: pulumi.Input<pulumi.Input<string>[]>;
        /**
         * Name of origin
         */
        encryptedColumns?: pulumi.Input<string>;
        /**
         * Name of the iApp.
         */
        name?: pulumi.Input<string>;
        rows?: pulumi.Input<pulumi.Input<inputs.sys.IAppTableRow>[]>;
    }
    interface IAppTableRow {
        rows?: pulumi.Input<pulumi.Input<string>[]>;
    }
    interface IAppVariable {
        /**
         * Name of origin
         */
        encrypted?: pulumi.Input<string>;
        /**
         * Name of the iApp.
         */
        name?: pulumi.Input<string>;
        /**
         * Name of origin
         */
        value?: pulumi.Input<string>;
    }
}
