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