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; /** * A custom startup command that will execute once the container is launched. */ command?: pulumi.Input; /** * Defines a public endpoint for the application. */ endpoints?: pulumi.Input[]>; /** * Defines an environment variable for the container */ envs?: pulumi.Input[]>; /** * The unique identifier for the container. */ id?: pulumi.Input; /** * The image name within the registry, without the domain prefix (i.e.: `my-app`). */ imageName: pulumi.Input; /** * The image namespace within the registry, without the domain prefix (i.e.: `my-org`). */ imageNamespace: pulumi.Input; /** * Options: `Always`, `IfNotPresent` */ imagePullPolicy?: pulumi.Input; /** * The image registry for the container. */ imageRegistry: pulumi.Input; /** * The image tag (i.e.: `2.9-alpine`). */ imageTag: pulumi.Input; /** * Checks that the application is actively running without issues. It the check fails, the container will be automatically restarted */ livenessProbes?: pulumi.Input[]>; /** * The name of the container. */ name: pulumi.Input; /** * 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[]>; /** * Checks if the application has successfully started. No requests will be routed to the application until this check is successful. */ startupProbes?: pulumi.Input[]>; /** * Mounts a volume within a container */ volumemounts?: pulumi.Input[]>; /** * The working directory of the container runtime. */ workingDir?: pulumi.Input; } export interface ComputeContainerAppContainerEndpoint { /** * Configurations for CDN endpoint. */ cdns?: pulumi.Input[]>; /** * The name of the endpoint. */ name: pulumi.Input; /** * Endpoint port configuration. */ ports?: pulumi.Input[]>; /** * Options: `Anycast`, `CDN`, `InternalIP` */ type: pulumi.Input; } export interface ComputeContainerAppContainerEndpointCdn { /** * Indicates whether the container will handle TLS termination. */ originSsl?: pulumi.Input; /** * The ID of the pullzone associated with the endpoint. */ pullzoneId?: pulumi.Input; /** * Indicates whether sticky sessions is enabled. */ stickySessions?: pulumi.Input[]>; } export interface ComputeContainerAppContainerEndpointCdnStickySession { /** * Incoming request headers used to select a pod for sticky sessions. */ headers: pulumi.Input[]>; } export interface ComputeContainerAppContainerEndpointPort { /** * The container port number. */ container: pulumi.Input; /** * The exposed port number. */ exposed?: pulumi.Input; /** * Options: `Tcp`, `Udp` */ protocols?: pulumi.Input[]>; } export interface ComputeContainerAppContainerEnv { /** * The name of the environment variable. */ name: pulumi.Input; /** * The value of the environment variable. */ value: pulumi.Input; } export interface ComputeContainerAppContainerLivenessProbe { /** * The number of failed probes to consider the container unhealthy. */ failureThreshold?: pulumi.Input; /** * gRPC-specific configurations. */ grpcs?: pulumi.Input[]>; /** * HTTP-specific configurations. */ https?: pulumi.Input[]>; /** * The amount of time in seconds after the container is started to wait before the first probe is sent. */ initialDelay?: pulumi.Input; /** * The amount of time in seconds between each probe. */ period?: pulumi.Input; /** * The port within the container the probe will connect to. */ port: pulumi.Input; /** * The number of successful probes to consider the container healthy. */ successThreshold?: pulumi.Input; /** * The amount of time in seconds the probe will wait for a response before considering it a failure. */ timeout?: pulumi.Input; /** * Options: `grpc`, `http`, `tcp` */ type: pulumi.Input; } export interface ComputeContainerAppContainerLivenessProbeGrpc { /** * The gRPC service name. */ service: pulumi.Input; } export interface ComputeContainerAppContainerLivenessProbeHttp { /** * The expected HTTP response status code. */ expectedStatus?: pulumi.Input; /** * The HTTP path to be requested. */ path: pulumi.Input; } export interface ComputeContainerAppContainerReadinessProbe { /** * The number of failed probes to consider the container unhealthy. */ failureThreshold?: pulumi.Input; /** * gRPC-specific configurations. */ grpcs?: pulumi.Input[]>; /** * HTTP-specific configurations. */ https?: pulumi.Input[]>; /** * The amount of time in seconds after the container is started to wait before the first probe is sent. */ initialDelay?: pulumi.Input; /** * The amount of time in seconds between each probe. */ period?: pulumi.Input; /** * The port within the container the probe will connect to. */ port: pulumi.Input; /** * The number of successful probes to consider the container healthy. */ successThreshold?: pulumi.Input; /** * The amount of time in seconds the probe will wait for a response before considering it a failure. */ timeout?: pulumi.Input; /** * Options: `grpc`, `http`, `tcp` */ type: pulumi.Input; } export interface ComputeContainerAppContainerReadinessProbeGrpc { /** * The gRPC service name. */ service: pulumi.Input; } export interface ComputeContainerAppContainerReadinessProbeHttp { /** * The expected HTTP response status code. */ expectedStatus?: pulumi.Input; /** * The HTTP path to be requested. */ path: pulumi.Input; } export interface ComputeContainerAppContainerStartupProbe { /** * The number of failed probes to consider the container unhealthy. */ failureThreshold?: pulumi.Input; /** * gRPC-specific configurations. */ grpcs?: pulumi.Input[]>; /** * HTTP-specific configurations. */ https?: pulumi.Input[]>; /** * The amount of time in seconds after the container is started to wait before the first probe is sent. */ initialDelay?: pulumi.Input; /** * The amount of time in seconds between each probe. */ period?: pulumi.Input; /** * The port within the container the probe will connect to. */ port: pulumi.Input; /** * The number of successful probes to consider the container healthy. */ successThreshold?: pulumi.Input; /** * The amount of time in seconds the probe will wait for a response before considering it a failure. */ timeout?: pulumi.Input; /** * Options: `grpc`, `http`, `tcp` */ type: pulumi.Input; } export interface ComputeContainerAppContainerStartupProbeGrpc { /** * The gRPC service name. */ service: pulumi.Input; } export interface ComputeContainerAppContainerStartupProbeHttp { /** * The expected HTTP response status code. */ expectedStatus?: pulumi.Input; /** * The HTTP path to be requested. */ path: pulumi.Input; } export interface ComputeContainerAppContainerVolumemount { /** * The name of the volume. */ name: pulumi.Input; /** * The path within the container where the volume will be mounted. */ path: pulumi.Input; } export interface ComputeContainerAppVolume { /** * The name of the volume. */ name: pulumi.Input; /** * The size of the volume, in Gigabytes (10^9 bytes). */ size: pulumi.Input; } 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; /** * The ID if the compute container app endpoint. */ containerEndpointId?: pulumi.Input; /** * The port for DNS Accelerated endpoints. */ dnsPort?: pulumi.Input; /** * The scheme for DNS Accelerated endpoints. */ dnsScheme?: pulumi.Input; /** * Indicates whether the zone will follow origin redirects. */ followRedirects?: pulumi.Input; /** * Indicates whether the current hostname is forwarded to the origin. */ forwardHostHeader?: pulumi.Input; /** * The host header that will be sent to the origin. */ hostHeader?: pulumi.Input; /** * The ID of the compute script used as a middleware. */ middlewareScript?: pulumi.Input; /** * The ID of the linked compute script. */ script?: pulumi.Input; /** * The ID of the linked storage zone. */ storagezone?: pulumi.Input; /** * Options: `ComputeContainer`, `ComputeScript`, `DnsAccelerate`, `OriginUrl`, `StorageZone` */ type?: pulumi.Input; /** * The origin URL from where the files are fetched. */ url?: pulumi.Input; /** * Indicates whether the Origin's TLS certificate should be verified. */ verifySsl?: pulumi.Input; } 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: `all`, `eu`, `scripting` */ 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[]>; /** * Options: `all`, `eu`, `scripting` */ filters?: pulumi.Input[]>; /** * 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[]>; /** * Options: `Standard`, `Volume` */ tier?: pulumi.Input; /** * Options: `AF`, `ASIA`, `EU`, `SA`, `US` */ zones?: pulumi.Input[]>; } export interface PullzoneEdgeruleAction { parameter1: pulumi.Input; parameter2: pulumi.Input; parameter3: pulumi.Input; type: pulumi.Input; } export interface PullzoneEdgeruleTrigger { matchType: pulumi.Input; parameter1: pulumi.Input; parameter2: pulumi.Input; patterns: pulumi.Input[]>; type: pulumi.Input; } export interface PullzoneOrigin { /** * The ID if the compute container app. */ containerAppId?: pulumi.Input; /** * The ID if the compute container app endpoint. */ containerEndpointId?: pulumi.Input; /** * The port for DNS Accelerated endpoints. */ dnsPort?: pulumi.Input; /** * The scheme for DNS Accelerated endpoints. */ dnsScheme?: pulumi.Input; /** * Indicates whether the zone will follow origin redirects. */ followRedirects?: pulumi.Input; /** * Indicates whether the current hostname is forwarded to the origin. */ forwardHostHeader?: pulumi.Input; /** * The host header that will be sent to the origin. */ hostHeader?: pulumi.Input; /** * The ID of the compute script used as a middleware. */ middlewareScript?: pulumi.Input; /** * The ID of the linked compute script. */ script?: pulumi.Input; /** * The ID of the linked storage zone. */ storagezone?: pulumi.Input; /** * Options: `ComputeContainer`, `ComputeScript`, `DnsAccelerate`, `OriginUrl`, `StorageZone` */ type: pulumi.Input; /** * The origin URL from where the files are fetched. */ url?: pulumi.Input; /** * Indicates whether the Origin's TLS certificate should be verified. */ verifySsl?: pulumi.Input; } export interface PullzoneRatelimitRuleCondition { /** * Options: `BEGINSWITH`, `CONTAINS`, `CONTAINSWORD`, `DETECTSQLI`, `DETECTXSS`, `ENDSWITH`, `EQ`, `GE`, `GT`, `LE`, `LT`, `RX`, `STREQ`, `STRMATCH`, `WITHIN` */ operator: pulumi.Input; value: pulumi.Input; /** * 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` */ variable: pulumi.Input; variableValue?: pulumi.Input; } export interface PullzoneRatelimitRuleLimit { /** * The interval, in seconds, to consider for to trigger the rate limit rule. */ interval: pulumi.Input; /** * The number of request within the interval to trigger the rate limit rule. */ requests: pulumi.Input; } export interface PullzoneRatelimitRuleResponse { /** * The interval, in seconds, that the rate limit will apply. */ interval: pulumi.Input; } 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[]>; /** * Options: `all`, `eu`, `scripting` */ filters?: pulumi.Input[]>; /** * 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[]>; /** * Options: `Standard`, `Volume` */ tier?: pulumi.Input; /** * Options: `AF`, `ASIA`, `EU`, `SA`, `US` */ zones?: pulumi.Input[]>; } export interface PullzoneShieldAccessList { /** * Options: `Allow`, `Block`, `Bypass`, `Challenge`, `Log` */ action: pulumi.Input; /** * The ID of the Access List. */ id: pulumi.Input; } export interface PullzoneShieldBotDetection { /** * Combines advanced entropy analysis and cross-session consistency. */ complexFingerprinting?: pulumi.Input; /** * Controls how assertively unusual fingerprints are treated as bots. */ fingerprintAggression?: pulumi.Input; /** * Adjusts how precisely browsers are checked for signs of automation. */ fingerprintSensitivity?: pulumi.Input; /** * Monitors IP behaviour, reputation, and rate patterns. */ ipSensitivity?: pulumi.Input; /** * Indicates the mode the Bot Detection engine is running. Options: `Challenge`, `Log` */ mode?: pulumi.Input; /** * Analyzes request headers, query structure, and protocol anomalies. */ requestIntegrity?: pulumi.Input; } 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; /** * Options: `Asleep`, `Extreme`, `High`, `Low`, `Medium` */ level: pulumi.Input; /** * Indicates the mode the engine is running. Options: `Block`, `Log` */ mode?: pulumi.Input; } export interface PullzoneShieldWaf { /** * Indicates allowed HTTP methods. */ allowedHttpMethods?: pulumi.Input[]>; /** * Indicates allowed HTTP versions. */ allowedHttpVersions?: pulumi.Input[]>; /** * Indicates allowed values for request Content-Type. */ allowedRequestContentTypes?: pulumi.Input[]>; /** * Determines which severity level of rules will block requests. */ blockingSensitivity?: pulumi.Input; /** * Determines the action to take when the request body length exceeds your plan limit. Options: `Block`, `Ignore`, `Log` */ bodyLimitRequest?: pulumi.Input; /** * Determines the action to take when the response body length exceeds your plan limit. Options: `Block`, `Ignore`, `Log` */ bodyLimitResponse?: pulumi.Input; /** * Determines which severity level of rules will trigger a detection log. */ detectionSensitivity?: pulumi.Input; /** * Indicates whether the WAF (Web Application Firewall) is enabled. */ enabled: pulumi.Input; /** * Determines which severity level of rules will trigger the rules and their action. */ executionSensitivity?: pulumi.Input; /** * When enabled, detected WAF audit logs will contain the full list of request headers sent during the request. */ logHeaders?: pulumi.Input; /** * The list of headers excluded from the logs. They will still be used for processing WAF rules. */ logHeadersExcludeds?: pulumi.Input[]>; /** * Indicates the mode the engine is running. Options: `Block`, `Log` */ mode?: pulumi.Input; /** * Real-time Threat Intelligence delivers zero-day protection by instantly detecting and blocking emerging threats. */ realtimeThreatIntelligence?: pulumi.Input; /** * List of disabled WAF rules. */ rulesDisableds?: pulumi.Input[]>; /** * List of WAF rules that will not be blocked, but will be logged when triggered. */ rulesLogonlies?: pulumi.Input[]>; } export interface PullzoneWafRuleCondition { /** * Options: `BEGINSWITH`, `CONTAINS`, `CONTAINSWORD`, `DETECTSQLI`, `DETECTXSS`, `ENDSWITH`, `EQ`, `GE`, `GT`, `LE`, `LT`, `RX`, `STREQ`, `STRMATCH`, `WITHIN` */ operator: pulumi.Input; value: pulumi.Input; /** * 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` */ variable: pulumi.Input; variableValue?: pulumi.Input; } export interface PullzoneWafRuleResponse { /** * The action to take if the WAF rule is triggered. Options: `Allow`, `Block`, `Bypass`, `Challenge`, `Log` */ action: pulumi.Input; } export interface StreamVideoChapter { end: pulumi.Input; start: pulumi.Input; title: pulumi.Input; } export interface StreamVideoMoment { label: pulumi.Input; timestamp: pulumi.Input; }