import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
export interface ComputeContainerAppContainer {
    /**
     * The arguments that will be added to the container entry point when starting the image.
     */
    arguments?: pulumi.Input<string | undefined>;
    /**
     * A custom startup command that will execute once the container is launched.
     */
    command?: pulumi.Input<string | undefined>;
    /**
     * Defines a public endpoint for the application.
     */
    endpoints?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerEndpoint>[] | undefined>;
    /**
     * Defines an environment variable for the container
     */
    envs?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerEnv>[] | undefined>;
    /**
     * The unique identifier for the container.
     */
    id?: pulumi.Input<string | undefined>;
    /**
     * The image digest.
     */
    imageDigest?: pulumi.Input<string | undefined>;
    /**
     * The image name within the registry, without the domain prefix (i.e.: `my-app`).
     */
    imageName: pulumi.Input<string>;
    /**
     * The image namespace within the registry, without the domain prefix (i.e.: `my-org`).
     */
    imageNamespace: pulumi.Input<string>;
    /**
     * Options: `Always`, `IfNotPresent`
     */
    imagePullPolicy?: pulumi.Input<string | undefined>;
    /**
     * The image registry for the container.
     */
    imageRegistry: pulumi.Input<number>;
    /**
     * The image tag (i.e.: `2.9-alpine`).
     */
    imageTag: pulumi.Input<string>;
    /**
     * Checks that the application is actively running without issues. It the check fails, the container will be automatically restarted
     */
    livenessProbes?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerLivenessProbe>[] | undefined>;
    /**
     * The name of the container.
     */
    name: pulumi.Input<string>;
    /**
     * Checks if the application is fully prepared to handle incoming requests. No requests will be routed to the application until this check is successful.
     */
    readinessProbes?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerReadinessProbe>[] | undefined>;
    /**
     * Checks if the application has successfully started. No requests will be routed to the application until this check is successful.
     */
    startupProbes?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerStartupProbe>[] | undefined>;
    /**
     * Mounts a volume within a container
     */
    volumemounts?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerVolumemount>[] | undefined>;
    /**
     * The working directory of the container runtime.
     */
    workingDir?: pulumi.Input<string | undefined>;
}
export interface ComputeContainerAppContainerEndpoint {
    /**
     * Configurations for CDN endpoint.
     */
    cdns?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerEndpointCdn>[] | undefined>;
    /**
     * The name of the endpoint.
     */
    name: pulumi.Input<string>;
    /**
     * Endpoint port configuration.
     */
    ports?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerEndpointPort>[] | undefined>;
    /**
     * Options: `Anycast`, `CDN`, `InternalIP`
     */
    type: pulumi.Input<string>;
}
export interface ComputeContainerAppContainerEndpointCdn {
    /**
     * Indicates whether the container will handle TLS termination.
     */
    originSsl?: pulumi.Input<boolean | undefined>;
    /**
     * The ID of the pullzone associated with the endpoint.
     */
    pullzoneId?: pulumi.Input<number | undefined>;
    /**
     * Indicates whether sticky sessions is enabled.
     */
    stickySessions?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerEndpointCdnStickySession>[] | undefined>;
}
export interface ComputeContainerAppContainerEndpointCdnStickySession {
    /**
     * Incoming request headers used to select a pod for sticky sessions.
     */
    headers: pulumi.Input<pulumi.Input<string>[]>;
}
export interface ComputeContainerAppContainerEndpointPort {
    /**
     * The container port number.
     */
    container: pulumi.Input<number>;
    /**
     * The exposed port number.
     */
    exposed?: pulumi.Input<number | undefined>;
    /**
     * Options: `SCTP`, `TCP`, `UDP`
     */
    protocols?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
export interface ComputeContainerAppContainerEnv {
    /**
     * The name of the environment variable.
     */
    name: pulumi.Input<string>;
    /**
     * The value of the environment variable.
     */
    value: pulumi.Input<string>;
}
export interface ComputeContainerAppContainerLivenessProbe {
    /**
     * The number of failed probes to consider the container unhealthy.
     */
    failureThreshold?: pulumi.Input<number | undefined>;
    /**
     * gRPC-specific configurations.
     */
    grpcs?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerLivenessProbeGrpc>[] | undefined>;
    /**
     * HTTP-specific configurations.
     */
    https?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerLivenessProbeHttp>[] | undefined>;
    /**
     * The amount of time in seconds after the container is started to wait before the first probe is sent.
     */
    initialDelay?: pulumi.Input<number | undefined>;
    /**
     * The amount of time in seconds between each probe.
     */
    period?: pulumi.Input<number | undefined>;
    /**
     * The port within the container the probe will connect to.
     */
    port: pulumi.Input<number>;
    /**
     * The number of successful probes to consider the container healthy.
     */
    successThreshold?: pulumi.Input<number | undefined>;
    /**
     * The amount of time in seconds the probe will wait for a response before considering it a failure.
     */
    timeout?: pulumi.Input<number | undefined>;
    /**
     * Options: <span pulumi-lang-nodejs="`grpc`" pulumi-lang-dotnet="`Grpc`" pulumi-lang-go="`grpc`" pulumi-lang-python="`grpc`" pulumi-lang-yaml="`grpc`" pulumi-lang-java="`grpc`" pulumi-lang-hcl="`grpc`">`grpc`</span>, <span pulumi-lang-nodejs="`http`" pulumi-lang-dotnet="`Http`" pulumi-lang-go="`http`" pulumi-lang-python="`http`" pulumi-lang-yaml="`http`" pulumi-lang-java="`http`" pulumi-lang-hcl="`http`">`http`</span>, <span pulumi-lang-nodejs="`tcp`" pulumi-lang-dotnet="`Tcp`" pulumi-lang-go="`tcp`" pulumi-lang-python="`tcp`" pulumi-lang-yaml="`tcp`" pulumi-lang-java="`tcp`" pulumi-lang-hcl="`tcp`">`tcp`</span>
     */
    type: pulumi.Input<string>;
}
export interface ComputeContainerAppContainerLivenessProbeGrpc {
    /**
     * The gRPC service name.
     */
    service: pulumi.Input<string>;
}
export interface ComputeContainerAppContainerLivenessProbeHttp {
    /**
     * The expected HTTP response status code.
     */
    expectedStatus?: pulumi.Input<number | undefined>;
    /**
     * The HTTP path to be requested.
     */
    path: pulumi.Input<string>;
}
export interface ComputeContainerAppContainerReadinessProbe {
    /**
     * The number of failed probes to consider the container unhealthy.
     */
    failureThreshold?: pulumi.Input<number | undefined>;
    /**
     * gRPC-specific configurations.
     */
    grpcs?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerReadinessProbeGrpc>[] | undefined>;
    /**
     * HTTP-specific configurations.
     */
    https?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerReadinessProbeHttp>[] | undefined>;
    /**
     * The amount of time in seconds after the container is started to wait before the first probe is sent.
     */
    initialDelay?: pulumi.Input<number | undefined>;
    /**
     * The amount of time in seconds between each probe.
     */
    period?: pulumi.Input<number | undefined>;
    /**
     * The port within the container the probe will connect to.
     */
    port: pulumi.Input<number>;
    /**
     * The number of successful probes to consider the container healthy.
     */
    successThreshold?: pulumi.Input<number | undefined>;
    /**
     * The amount of time in seconds the probe will wait for a response before considering it a failure.
     */
    timeout?: pulumi.Input<number | undefined>;
    /**
     * Options: <span pulumi-lang-nodejs="`grpc`" pulumi-lang-dotnet="`Grpc`" pulumi-lang-go="`grpc`" pulumi-lang-python="`grpc`" pulumi-lang-yaml="`grpc`" pulumi-lang-java="`grpc`" pulumi-lang-hcl="`grpc`">`grpc`</span>, <span pulumi-lang-nodejs="`http`" pulumi-lang-dotnet="`Http`" pulumi-lang-go="`http`" pulumi-lang-python="`http`" pulumi-lang-yaml="`http`" pulumi-lang-java="`http`" pulumi-lang-hcl="`http`">`http`</span>, <span pulumi-lang-nodejs="`tcp`" pulumi-lang-dotnet="`Tcp`" pulumi-lang-go="`tcp`" pulumi-lang-python="`tcp`" pulumi-lang-yaml="`tcp`" pulumi-lang-java="`tcp`" pulumi-lang-hcl="`tcp`">`tcp`</span>
     */
    type: pulumi.Input<string>;
}
export interface ComputeContainerAppContainerReadinessProbeGrpc {
    /**
     * The gRPC service name.
     */
    service: pulumi.Input<string>;
}
export interface ComputeContainerAppContainerReadinessProbeHttp {
    /**
     * The expected HTTP response status code.
     */
    expectedStatus?: pulumi.Input<number | undefined>;
    /**
     * The HTTP path to be requested.
     */
    path: pulumi.Input<string>;
}
export interface ComputeContainerAppContainerStartupProbe {
    /**
     * The number of failed probes to consider the container unhealthy.
     */
    failureThreshold?: pulumi.Input<number | undefined>;
    /**
     * gRPC-specific configurations.
     */
    grpcs?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerStartupProbeGrpc>[] | undefined>;
    /**
     * HTTP-specific configurations.
     */
    https?: pulumi.Input<pulumi.Input<inputs.ComputeContainerAppContainerStartupProbeHttp>[] | undefined>;
    /**
     * The amount of time in seconds after the container is started to wait before the first probe is sent.
     */
    initialDelay?: pulumi.Input<number | undefined>;
    /**
     * The amount of time in seconds between each probe.
     */
    period?: pulumi.Input<number | undefined>;
    /**
     * The port within the container the probe will connect to.
     */
    port: pulumi.Input<number>;
    /**
     * The number of successful probes to consider the container healthy.
     */
    successThreshold?: pulumi.Input<number | undefined>;
    /**
     * The amount of time in seconds the probe will wait for a response before considering it a failure.
     */
    timeout?: pulumi.Input<number | undefined>;
    /**
     * Options: <span pulumi-lang-nodejs="`grpc`" pulumi-lang-dotnet="`Grpc`" pulumi-lang-go="`grpc`" pulumi-lang-python="`grpc`" pulumi-lang-yaml="`grpc`" pulumi-lang-java="`grpc`" pulumi-lang-hcl="`grpc`">`grpc`</span>, <span pulumi-lang-nodejs="`http`" pulumi-lang-dotnet="`Http`" pulumi-lang-go="`http`" pulumi-lang-python="`http`" pulumi-lang-yaml="`http`" pulumi-lang-java="`http`" pulumi-lang-hcl="`http`">`http`</span>, <span pulumi-lang-nodejs="`tcp`" pulumi-lang-dotnet="`Tcp`" pulumi-lang-go="`tcp`" pulumi-lang-python="`tcp`" pulumi-lang-yaml="`tcp`" pulumi-lang-java="`tcp`" pulumi-lang-hcl="`tcp`">`tcp`</span>
     */
    type: pulumi.Input<string>;
}
export interface ComputeContainerAppContainerStartupProbeGrpc {
    /**
     * The gRPC service name.
     */
    service: pulumi.Input<string>;
}
export interface ComputeContainerAppContainerStartupProbeHttp {
    /**
     * The expected HTTP response status code.
     */
    expectedStatus?: pulumi.Input<number | undefined>;
    /**
     * The HTTP path to be requested.
     */
    path: pulumi.Input<string>;
}
export interface ComputeContainerAppContainerVolumemount {
    /**
     * The name of the volume.
     */
    name: pulumi.Input<string>;
    /**
     * The path within the container where the volume will be mounted.
     */
    path: pulumi.Input<string>;
}
export interface ComputeContainerAppVolume {
    /**
     * The name of the volume.
     */
    name: pulumi.Input<string>;
    /**
     * The size of the volume, in Gigabytes (10^9 bytes).
     */
    size: pulumi.Input<number>;
}
export interface GetPullzoneOrigin {
    /**
     * The ID if the compute container app.
     */
    containerAppId?: string;
    /**
     * The ID if the compute container app endpoint.
     */
    containerEndpointId?: string;
    /**
     * The port for DNS Accelerated endpoints.
     */
    dnsPort?: number;
    /**
     * The scheme for DNS Accelerated endpoints.
     */
    dnsScheme?: string;
    /**
     * Indicates whether the zone will follow origin redirects.
     */
    followRedirects?: boolean;
    /**
     * Indicates whether the current hostname is forwarded to the origin.
     */
    forwardHostHeader?: boolean;
    /**
     * The host header that will be sent to the origin.
     */
    hostHeader?: string;
    /**
     * The ID of the compute script used as a middleware.
     */
    middlewareScript?: number;
    /**
     * The ID of the linked compute script.
     */
    script?: number;
    /**
     * The ID of the linked storage zone.
     */
    storagezone?: number;
    /**
     * Options: `ComputeContainer`, `ComputeScript`, `DnsAccelerate`, `OriginUrl`, `StorageZone`
     */
    type?: string;
    /**
     * The origin URL from where the files are fetched.
     */
    url?: string;
    /**
     * Indicates whether the Origin's TLS certificate should be verified.
     */
    verifySsl?: boolean;
}
export interface GetPullzoneOriginArgs {
    /**
     * The ID if the compute container app.
     */
    containerAppId?: pulumi.Input<string | undefined>;
    /**
     * The ID if the compute container app endpoint.
     */
    containerEndpointId?: pulumi.Input<string | undefined>;
    /**
     * The port for DNS Accelerated endpoints.
     */
    dnsPort?: pulumi.Input<number | undefined>;
    /**
     * The scheme for DNS Accelerated endpoints.
     */
    dnsScheme?: pulumi.Input<string | undefined>;
    /**
     * Indicates whether the zone will follow origin redirects.
     */
    followRedirects?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether the current hostname is forwarded to the origin.
     */
    forwardHostHeader?: pulumi.Input<boolean | undefined>;
    /**
     * The host header that will be sent to the origin.
     */
    hostHeader?: pulumi.Input<string | undefined>;
    /**
     * The ID of the compute script used as a middleware.
     */
    middlewareScript?: pulumi.Input<number | undefined>;
    /**
     * The ID of the linked compute script.
     */
    script?: pulumi.Input<number | undefined>;
    /**
     * The ID of the linked storage zone.
     */
    storagezone?: pulumi.Input<number | undefined>;
    /**
     * Options: `ComputeContainer`, `ComputeScript`, `DnsAccelerate`, `OriginUrl`, `StorageZone`
     */
    type?: pulumi.Input<string | undefined>;
    /**
     * The origin URL from where the files are fetched.
     */
    url?: pulumi.Input<string | undefined>;
    /**
     * Indicates whether the Origin's TLS certificate should be verified.
     */
    verifySsl?: pulumi.Input<boolean | undefined>;
}
export interface GetPullzoneRouting {
    /**
     * The list of blocked countries with the two-letter Alpha2 ISO codes. Traffic connecting from a blocked country will be rejected on the DNS level.
     */
    blockedCountries?: string[];
    /**
     * Options: <span pulumi-lang-nodejs="`all`" pulumi-lang-dotnet="`All`" pulumi-lang-go="`all`" pulumi-lang-python="`all`" pulumi-lang-yaml="`all`" pulumi-lang-java="`all`" pulumi-lang-hcl="`all`">`all`</span>, <span pulumi-lang-nodejs="`eu`" pulumi-lang-dotnet="`Eu`" pulumi-lang-go="`eu`" pulumi-lang-python="`eu`" pulumi-lang-yaml="`eu`" pulumi-lang-java="`eu`" pulumi-lang-hcl="`eu`">`eu`</span>, <span pulumi-lang-nodejs="`scripting`" pulumi-lang-dotnet="`Scripting`" pulumi-lang-go="`scripting`" pulumi-lang-python="`scripting`" pulumi-lang-yaml="`scripting`" pulumi-lang-java="`scripting`" pulumi-lang-hcl="`scripting`">`scripting`</span>
     */
    filters?: string[];
    /**
     * The list of budget redirected countries with the two-letter Alpha2 ISO codes. Traffic from a redirected country will connect to the cheapest possible node in North America or Europe.
     */
    redirectedCountries?: string[];
    /**
     * Options: `Standard`, `Volume`
     */
    tier?: string;
    /**
     * Options: `AF`, `ASIA`, `EU`, `SA`, `US`
     */
    zones?: string[];
}
export interface GetPullzoneRoutingArgs {
    /**
     * The list of blocked countries with the two-letter Alpha2 ISO codes. Traffic connecting from a blocked country will be rejected on the DNS level.
     */
    blockedCountries?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Options: <span pulumi-lang-nodejs="`all`" pulumi-lang-dotnet="`All`" pulumi-lang-go="`all`" pulumi-lang-python="`all`" pulumi-lang-yaml="`all`" pulumi-lang-java="`all`" pulumi-lang-hcl="`all`">`all`</span>, <span pulumi-lang-nodejs="`eu`" pulumi-lang-dotnet="`Eu`" pulumi-lang-go="`eu`" pulumi-lang-python="`eu`" pulumi-lang-yaml="`eu`" pulumi-lang-java="`eu`" pulumi-lang-hcl="`eu`">`eu`</span>, <span pulumi-lang-nodejs="`scripting`" pulumi-lang-dotnet="`Scripting`" pulumi-lang-go="`scripting`" pulumi-lang-python="`scripting`" pulumi-lang-yaml="`scripting`" pulumi-lang-java="`scripting`" pulumi-lang-hcl="`scripting`">`scripting`</span>
     */
    filters?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The list of budget redirected countries with the two-letter Alpha2 ISO codes. Traffic from a redirected country will connect to the cheapest possible node in North America or Europe.
     */
    redirectedCountries?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Options: `Standard`, `Volume`
     */
    tier?: pulumi.Input<string | undefined>;
    /**
     * Options: `AF`, `ASIA`, `EU`, `SA`, `US`
     */
    zones?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
export interface PullzoneEdgeruleAction {
    parameter1?: pulumi.Input<string | undefined>;
    parameter2?: pulumi.Input<string | undefined>;
    parameter3?: pulumi.Input<string | undefined>;
    type?: pulumi.Input<string | undefined>;
}
export interface PullzoneEdgeruleTrigger {
    matchType?: pulumi.Input<string | undefined>;
    parameter1?: pulumi.Input<string | undefined>;
    parameter2?: pulumi.Input<string | undefined>;
    patterns?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    type?: pulumi.Input<string | undefined>;
}
export interface PullzoneOrigin {
    /**
     * The ID if the compute container app.
     */
    containerAppId?: pulumi.Input<string | undefined>;
    /**
     * The ID if the compute container app endpoint.
     */
    containerEndpointId?: pulumi.Input<string | undefined>;
    /**
     * The port for DNS Accelerated endpoints.
     */
    dnsPort?: pulumi.Input<number | undefined>;
    /**
     * The scheme for DNS Accelerated endpoints.
     */
    dnsScheme?: pulumi.Input<string | undefined>;
    /**
     * Indicates whether the zone will follow origin redirects.
     */
    followRedirects?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether the current hostname is forwarded to the origin.
     */
    forwardHostHeader?: pulumi.Input<boolean | undefined>;
    /**
     * The host header that will be sent to the origin.
     */
    hostHeader?: pulumi.Input<string | undefined>;
    /**
     * The ID of the compute script used as a middleware.
     */
    middlewareScript?: pulumi.Input<number | undefined>;
    /**
     * The ID of the linked compute script.
     */
    script?: pulumi.Input<number | undefined>;
    /**
     * The ID of the linked storage zone.
     */
    storagezone?: pulumi.Input<number | undefined>;
    /**
     * Options: `ComputeContainer`, `ComputeScript`, `DnsAccelerate`, `OriginUrl`, `StorageZone`
     */
    type: pulumi.Input<string>;
    /**
     * The origin URL from where the files are fetched.
     */
    url?: pulumi.Input<string | undefined>;
    /**
     * Indicates whether the Origin's TLS certificate should be verified.
     */
    verifySsl?: pulumi.Input<boolean | undefined>;
}
export interface PullzoneRatelimitRuleCondition {
    /**
     * Options: `BEGINSWITH`, `CONTAINS`, `CONTAINSWORD`, `DETECTSQLI`, `DETECTXSS`, `ENDSWITH`, `EQ`, `GE`, `GT`, `LE`, `LT`, `RX`, `STREQ`, `STRMATCH`, `WITHIN`
     */
    operator: pulumi.Input<string>;
    value: pulumi.Input<string>;
    /**
     * Options: `ARGS`, `ARGS_COMBINED_SIZE`, `ARGS_GET`, `ARGS_GET_NAMES`, `ARGS_POST`, `ARGS_POST_NAMES`, `FILES_NAMES`, `FINGERPRINT`, `GEO`, `QUERY_STRING`, `REMOTE_ADDR`, `REQUEST_BASENAME`, `REQUEST_BODY`, `REQUEST_COOKIES`, `REQUEST_COOKIES_NAMES`, `REQUEST_FILENAME`, `REQUEST_HEADERS`, `REQUEST_HEADERS_NAMES`, `REQUEST_LINE`, `REQUEST_METHOD`, `REQUEST_PROTOCOL`, `REQUEST_URI`, `REQUEST_URI_RAW`, `RESPONSE_BODY`, `RESPONSE_HEADERS`, `RESPONSE_STATUS`, `VERIFIED_BOT_CATEGORY`
     */
    variable: pulumi.Input<string>;
    variableValue?: pulumi.Input<string | undefined>;
}
export interface PullzoneRatelimitRuleLimit {
    /**
     * The interval, in seconds, to consider for to trigger the rate limit rule.
     */
    interval: pulumi.Input<number>;
    /**
     * The number of request within the interval to trigger the rate limit rule.
     */
    requests: pulumi.Input<number>;
}
export interface PullzoneRatelimitRuleResponse {
    /**
     * The interval, in seconds, that the rate limit will apply.
     */
    interval: pulumi.Input<number>;
}
export interface PullzoneRouting {
    /**
     * The list of blocked countries with the two-letter Alpha2 ISO codes. Traffic connecting from a blocked country will be rejected on the DNS level.
     */
    blockedCountries?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Options: <span pulumi-lang-nodejs="`all`" pulumi-lang-dotnet="`All`" pulumi-lang-go="`all`" pulumi-lang-python="`all`" pulumi-lang-yaml="`all`" pulumi-lang-java="`all`" pulumi-lang-hcl="`all`">`all`</span>, <span pulumi-lang-nodejs="`eu`" pulumi-lang-dotnet="`Eu`" pulumi-lang-go="`eu`" pulumi-lang-python="`eu`" pulumi-lang-yaml="`eu`" pulumi-lang-java="`eu`" pulumi-lang-hcl="`eu`">`eu`</span>, <span pulumi-lang-nodejs="`scripting`" pulumi-lang-dotnet="`Scripting`" pulumi-lang-go="`scripting`" pulumi-lang-python="`scripting`" pulumi-lang-yaml="`scripting`" pulumi-lang-java="`scripting`" pulumi-lang-hcl="`scripting`">`scripting`</span>
     */
    filters?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The list of budget redirected countries with the two-letter Alpha2 ISO codes. Traffic from a redirected country will connect to the cheapest possible node in North America or Europe.
     */
    redirectedCountries?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Options: `Standard`, `Volume`
     */
    tier?: pulumi.Input<string | undefined>;
    /**
     * Options: `AF`, `ASIA`, `EU`, `SA`, `US`
     */
    zones?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
export interface PullzoneShieldAccessList {
    /**
     * Options: `Allow`, `Block`, `Bypass`, `Challenge`, `Log`
     */
    action: pulumi.Input<string>;
    /**
     * The ID of the Access List.
     */
    id: pulumi.Input<number>;
}
export interface PullzoneShieldBotDetection {
    /**
     * Combines advanced entropy analysis and cross-session consistency.
     */
    complexFingerprinting?: pulumi.Input<boolean | undefined>;
    /**
     * Controls how assertively unusual fingerprints are treated as bots.
     */
    fingerprintAggression?: pulumi.Input<number | undefined>;
    /**
     * Adjusts how precisely browsers are checked for signs of automation.
     */
    fingerprintSensitivity?: pulumi.Input<number | undefined>;
    /**
     * Monitors IP behaviour, reputation, and rate patterns.
     */
    ipSensitivity?: pulumi.Input<number | undefined>;
    /**
     * Indicates the mode the Bot Detection engine is running. Options: `Challenge`, `Log`
     */
    mode?: pulumi.Input<string | undefined>;
    /**
     * Analyzes request headers, query structure, and protocol anomalies.
     */
    requestIntegrity?: pulumi.Input<number | undefined>;
}
export interface PullzoneShieldDdos {
    /**
     * The window of time a visitor can access your website after passing a challenge. Once the timeout expires, they'll face a new challenge.
     */
    challengeWindow?: pulumi.Input<number | undefined>;
    /**
     * Options: `Asleep`, `Extreme`, `High`, `Low`, `Medium`
     */
    level: pulumi.Input<string>;
    /**
     * Indicates the mode the engine is running. Options: `Block`, `Log`
     */
    mode?: pulumi.Input<string | undefined>;
}
export interface PullzoneShieldWaf {
    /**
     * Indicates allowed HTTP methods.
     */
    allowedHttpMethods?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Indicates allowed HTTP versions.
     */
    allowedHttpVersions?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Indicates allowed values for request Content-Type.
     */
    allowedRequestContentTypes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Determines which severity level of rules will block requests.
     */
    blockingSensitivity?: pulumi.Input<number | undefined>;
    /**
     * Determines the action to take when the request body length exceeds your plan limit. Options: `Block`, `Ignore`, `Log`
     */
    bodyLimitRequest?: pulumi.Input<string | undefined>;
    /**
     * Determines the action to take when the response body length exceeds your plan limit. Options: `Block`, `Ignore`, `Log`
     */
    bodyLimitResponse?: pulumi.Input<string | undefined>;
    /**
     * Determines which severity level of rules will trigger a detection log.
     */
    detectionSensitivity?: pulumi.Input<number | undefined>;
    /**
     * Indicates whether the WAF (Web Application Firewall) is enabled.
     */
    enabled: pulumi.Input<boolean>;
    /**
     * Determines which severity level of rules will trigger the rules and their action.
     */
    executionSensitivity?: pulumi.Input<number | undefined>;
    /**
     * When enabled, detected WAF audit logs will contain the full list of request headers sent during the request.
     */
    logHeaders?: pulumi.Input<boolean | undefined>;
    /**
     * The list of headers excluded from the logs. They will still be used for processing WAF rules.
     */
    logHeadersExcludeds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Indicates the mode the engine is running. Options: `Block`, `Log`
     */
    mode?: pulumi.Input<string | undefined>;
    /**
     * Real-time Threat Intelligence delivers zero-day protection by instantly detecting and blocking emerging threats.
     */
    realtimeThreatIntelligence?: pulumi.Input<boolean | undefined>;
    /**
     * List of disabled WAF rules.
     */
    rulesDisableds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * List of WAF rules that will not be blocked, but will be logged when triggered.
     */
    rulesLogonlies?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
export interface PullzoneWafRuleCondition {
    /**
     * Options: `BEGINSWITH`, `CONTAINS`, `CONTAINSWORD`, `DETECTSQLI`, `DETECTXSS`, `ENDSWITH`, `EQ`, `GE`, `GT`, `LE`, `LT`, `RX`, `STREQ`, `STRMATCH`, `WITHIN`
     */
    operator: pulumi.Input<string>;
    value: pulumi.Input<string>;
    /**
     * Options: `ARGS`, `ARGS_COMBINED_SIZE`, `ARGS_GET`, `ARGS_GET_NAMES`, `ARGS_POST`, `ARGS_POST_NAMES`, `FILES_NAMES`, `FINGERPRINT`, `GEO`, `QUERY_STRING`, `REMOTE_ADDR`, `REQUEST_BASENAME`, `REQUEST_BODY`, `REQUEST_COOKIES`, `REQUEST_COOKIES_NAMES`, `REQUEST_FILENAME`, `REQUEST_HEADERS`, `REQUEST_HEADERS_NAMES`, `REQUEST_LINE`, `REQUEST_METHOD`, `REQUEST_PROTOCOL`, `REQUEST_URI`, `REQUEST_URI_RAW`, `RESPONSE_BODY`, `RESPONSE_HEADERS`, `RESPONSE_STATUS`, `VERIFIED_BOT_CATEGORY`
     */
    variable: pulumi.Input<string>;
    variableValue?: pulumi.Input<string | undefined>;
}
export interface PullzoneWafRuleResponse {
    /**
     * The action to take if the WAF rule is triggered. Options: `Allow`, `Block`, `Bypass`, `Challenge`, `Log`
     */
    action: pulumi.Input<string>;
}
export interface StreamVideoChapter {
    end?: pulumi.Input<string | undefined>;
    start?: pulumi.Input<string | undefined>;
    title?: pulumi.Input<string | undefined>;
}
export interface StreamVideoMoment {
    label?: pulumi.Input<string | undefined>;
    timestamp?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=input.d.ts.map