WaitingRoom

class WaitingRoom : KotlinCustomResource

Provides a Cloudflare Waiting Room resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
// Waiting Room
const example = new cloudflare.WaitingRoom("example", {
zoneId: "0da42c8d2132a9ddaf714f9e7c920711",
name: "foo",
host: "foo.example.com",
path: "/",
newUsersPerMinute: 200,
totalActiveUsers: 200,
cookieSuffix: "queue1",
additionalRoutes: [
{
host: "shop1.example.com",
path: "/example-path",
},
{
host: "shop2.example.com",
},
],
queueingStatusCode: 200,
enabledOriginCommands: ["revoke"],
});
import pulumi
import pulumi_cloudflare as cloudflare
# Waiting Room
example = cloudflare.WaitingRoom("example",
zone_id="0da42c8d2132a9ddaf714f9e7c920711",
name="foo",
host="foo.example.com",
path="/",
new_users_per_minute=200,
total_active_users=200,
cookie_suffix="queue1",
additional_routes=[
{
"host": "shop1.example.com",
"path": "/example-path",
},
{
"host": "shop2.example.com",
},
],
queueing_status_code=200,
enabled_origin_commands=["revoke"])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Cloudflare = Pulumi.Cloudflare;
return await Deployment.RunAsync(() =>
{
// Waiting Room
var example = new Cloudflare.WaitingRoom("example", new()
{
ZoneId = "0da42c8d2132a9ddaf714f9e7c920711",
Name = "foo",
Host = "foo.example.com",
Path = "/",
NewUsersPerMinute = 200,
TotalActiveUsers = 200,
CookieSuffix = "queue1",
AdditionalRoutes = new[]
{
new Cloudflare.Inputs.WaitingRoomAdditionalRouteArgs
{
Host = "shop1.example.com",
Path = "/example-path",
},
new Cloudflare.Inputs.WaitingRoomAdditionalRouteArgs
{
Host = "shop2.example.com",
},
},
QueueingStatusCode = 200,
EnabledOriginCommands = new[]
{
"revoke",
},
});
});
package main
import (
"github.com/pulumi/pulumi-cloudflare/sdk/v5/go/cloudflare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Waiting Room
_, err := cloudflare.NewWaitingRoom(ctx, "example", &cloudflare.WaitingRoomArgs{
ZoneId: pulumi.String("0da42c8d2132a9ddaf714f9e7c920711"),
Name: pulumi.String("foo"),
Host: pulumi.String("foo.example.com"),
Path: pulumi.String("/"),
NewUsersPerMinute: pulumi.Int(200),
TotalActiveUsers: pulumi.Int(200),
CookieSuffix: pulumi.String("queue1"),
AdditionalRoutes: cloudflare.WaitingRoomAdditionalRouteArray{
&cloudflare.WaitingRoomAdditionalRouteArgs{
Host: pulumi.String("shop1.example.com"),
Path: pulumi.String("/example-path"),
},
&cloudflare.WaitingRoomAdditionalRouteArgs{
Host: pulumi.String("shop2.example.com"),
},
},
QueueingStatusCode: pulumi.Int(200),
EnabledOriginCommands: pulumi.StringArray{
pulumi.String("revoke"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cloudflare.WaitingRoom;
import com.pulumi.cloudflare.WaitingRoomArgs;
import com.pulumi.cloudflare.inputs.WaitingRoomAdditionalRouteArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// Waiting Room
var example = new WaitingRoom("example", WaitingRoomArgs.builder()
.zoneId("0da42c8d2132a9ddaf714f9e7c920711")
.name("foo")
.host("foo.example.com")
.path("/")
.newUsersPerMinute(200)
.totalActiveUsers(200)
.cookieSuffix("queue1")
.additionalRoutes(
WaitingRoomAdditionalRouteArgs.builder()
.host("shop1.example.com")
.path("/example-path")
.build(),
WaitingRoomAdditionalRouteArgs.builder()
.host("shop2.example.com")
.build())
.queueingStatusCode(200)
.enabledOriginCommands("revoke")
.build());
}
}
resources:
# Waiting Room
example:
type: cloudflare:WaitingRoom
properties:
zoneId: 0da42c8d2132a9ddaf714f9e7c920711
name: foo
host: foo.example.com
path: /
newUsersPerMinute: 200
totalActiveUsers: 200
cookieSuffix: queue1
additionalRoutes:
- host: shop1.example.com
path: /example-path
- host: shop2.example.com
queueingStatusCode: 200
enabledOriginCommands:
- revoke

Import

Use the Zone ID and Waiting Room ID to import.

$ pulumi import cloudflare:index/waitingRoom:WaitingRoom default <zone_id>/<waiting_room_id>

Properties

Link copied to clipboard

A list of additional hostname and paths combination to be applied on the waiting room.

Link copied to clipboard
val cookieSuffix: Output<String>?

A cookie suffix to be appended to the Cloudflare waiting room cookie name.

Link copied to clipboard
val customPageHtml: Output<String>?

This is a templated html file that will be rendered at the edge.

Link copied to clipboard

The language to use for the default waiting room page. Available values: de-DE, es-ES, en-US, fr-FR, id-ID, it-IT, ja-JP, ko-KR, nl-NL, pl-PL, pt-BR, tr-TR, zh-CN, zh-TW, ru-RU, fa-IR, bg-BG, hr-HR, cs-CZ, da-DK, fi-FI, lt-LT, ms-MY, nb-NO, ro-RO, el-GR, he-IL, hi-IN, hu-HU, sr-BA, sk-SK, sl-SI, sv-SE, tl-PH, th-TH, uk-UA, vi-VN. Defaults to en-US.

Link copied to clipboard
val description: Output<String>?

A description to add more details about the waiting room.

Link copied to clipboard

Disables automatic renewal of session cookies.

Link copied to clipboard

The list of enabled origin commands for the waiting room. Available values: revoke.

Link copied to clipboard
val host: Output<String>

Host name for which the waiting room will be applied (no wildcards).

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

If true, requests to the waiting room with the header Accept: application/json will receive a JSON response object.

Link copied to clipboard
val name: Output<String>

A unique name to identify the waiting room. Modifying this attribute will force creation of a new resource.

Link copied to clipboard
val newUsersPerMinute: Output<Int>

The number of new users that will be let into the route every minute.

Link copied to clipboard
val path: Output<String>?

The path within the host to enable the waiting room on. Defaults to /.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val queueAll: Output<Boolean>?

If queue_all is true, then all traffic will be sent to the waiting room.

Link copied to clipboard
val queueingMethod: Output<String>?

The queueing method used by the waiting room. Available values: fifo, random, passthrough, reject. Defaults to fifo.

Link copied to clipboard
val queueingStatusCode: Output<Int>?

HTTP status code returned to a user while in the queue. Defaults to 200.

Link copied to clipboard
val sessionDuration: Output<Int>?

Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the origin. Defaults to 5.

Link copied to clipboard
val suspended: Output<Boolean>?

Suspends the waiting room.

Link copied to clipboard
val totalActiveUsers: Output<Int>

The total number of active user sessions on the route at a point in time.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val zoneId: Output<String>

The zone identifier to target for the resource. Modifying this attribute will force creation of a new resource.