Waiting Room
Provides a ESA Waiting Room resource. For information about ESA Waiting Room and how to use it, see What is Waiting Room.
NOTE: Available since v1.244.0.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = alicloud.esa.getSites({
planSubscribeType: "enterpriseplan",
});
const resourceSiteExample = new alicloud.esa.Site("resource_Site_example", {
siteName: "terraform.site",
instanceId: _default.then(_default => _default.sites?.[0]?.instanceId),
coverage: "overseas",
accessType: "NS",
});
const defaultWaitingRoom = new alicloud.esa.WaitingRoom("default", {
queuingMethod: "fifo",
sessionDuration: "5",
totalActiveUsers: "300",
hostNameAndPaths: [
{
domain: "sub_domain.com",
path: "/example",
subdomain: "example_sub_domain.com.",
},
{
domain: "sub_domain.com",
path: "/example",
subdomain: "example_sub_domain1.com.",
},
{
path: "/example",
subdomain: "example_sub_domain2.com.",
domain: "sub_domain.com",
},
],
waitingRoomType: "default",
newUsersPerMinute: "200",
customPageHtml: "",
language: "zhcn",
queuingStatusCode: "200",
waitingRoomName: "waitingroom_example",
status: "off",
siteId: resourceSiteExample.id,
queueAllEnable: "off",
disableSessionRenewalEnable: "off",
description: "example",
jsonResponseEnable: "off",
cookieName: "__aliwaitingroom_example",
});
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.esa.get_sites(plan_subscribe_type="enterpriseplan")
resource_site_example = alicloud.esa.Site("resource_Site_example",
site_name="terraform.site",
instance_id=default.sites[0].instance_id,
coverage="overseas",
access_type="NS")
default_waiting_room = alicloud.esa.WaitingRoom("default",
queuing_method="fifo",
session_duration="5",
total_active_users="300",
host_name_and_paths=[
{
"domain": "sub_domain.com",
"path": "/example",
"subdomain": "example_sub_domain.com.",
},
{
"domain": "sub_domain.com",
"path": "/example",
"subdomain": "example_sub_domain1.com.",
},
{
"path": "/example",
"subdomain": "example_sub_domain2.com.",
"domain": "sub_domain.com",
},
],
waiting_room_type="default",
new_users_per_minute="200",
custom_page_html="",
language="zhcn",
queuing_status_code="200",
waiting_room_name="waitingroom_example",
status="off",
site_id=resource_site_example.id,
queue_all_enable="off",
disable_session_renewal_enable="off",
description="example",
json_response_enable="off",
cookie_name="__aliwaitingroom_example")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = AliCloud.Esa.GetSites.Invoke(new()
{
PlanSubscribeType = "enterpriseplan",
});
var resourceSiteExample = new AliCloud.Esa.Site("resource_Site_example", new()
{
SiteName = "terraform.site",
InstanceId = @default.Apply(@default => @default.Apply(getSitesResult => getSitesResult.Sites[0]?.InstanceId)),
Coverage = "overseas",
AccessType = "NS",
});
var defaultWaitingRoom = new AliCloud.Esa.WaitingRoom("default", new()
{
QueuingMethod = "fifo",
SessionDuration = "5",
TotalActiveUsers = "300",
HostNameAndPaths = new[]
{
new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs
{
Domain = "sub_domain.com",
Path = "/example",
Subdomain = "example_sub_domain.com.",
},
new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs
{
Domain = "sub_domain.com",
Path = "/example",
Subdomain = "example_sub_domain1.com.",
},
new AliCloud.Esa.Inputs.WaitingRoomHostNameAndPathArgs
{
Path = "/example",
Subdomain = "example_sub_domain2.com.",
Domain = "sub_domain.com",
},
},
WaitingRoomType = "default",
NewUsersPerMinute = "200",
CustomPageHtml = "",
Language = "zhcn",
QueuingStatusCode = "200",
WaitingRoomName = "waitingroom_example",
Status = "off",
SiteId = resourceSiteExample.Id,
QueueAllEnable = "off",
DisableSessionRenewalEnable = "off",
Description = "example",
JsonResponseEnable = "off",
CookieName = "__aliwaitingroom_example",
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
}, nil)
if err != nil {
return err
}
resourceSiteExample, err := esa.NewSite(ctx, "resource_Site_example", &esa.SiteArgs{
SiteName: pulumi.String("terraform.site"),
InstanceId: pulumi.String(_default.Sites[0].InstanceId),
Coverage: pulumi.String("overseas"),
AccessType: pulumi.String("NS"),
})
if err != nil {
return err
}
_, err = esa.NewWaitingRoom(ctx, "default", &esa.WaitingRoomArgs{
QueuingMethod: pulumi.String("fifo"),
SessionDuration: pulumi.String("5"),
TotalActiveUsers: pulumi.String("300"),
HostNameAndPaths: esa.WaitingRoomHostNameAndPathArray{
&esa.WaitingRoomHostNameAndPathArgs{
Domain: pulumi.String("sub_domain.com"),
Path: pulumi.String("/example"),
Subdomain: pulumi.String("example_sub_domain.com."),
},
&esa.WaitingRoomHostNameAndPathArgs{
Domain: pulumi.String("sub_domain.com"),
Path: pulumi.String("/example"),
Subdomain: pulumi.String("example_sub_domain1.com."),
},
&esa.WaitingRoomHostNameAndPathArgs{
Path: pulumi.String("/example"),
Subdomain: pulumi.String("example_sub_domain2.com."),
Domain: pulumi.String("sub_domain.com"),
},
},
WaitingRoomType: pulumi.String("default"),
NewUsersPerMinute: pulumi.String("200"),
CustomPageHtml: pulumi.String(""),
Language: pulumi.String("zhcn"),
QueuingStatusCode: pulumi.String("200"),
WaitingRoomName: pulumi.String("waitingroom_example"),
Status: pulumi.String("off"),
SiteId: resourceSiteExample.ID(),
QueueAllEnable: pulumi.String("off"),
DisableSessionRenewalEnable: pulumi.String("off"),
Description: pulumi.String("example"),
JsonResponseEnable: pulumi.String("off"),
CookieName: pulumi.String("__aliwaitingroom_example"),
})
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.alicloud.esa.EsaFunctions;
import com.pulumi.alicloud.esa.inputs.GetSitesArgs;
import com.pulumi.alicloud.esa.Site;
import com.pulumi.alicloud.esa.SiteArgs;
import com.pulumi.alicloud.esa.WaitingRoom;
import com.pulumi.alicloud.esa.WaitingRoomArgs;
import com.pulumi.alicloud.esa.inputs.WaitingRoomHostNameAndPathArgs;
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) {
final var default = EsaFunctions.getSites(GetSitesArgs.builder()
.planSubscribeType("enterpriseplan")
.build());
var resourceSiteExample = new Site("resourceSiteExample", SiteArgs.builder()
.siteName("terraform.site")
.instanceId(default_.sites()[0].instanceId())
.coverage("overseas")
.accessType("NS")
.build());
var defaultWaitingRoom = new WaitingRoom("defaultWaitingRoom", WaitingRoomArgs.builder()
.queuingMethod("fifo")
.sessionDuration("5")
.totalActiveUsers("300")
.hostNameAndPaths(
WaitingRoomHostNameAndPathArgs.builder()
.domain("sub_domain.com")
.path("/example")
.subdomain("example_sub_domain.com.")
.build(),
WaitingRoomHostNameAndPathArgs.builder()
.domain("sub_domain.com")
.path("/example")
.subdomain("example_sub_domain1.com.")
.build(),
WaitingRoomHostNameAndPathArgs.builder()
.path("/example")
.subdomain("example_sub_domain2.com.")
.domain("sub_domain.com")
.build())
.waitingRoomType("default")
.newUsersPerMinute("200")
.customPageHtml("")
.language("zhcn")
.queuingStatusCode("200")
.waitingRoomName("waitingroom_example")
.status("off")
.siteId(resourceSiteExample.id())
.queueAllEnable("off")
.disableSessionRenewalEnable("off")
.description("example")
.jsonResponseEnable("off")
.cookieName("__aliwaitingroom_example")
.build());
}
}
resources:
resourceSiteExample:
type: alicloud:esa:Site
name: resource_Site_example
properties:
siteName: terraform.site
instanceId: ${default.sites[0].instanceId}
coverage: overseas
accessType: NS
defaultWaitingRoom:
type: alicloud:esa:WaitingRoom
name: default
properties:
queuingMethod: fifo
sessionDuration: '5'
totalActiveUsers: '300'
hostNameAndPaths:
- domain: sub_domain.com
path: /example
subdomain: example_sub_domain.com.
- domain: sub_domain.com
path: /example
subdomain: example_sub_domain1.com.
- path: /example
subdomain: example_sub_domain2.com.
domain: sub_domain.com
waitingRoomType: default
newUsersPerMinute: '200'
customPageHtml: ""
language: zhcn
queuingStatusCode: '200'
waitingRoomName: waitingroom_example
status: off
siteId: ${resourceSiteExample.id}
queueAllEnable: off
disableSessionRenewalEnable: off
description: example
jsonResponseEnable: off
cookieName: __aliwaitingroom_example
variables:
default:
fn::invoke:
function: alicloud:esa:getSites
arguments:
planSubscribeType: enterpriseplan
Import
ESA Waiting Room can be imported using the id, e.g.
$ pulumi import alicloud:esa/waitingRoom:WaitingRoom example <site_id>:<waiting_room_id>
Properties
Custom Cookie name.
User-defined waiting room page content, when the waiting room type is custom type, you need to enter. The incoming content needs to be base64 encoded.
Waiting room description.
Disable session renewal. Value: -'on': open. -'off': closed.
Host name and path. See host_name_and_path
below.
The JSON response. If the accept request header contains "application/json", JSON data is returned. Value: -'on': open. -'off': closed.
Number of new users per minute.
All in line. Value: -'on': open. -'off': closed.
Way of queuing. Value: -'random': random. -'fifo': first in, first out. -'Passthrough ': through. -'Reject-all': reject all.
Waiting room status code. Value: -'200' -'202' -'429'
Session duration in minutes.
Total number of active users.
The waiting room ID, which can be obtained by calling the ListWaitingRooms API.
The name of the waiting room.
Waiting room type, support: -'default': Indicates the default type. -'custom': indicates a custom type.