# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins
import copy
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities
from . import outputs
from ._inputs import *

__all__ = ['WaitingRoomArgs', 'WaitingRoom']

@pulumi.input_type
class WaitingRoomArgs:
    def __init__(__self__, *,
                 cookie_name: pulumi.Input[builtins.str],
                 host_name_and_paths: pulumi.Input[Sequence[pulumi.Input['WaitingRoomHostNameAndPathArgs']]],
                 new_users_per_minute: pulumi.Input[builtins.str],
                 queuing_method: pulumi.Input[builtins.str],
                 queuing_status_code: pulumi.Input[builtins.str],
                 session_duration: pulumi.Input[builtins.str],
                 site_id: pulumi.Input[builtins.int],
                 status: pulumi.Input[builtins.str],
                 total_active_users: pulumi.Input[builtins.str],
                 waiting_room_name: pulumi.Input[builtins.str],
                 waiting_room_type: pulumi.Input[builtins.str],
                 custom_page_html: Optional[pulumi.Input[builtins.str]] = None,
                 description: Optional[pulumi.Input[builtins.str]] = None,
                 disable_session_renewal_enable: Optional[pulumi.Input[builtins.str]] = None,
                 json_response_enable: Optional[pulumi.Input[builtins.str]] = None,
                 language: Optional[pulumi.Input[builtins.str]] = None,
                 queue_all_enable: Optional[pulumi.Input[builtins.str]] = None):
        """
        The set of arguments for constructing a WaitingRoom resource.
        :param pulumi.Input[builtins.str] cookie_name: Custom Cookie name.
        :param pulumi.Input[Sequence[pulumi.Input['WaitingRoomHostNameAndPathArgs']]] host_name_and_paths: Host name and path. See `host_name_and_path` below.
        :param pulumi.Input[builtins.str] new_users_per_minute: Number of new users per minute.
        :param pulumi.Input[builtins.str] queuing_method: Way of queuing. Value:
               -'random': random.
               -'fifo': first in, first out.
               -'Passthrough ': through.
               -'Reject-all': reject all.
        :param pulumi.Input[builtins.str] queuing_status_code: Waiting room status code. Value:
               -'200'
               -'202'
               -'429'
        :param pulumi.Input[builtins.str] session_duration: Session duration in minutes.
        :param pulumi.Input[builtins.int] site_id: The site ID, which can be obtained by calling the [ListSites](https://help.aliyun.com/document_detail/2850189.html) interface.
        :param pulumi.Input[builtins.str] status: Waiting room enabled status. Value:
               -'on': Enable waiting room
               -'off': disabled waiting room
        :param pulumi.Input[builtins.str] total_active_users: Total number of active users.
        :param pulumi.Input[builtins.str] waiting_room_name: The name of the waiting room.
        :param pulumi.Input[builtins.str] waiting_room_type: Waiting room type, support:
               -'default': Indicates the default type.
               -'custom': indicates a custom type.
        :param pulumi.Input[builtins.str] custom_page_html: 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.
        :param pulumi.Input[builtins.str] description: Waiting room description.
        :param pulumi.Input[builtins.str] disable_session_renewal_enable: Disable session renewal. Value:
               -'on': open.
               -'off': closed.
        :param pulumi.Input[builtins.str] json_response_enable: The JSON response. If the accept request header contains "application/json", JSON data is returned. Value:
               -'on': open.
               -'off': closed.
        :param pulumi.Input[builtins.str] language: The language of the waiting room page. When the waiting room type is the default type, it needs to be passed in. The following types are supported:
               -'enus': English.
               -'zhcn': Simplified Chinese.
               -'zhhk': Traditional Chinese.
        :param pulumi.Input[builtins.str] queue_all_enable: All in line. Value:
               -'on': open.
               -'off': closed.
        """
        pulumi.set(__self__, "cookie_name", cookie_name)
        pulumi.set(__self__, "host_name_and_paths", host_name_and_paths)
        pulumi.set(__self__, "new_users_per_minute", new_users_per_minute)
        pulumi.set(__self__, "queuing_method", queuing_method)
        pulumi.set(__self__, "queuing_status_code", queuing_status_code)
        pulumi.set(__self__, "session_duration", session_duration)
        pulumi.set(__self__, "site_id", site_id)
        pulumi.set(__self__, "status", status)
        pulumi.set(__self__, "total_active_users", total_active_users)
        pulumi.set(__self__, "waiting_room_name", waiting_room_name)
        pulumi.set(__self__, "waiting_room_type", waiting_room_type)
        if custom_page_html is not None:
            pulumi.set(__self__, "custom_page_html", custom_page_html)
        if description is not None:
            pulumi.set(__self__, "description", description)
        if disable_session_renewal_enable is not None:
            pulumi.set(__self__, "disable_session_renewal_enable", disable_session_renewal_enable)
        if json_response_enable is not None:
            pulumi.set(__self__, "json_response_enable", json_response_enable)
        if language is not None:
            pulumi.set(__self__, "language", language)
        if queue_all_enable is not None:
            pulumi.set(__self__, "queue_all_enable", queue_all_enable)

    @property
    @pulumi.getter(name="cookieName")
    def cookie_name(self) -> pulumi.Input[builtins.str]:
        """
        Custom Cookie name.
        """
        return pulumi.get(self, "cookie_name")

    @cookie_name.setter
    def cookie_name(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "cookie_name", value)

    @property
    @pulumi.getter(name="hostNameAndPaths")
    def host_name_and_paths(self) -> pulumi.Input[Sequence[pulumi.Input['WaitingRoomHostNameAndPathArgs']]]:
        """
        Host name and path. See `host_name_and_path` below.
        """
        return pulumi.get(self, "host_name_and_paths")

    @host_name_and_paths.setter
    def host_name_and_paths(self, value: pulumi.Input[Sequence[pulumi.Input['WaitingRoomHostNameAndPathArgs']]]):
        pulumi.set(self, "host_name_and_paths", value)

    @property
    @pulumi.getter(name="newUsersPerMinute")
    def new_users_per_minute(self) -> pulumi.Input[builtins.str]:
        """
        Number of new users per minute.
        """
        return pulumi.get(self, "new_users_per_minute")

    @new_users_per_minute.setter
    def new_users_per_minute(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "new_users_per_minute", value)

    @property
    @pulumi.getter(name="queuingMethod")
    def queuing_method(self) -> pulumi.Input[builtins.str]:
        """
        Way of queuing. Value:
        -'random': random.
        -'fifo': first in, first out.
        -'Passthrough ': through.
        -'Reject-all': reject all.
        """
        return pulumi.get(self, "queuing_method")

    @queuing_method.setter
    def queuing_method(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "queuing_method", value)

    @property
    @pulumi.getter(name="queuingStatusCode")
    def queuing_status_code(self) -> pulumi.Input[builtins.str]:
        """
        Waiting room status code. Value:
        -'200'
        -'202'
        -'429'
        """
        return pulumi.get(self, "queuing_status_code")

    @queuing_status_code.setter
    def queuing_status_code(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "queuing_status_code", value)

    @property
    @pulumi.getter(name="sessionDuration")
    def session_duration(self) -> pulumi.Input[builtins.str]:
        """
        Session duration in minutes.
        """
        return pulumi.get(self, "session_duration")

    @session_duration.setter
    def session_duration(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "session_duration", value)

    @property
    @pulumi.getter(name="siteId")
    def site_id(self) -> pulumi.Input[builtins.int]:
        """
        The site ID, which can be obtained by calling the [ListSites](https://help.aliyun.com/document_detail/2850189.html) interface.
        """
        return pulumi.get(self, "site_id")

    @site_id.setter
    def site_id(self, value: pulumi.Input[builtins.int]):
        pulumi.set(self, "site_id", value)

    @property
    @pulumi.getter
    def status(self) -> pulumi.Input[builtins.str]:
        """
        Waiting room enabled status. Value:
        -'on': Enable waiting room
        -'off': disabled waiting room
        """
        return pulumi.get(self, "status")

    @status.setter
    def status(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "status", value)

    @property
    @pulumi.getter(name="totalActiveUsers")
    def total_active_users(self) -> pulumi.Input[builtins.str]:
        """
        Total number of active users.
        """
        return pulumi.get(self, "total_active_users")

    @total_active_users.setter
    def total_active_users(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "total_active_users", value)

    @property
    @pulumi.getter(name="waitingRoomName")
    def waiting_room_name(self) -> pulumi.Input[builtins.str]:
        """
        The name of the waiting room.
        """
        return pulumi.get(self, "waiting_room_name")

    @waiting_room_name.setter
    def waiting_room_name(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "waiting_room_name", value)

    @property
    @pulumi.getter(name="waitingRoomType")
    def waiting_room_type(self) -> pulumi.Input[builtins.str]:
        """
        Waiting room type, support:
        -'default': Indicates the default type.
        -'custom': indicates a custom type.
        """
        return pulumi.get(self, "waiting_room_type")

    @waiting_room_type.setter
    def waiting_room_type(self, value: pulumi.Input[builtins.str]):
        pulumi.set(self, "waiting_room_type", value)

    @property
    @pulumi.getter(name="customPageHtml")
    def custom_page_html(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        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.
        """
        return pulumi.get(self, "custom_page_html")

    @custom_page_html.setter
    def custom_page_html(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "custom_page_html", value)

    @property
    @pulumi.getter
    def description(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Waiting room description.
        """
        return pulumi.get(self, "description")

    @description.setter
    def description(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "description", value)

    @property
    @pulumi.getter(name="disableSessionRenewalEnable")
    def disable_session_renewal_enable(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Disable session renewal. Value:
        -'on': open.
        -'off': closed.
        """
        return pulumi.get(self, "disable_session_renewal_enable")

    @disable_session_renewal_enable.setter
    def disable_session_renewal_enable(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "disable_session_renewal_enable", value)

    @property
    @pulumi.getter(name="jsonResponseEnable")
    def json_response_enable(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The JSON response. If the accept request header contains "application/json", JSON data is returned. Value:
        -'on': open.
        -'off': closed.
        """
        return pulumi.get(self, "json_response_enable")

    @json_response_enable.setter
    def json_response_enable(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "json_response_enable", value)

    @property
    @pulumi.getter
    def language(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The language of the waiting room page. When the waiting room type is the default type, it needs to be passed in. The following types are supported:
        -'enus': English.
        -'zhcn': Simplified Chinese.
        -'zhhk': Traditional Chinese.
        """
        return pulumi.get(self, "language")

    @language.setter
    def language(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "language", value)

    @property
    @pulumi.getter(name="queueAllEnable")
    def queue_all_enable(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        All in line. Value:
        -'on': open.
        -'off': closed.
        """
        return pulumi.get(self, "queue_all_enable")

    @queue_all_enable.setter
    def queue_all_enable(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "queue_all_enable", value)


@pulumi.input_type
class _WaitingRoomState:
    def __init__(__self__, *,
                 cookie_name: Optional[pulumi.Input[builtins.str]] = None,
                 custom_page_html: Optional[pulumi.Input[builtins.str]] = None,
                 description: Optional[pulumi.Input[builtins.str]] = None,
                 disable_session_renewal_enable: Optional[pulumi.Input[builtins.str]] = None,
                 host_name_and_paths: Optional[pulumi.Input[Sequence[pulumi.Input['WaitingRoomHostNameAndPathArgs']]]] = None,
                 json_response_enable: Optional[pulumi.Input[builtins.str]] = None,
                 language: Optional[pulumi.Input[builtins.str]] = None,
                 new_users_per_minute: Optional[pulumi.Input[builtins.str]] = None,
                 queue_all_enable: Optional[pulumi.Input[builtins.str]] = None,
                 queuing_method: Optional[pulumi.Input[builtins.str]] = None,
                 queuing_status_code: Optional[pulumi.Input[builtins.str]] = None,
                 session_duration: Optional[pulumi.Input[builtins.str]] = None,
                 site_id: Optional[pulumi.Input[builtins.int]] = None,
                 status: Optional[pulumi.Input[builtins.str]] = None,
                 total_active_users: Optional[pulumi.Input[builtins.str]] = None,
                 waiting_room_id: Optional[pulumi.Input[builtins.str]] = None,
                 waiting_room_name: Optional[pulumi.Input[builtins.str]] = None,
                 waiting_room_type: Optional[pulumi.Input[builtins.str]] = None):
        """
        Input properties used for looking up and filtering WaitingRoom resources.
        :param pulumi.Input[builtins.str] cookie_name: Custom Cookie name.
        :param pulumi.Input[builtins.str] custom_page_html: 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.
        :param pulumi.Input[builtins.str] description: Waiting room description.
        :param pulumi.Input[builtins.str] disable_session_renewal_enable: Disable session renewal. Value:
               -'on': open.
               -'off': closed.
        :param pulumi.Input[Sequence[pulumi.Input['WaitingRoomHostNameAndPathArgs']]] host_name_and_paths: Host name and path. See `host_name_and_path` below.
        :param pulumi.Input[builtins.str] json_response_enable: The JSON response. If the accept request header contains "application/json", JSON data is returned. Value:
               -'on': open.
               -'off': closed.
        :param pulumi.Input[builtins.str] language: The language of the waiting room page. When the waiting room type is the default type, it needs to be passed in. The following types are supported:
               -'enus': English.
               -'zhcn': Simplified Chinese.
               -'zhhk': Traditional Chinese.
        :param pulumi.Input[builtins.str] new_users_per_minute: Number of new users per minute.
        :param pulumi.Input[builtins.str] queue_all_enable: All in line. Value:
               -'on': open.
               -'off': closed.
        :param pulumi.Input[builtins.str] queuing_method: Way of queuing. Value:
               -'random': random.
               -'fifo': first in, first out.
               -'Passthrough ': through.
               -'Reject-all': reject all.
        :param pulumi.Input[builtins.str] queuing_status_code: Waiting room status code. Value:
               -'200'
               -'202'
               -'429'
        :param pulumi.Input[builtins.str] session_duration: Session duration in minutes.
        :param pulumi.Input[builtins.int] site_id: The site ID, which can be obtained by calling the [ListSites](https://help.aliyun.com/document_detail/2850189.html) interface.
        :param pulumi.Input[builtins.str] status: Waiting room enabled status. Value:
               -'on': Enable waiting room
               -'off': disabled waiting room
        :param pulumi.Input[builtins.str] total_active_users: Total number of active users.
        :param pulumi.Input[builtins.str] waiting_room_id: The waiting room ID, which can be obtained by calling the [ListWaitingRooms](https://help.aliyun.com/document_detail/2850279.html) API.
        :param pulumi.Input[builtins.str] waiting_room_name: The name of the waiting room.
        :param pulumi.Input[builtins.str] waiting_room_type: Waiting room type, support:
               -'default': Indicates the default type.
               -'custom': indicates a custom type.
        """
        if cookie_name is not None:
            pulumi.set(__self__, "cookie_name", cookie_name)
        if custom_page_html is not None:
            pulumi.set(__self__, "custom_page_html", custom_page_html)
        if description is not None:
            pulumi.set(__self__, "description", description)
        if disable_session_renewal_enable is not None:
            pulumi.set(__self__, "disable_session_renewal_enable", disable_session_renewal_enable)
        if host_name_and_paths is not None:
            pulumi.set(__self__, "host_name_and_paths", host_name_and_paths)
        if json_response_enable is not None:
            pulumi.set(__self__, "json_response_enable", json_response_enable)
        if language is not None:
            pulumi.set(__self__, "language", language)
        if new_users_per_minute is not None:
            pulumi.set(__self__, "new_users_per_minute", new_users_per_minute)
        if queue_all_enable is not None:
            pulumi.set(__self__, "queue_all_enable", queue_all_enable)
        if queuing_method is not None:
            pulumi.set(__self__, "queuing_method", queuing_method)
        if queuing_status_code is not None:
            pulumi.set(__self__, "queuing_status_code", queuing_status_code)
        if session_duration is not None:
            pulumi.set(__self__, "session_duration", session_duration)
        if site_id is not None:
            pulumi.set(__self__, "site_id", site_id)
        if status is not None:
            pulumi.set(__self__, "status", status)
        if total_active_users is not None:
            pulumi.set(__self__, "total_active_users", total_active_users)
        if waiting_room_id is not None:
            pulumi.set(__self__, "waiting_room_id", waiting_room_id)
        if waiting_room_name is not None:
            pulumi.set(__self__, "waiting_room_name", waiting_room_name)
        if waiting_room_type is not None:
            pulumi.set(__self__, "waiting_room_type", waiting_room_type)

    @property
    @pulumi.getter(name="cookieName")
    def cookie_name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Custom Cookie name.
        """
        return pulumi.get(self, "cookie_name")

    @cookie_name.setter
    def cookie_name(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "cookie_name", value)

    @property
    @pulumi.getter(name="customPageHtml")
    def custom_page_html(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        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.
        """
        return pulumi.get(self, "custom_page_html")

    @custom_page_html.setter
    def custom_page_html(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "custom_page_html", value)

    @property
    @pulumi.getter
    def description(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Waiting room description.
        """
        return pulumi.get(self, "description")

    @description.setter
    def description(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "description", value)

    @property
    @pulumi.getter(name="disableSessionRenewalEnable")
    def disable_session_renewal_enable(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Disable session renewal. Value:
        -'on': open.
        -'off': closed.
        """
        return pulumi.get(self, "disable_session_renewal_enable")

    @disable_session_renewal_enable.setter
    def disable_session_renewal_enable(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "disable_session_renewal_enable", value)

    @property
    @pulumi.getter(name="hostNameAndPaths")
    def host_name_and_paths(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WaitingRoomHostNameAndPathArgs']]]]:
        """
        Host name and path. See `host_name_and_path` below.
        """
        return pulumi.get(self, "host_name_and_paths")

    @host_name_and_paths.setter
    def host_name_and_paths(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WaitingRoomHostNameAndPathArgs']]]]):
        pulumi.set(self, "host_name_and_paths", value)

    @property
    @pulumi.getter(name="jsonResponseEnable")
    def json_response_enable(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The JSON response. If the accept request header contains "application/json", JSON data is returned. Value:
        -'on': open.
        -'off': closed.
        """
        return pulumi.get(self, "json_response_enable")

    @json_response_enable.setter
    def json_response_enable(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "json_response_enable", value)

    @property
    @pulumi.getter
    def language(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The language of the waiting room page. When the waiting room type is the default type, it needs to be passed in. The following types are supported:
        -'enus': English.
        -'zhcn': Simplified Chinese.
        -'zhhk': Traditional Chinese.
        """
        return pulumi.get(self, "language")

    @language.setter
    def language(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "language", value)

    @property
    @pulumi.getter(name="newUsersPerMinute")
    def new_users_per_minute(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Number of new users per minute.
        """
        return pulumi.get(self, "new_users_per_minute")

    @new_users_per_minute.setter
    def new_users_per_minute(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "new_users_per_minute", value)

    @property
    @pulumi.getter(name="queueAllEnable")
    def queue_all_enable(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        All in line. Value:
        -'on': open.
        -'off': closed.
        """
        return pulumi.get(self, "queue_all_enable")

    @queue_all_enable.setter
    def queue_all_enable(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "queue_all_enable", value)

    @property
    @pulumi.getter(name="queuingMethod")
    def queuing_method(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Way of queuing. Value:
        -'random': random.
        -'fifo': first in, first out.
        -'Passthrough ': through.
        -'Reject-all': reject all.
        """
        return pulumi.get(self, "queuing_method")

    @queuing_method.setter
    def queuing_method(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "queuing_method", value)

    @property
    @pulumi.getter(name="queuingStatusCode")
    def queuing_status_code(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Waiting room status code. Value:
        -'200'
        -'202'
        -'429'
        """
        return pulumi.get(self, "queuing_status_code")

    @queuing_status_code.setter
    def queuing_status_code(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "queuing_status_code", value)

    @property
    @pulumi.getter(name="sessionDuration")
    def session_duration(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Session duration in minutes.
        """
        return pulumi.get(self, "session_duration")

    @session_duration.setter
    def session_duration(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "session_duration", value)

    @property
    @pulumi.getter(name="siteId")
    def site_id(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        The site ID, which can be obtained by calling the [ListSites](https://help.aliyun.com/document_detail/2850189.html) interface.
        """
        return pulumi.get(self, "site_id")

    @site_id.setter
    def site_id(self, value: Optional[pulumi.Input[builtins.int]]):
        pulumi.set(self, "site_id", value)

    @property
    @pulumi.getter
    def status(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Waiting room enabled status. Value:
        -'on': Enable waiting room
        -'off': disabled waiting room
        """
        return pulumi.get(self, "status")

    @status.setter
    def status(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "status", value)

    @property
    @pulumi.getter(name="totalActiveUsers")
    def total_active_users(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Total number of active users.
        """
        return pulumi.get(self, "total_active_users")

    @total_active_users.setter
    def total_active_users(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "total_active_users", value)

    @property
    @pulumi.getter(name="waitingRoomId")
    def waiting_room_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The waiting room ID, which can be obtained by calling the [ListWaitingRooms](https://help.aliyun.com/document_detail/2850279.html) API.
        """
        return pulumi.get(self, "waiting_room_id")

    @waiting_room_id.setter
    def waiting_room_id(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "waiting_room_id", value)

    @property
    @pulumi.getter(name="waitingRoomName")
    def waiting_room_name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The name of the waiting room.
        """
        return pulumi.get(self, "waiting_room_name")

    @waiting_room_name.setter
    def waiting_room_name(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "waiting_room_name", value)

    @property
    @pulumi.getter(name="waitingRoomType")
    def waiting_room_type(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        Waiting room type, support:
        -'default': Indicates the default type.
        -'custom': indicates a custom type.
        """
        return pulumi.get(self, "waiting_room_type")

    @waiting_room_type.setter
    def waiting_room_type(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "waiting_room_type", value)


@pulumi.type_token("alicloud:esa/waitingRoom:WaitingRoom")
class WaitingRoom(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 cookie_name: Optional[pulumi.Input[builtins.str]] = None,
                 custom_page_html: Optional[pulumi.Input[builtins.str]] = None,
                 description: Optional[pulumi.Input[builtins.str]] = None,
                 disable_session_renewal_enable: Optional[pulumi.Input[builtins.str]] = None,
                 host_name_and_paths: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WaitingRoomHostNameAndPathArgs', 'WaitingRoomHostNameAndPathArgsDict']]]]] = None,
                 json_response_enable: Optional[pulumi.Input[builtins.str]] = None,
                 language: Optional[pulumi.Input[builtins.str]] = None,
                 new_users_per_minute: Optional[pulumi.Input[builtins.str]] = None,
                 queue_all_enable: Optional[pulumi.Input[builtins.str]] = None,
                 queuing_method: Optional[pulumi.Input[builtins.str]] = None,
                 queuing_status_code: Optional[pulumi.Input[builtins.str]] = None,
                 session_duration: Optional[pulumi.Input[builtins.str]] = None,
                 site_id: Optional[pulumi.Input[builtins.int]] = None,
                 status: Optional[pulumi.Input[builtins.str]] = None,
                 total_active_users: Optional[pulumi.Input[builtins.str]] = None,
                 waiting_room_name: Optional[pulumi.Input[builtins.str]] = None,
                 waiting_room_type: Optional[pulumi.Input[builtins.str]] = None,
                 __props__=None):
        """
        Provides a ESA Waiting Room resource.

        For information about ESA Waiting Room and how to use it, see [What is Waiting Room](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWaitingRoom).

        > **NOTE:** Available since v1.244.0.

        ## Example Usage

        Basic Usage

        ```python
        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")
        ```

        ## Import

        ESA Waiting Room can be imported using the id, e.g.

        ```sh
        $ pulumi import alicloud:esa/waitingRoom:WaitingRoom example <site_id>:<waiting_room_id>
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[builtins.str] cookie_name: Custom Cookie name.
        :param pulumi.Input[builtins.str] custom_page_html: 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.
        :param pulumi.Input[builtins.str] description: Waiting room description.
        :param pulumi.Input[builtins.str] disable_session_renewal_enable: Disable session renewal. Value:
               -'on': open.
               -'off': closed.
        :param pulumi.Input[Sequence[pulumi.Input[Union['WaitingRoomHostNameAndPathArgs', 'WaitingRoomHostNameAndPathArgsDict']]]] host_name_and_paths: Host name and path. See `host_name_and_path` below.
        :param pulumi.Input[builtins.str] json_response_enable: The JSON response. If the accept request header contains "application/json", JSON data is returned. Value:
               -'on': open.
               -'off': closed.
        :param pulumi.Input[builtins.str] language: The language of the waiting room page. When the waiting room type is the default type, it needs to be passed in. The following types are supported:
               -'enus': English.
               -'zhcn': Simplified Chinese.
               -'zhhk': Traditional Chinese.
        :param pulumi.Input[builtins.str] new_users_per_minute: Number of new users per minute.
        :param pulumi.Input[builtins.str] queue_all_enable: All in line. Value:
               -'on': open.
               -'off': closed.
        :param pulumi.Input[builtins.str] queuing_method: Way of queuing. Value:
               -'random': random.
               -'fifo': first in, first out.
               -'Passthrough ': through.
               -'Reject-all': reject all.
        :param pulumi.Input[builtins.str] queuing_status_code: Waiting room status code. Value:
               -'200'
               -'202'
               -'429'
        :param pulumi.Input[builtins.str] session_duration: Session duration in minutes.
        :param pulumi.Input[builtins.int] site_id: The site ID, which can be obtained by calling the [ListSites](https://help.aliyun.com/document_detail/2850189.html) interface.
        :param pulumi.Input[builtins.str] status: Waiting room enabled status. Value:
               -'on': Enable waiting room
               -'off': disabled waiting room
        :param pulumi.Input[builtins.str] total_active_users: Total number of active users.
        :param pulumi.Input[builtins.str] waiting_room_name: The name of the waiting room.
        :param pulumi.Input[builtins.str] waiting_room_type: Waiting room type, support:
               -'default': Indicates the default type.
               -'custom': indicates a custom type.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: WaitingRoomArgs,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        Provides a ESA Waiting Room resource.

        For information about ESA Waiting Room and how to use it, see [What is Waiting Room](https://next.api.alibabacloud.com/document/ESA/2024-09-10/CreateWaitingRoom).

        > **NOTE:** Available since v1.244.0.

        ## Example Usage

        Basic Usage

        ```python
        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")
        ```

        ## Import

        ESA Waiting Room can be imported using the id, e.g.

        ```sh
        $ pulumi import alicloud:esa/waitingRoom:WaitingRoom example <site_id>:<waiting_room_id>
        ```

        :param str resource_name: The name of the resource.
        :param WaitingRoomArgs args: The arguments to use to populate this resource's properties.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    def __init__(__self__, resource_name: str, *args, **kwargs):
        resource_args, opts = _utilities.get_resource_args_opts(WaitingRoomArgs, pulumi.ResourceOptions, *args, **kwargs)
        if resource_args is not None:
            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
        else:
            __self__._internal_init(resource_name, *args, **kwargs)

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 cookie_name: Optional[pulumi.Input[builtins.str]] = None,
                 custom_page_html: Optional[pulumi.Input[builtins.str]] = None,
                 description: Optional[pulumi.Input[builtins.str]] = None,
                 disable_session_renewal_enable: Optional[pulumi.Input[builtins.str]] = None,
                 host_name_and_paths: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WaitingRoomHostNameAndPathArgs', 'WaitingRoomHostNameAndPathArgsDict']]]]] = None,
                 json_response_enable: Optional[pulumi.Input[builtins.str]] = None,
                 language: Optional[pulumi.Input[builtins.str]] = None,
                 new_users_per_minute: Optional[pulumi.Input[builtins.str]] = None,
                 queue_all_enable: Optional[pulumi.Input[builtins.str]] = None,
                 queuing_method: Optional[pulumi.Input[builtins.str]] = None,
                 queuing_status_code: Optional[pulumi.Input[builtins.str]] = None,
                 session_duration: Optional[pulumi.Input[builtins.str]] = None,
                 site_id: Optional[pulumi.Input[builtins.int]] = None,
                 status: Optional[pulumi.Input[builtins.str]] = None,
                 total_active_users: Optional[pulumi.Input[builtins.str]] = None,
                 waiting_room_name: Optional[pulumi.Input[builtins.str]] = None,
                 waiting_room_type: Optional[pulumi.Input[builtins.str]] = None,
                 __props__=None):
        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = WaitingRoomArgs.__new__(WaitingRoomArgs)

            if cookie_name is None and not opts.urn:
                raise TypeError("Missing required property 'cookie_name'")
            __props__.__dict__["cookie_name"] = cookie_name
            __props__.__dict__["custom_page_html"] = custom_page_html
            __props__.__dict__["description"] = description
            __props__.__dict__["disable_session_renewal_enable"] = disable_session_renewal_enable
            if host_name_and_paths is None and not opts.urn:
                raise TypeError("Missing required property 'host_name_and_paths'")
            __props__.__dict__["host_name_and_paths"] = host_name_and_paths
            __props__.__dict__["json_response_enable"] = json_response_enable
            __props__.__dict__["language"] = language
            if new_users_per_minute is None and not opts.urn:
                raise TypeError("Missing required property 'new_users_per_minute'")
            __props__.__dict__["new_users_per_minute"] = new_users_per_minute
            __props__.__dict__["queue_all_enable"] = queue_all_enable
            if queuing_method is None and not opts.urn:
                raise TypeError("Missing required property 'queuing_method'")
            __props__.__dict__["queuing_method"] = queuing_method
            if queuing_status_code is None and not opts.urn:
                raise TypeError("Missing required property 'queuing_status_code'")
            __props__.__dict__["queuing_status_code"] = queuing_status_code
            if session_duration is None and not opts.urn:
                raise TypeError("Missing required property 'session_duration'")
            __props__.__dict__["session_duration"] = session_duration
            if site_id is None and not opts.urn:
                raise TypeError("Missing required property 'site_id'")
            __props__.__dict__["site_id"] = site_id
            if status is None and not opts.urn:
                raise TypeError("Missing required property 'status'")
            __props__.__dict__["status"] = status
            if total_active_users is None and not opts.urn:
                raise TypeError("Missing required property 'total_active_users'")
            __props__.__dict__["total_active_users"] = total_active_users
            if waiting_room_name is None and not opts.urn:
                raise TypeError("Missing required property 'waiting_room_name'")
            __props__.__dict__["waiting_room_name"] = waiting_room_name
            if waiting_room_type is None and not opts.urn:
                raise TypeError("Missing required property 'waiting_room_type'")
            __props__.__dict__["waiting_room_type"] = waiting_room_type
            __props__.__dict__["waiting_room_id"] = None
        super(WaitingRoom, __self__).__init__(
            'alicloud:esa/waitingRoom:WaitingRoom',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            cookie_name: Optional[pulumi.Input[builtins.str]] = None,
            custom_page_html: Optional[pulumi.Input[builtins.str]] = None,
            description: Optional[pulumi.Input[builtins.str]] = None,
            disable_session_renewal_enable: Optional[pulumi.Input[builtins.str]] = None,
            host_name_and_paths: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WaitingRoomHostNameAndPathArgs', 'WaitingRoomHostNameAndPathArgsDict']]]]] = None,
            json_response_enable: Optional[pulumi.Input[builtins.str]] = None,
            language: Optional[pulumi.Input[builtins.str]] = None,
            new_users_per_minute: Optional[pulumi.Input[builtins.str]] = None,
            queue_all_enable: Optional[pulumi.Input[builtins.str]] = None,
            queuing_method: Optional[pulumi.Input[builtins.str]] = None,
            queuing_status_code: Optional[pulumi.Input[builtins.str]] = None,
            session_duration: Optional[pulumi.Input[builtins.str]] = None,
            site_id: Optional[pulumi.Input[builtins.int]] = None,
            status: Optional[pulumi.Input[builtins.str]] = None,
            total_active_users: Optional[pulumi.Input[builtins.str]] = None,
            waiting_room_id: Optional[pulumi.Input[builtins.str]] = None,
            waiting_room_name: Optional[pulumi.Input[builtins.str]] = None,
            waiting_room_type: Optional[pulumi.Input[builtins.str]] = None) -> 'WaitingRoom':
        """
        Get an existing WaitingRoom resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[builtins.str] cookie_name: Custom Cookie name.
        :param pulumi.Input[builtins.str] custom_page_html: 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.
        :param pulumi.Input[builtins.str] description: Waiting room description.
        :param pulumi.Input[builtins.str] disable_session_renewal_enable: Disable session renewal. Value:
               -'on': open.
               -'off': closed.
        :param pulumi.Input[Sequence[pulumi.Input[Union['WaitingRoomHostNameAndPathArgs', 'WaitingRoomHostNameAndPathArgsDict']]]] host_name_and_paths: Host name and path. See `host_name_and_path` below.
        :param pulumi.Input[builtins.str] json_response_enable: The JSON response. If the accept request header contains "application/json", JSON data is returned. Value:
               -'on': open.
               -'off': closed.
        :param pulumi.Input[builtins.str] language: The language of the waiting room page. When the waiting room type is the default type, it needs to be passed in. The following types are supported:
               -'enus': English.
               -'zhcn': Simplified Chinese.
               -'zhhk': Traditional Chinese.
        :param pulumi.Input[builtins.str] new_users_per_minute: Number of new users per minute.
        :param pulumi.Input[builtins.str] queue_all_enable: All in line. Value:
               -'on': open.
               -'off': closed.
        :param pulumi.Input[builtins.str] queuing_method: Way of queuing. Value:
               -'random': random.
               -'fifo': first in, first out.
               -'Passthrough ': through.
               -'Reject-all': reject all.
        :param pulumi.Input[builtins.str] queuing_status_code: Waiting room status code. Value:
               -'200'
               -'202'
               -'429'
        :param pulumi.Input[builtins.str] session_duration: Session duration in minutes.
        :param pulumi.Input[builtins.int] site_id: The site ID, which can be obtained by calling the [ListSites](https://help.aliyun.com/document_detail/2850189.html) interface.
        :param pulumi.Input[builtins.str] status: Waiting room enabled status. Value:
               -'on': Enable waiting room
               -'off': disabled waiting room
        :param pulumi.Input[builtins.str] total_active_users: Total number of active users.
        :param pulumi.Input[builtins.str] waiting_room_id: The waiting room ID, which can be obtained by calling the [ListWaitingRooms](https://help.aliyun.com/document_detail/2850279.html) API.
        :param pulumi.Input[builtins.str] waiting_room_name: The name of the waiting room.
        :param pulumi.Input[builtins.str] waiting_room_type: Waiting room type, support:
               -'default': Indicates the default type.
               -'custom': indicates a custom type.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _WaitingRoomState.__new__(_WaitingRoomState)

        __props__.__dict__["cookie_name"] = cookie_name
        __props__.__dict__["custom_page_html"] = custom_page_html
        __props__.__dict__["description"] = description
        __props__.__dict__["disable_session_renewal_enable"] = disable_session_renewal_enable
        __props__.__dict__["host_name_and_paths"] = host_name_and_paths
        __props__.__dict__["json_response_enable"] = json_response_enable
        __props__.__dict__["language"] = language
        __props__.__dict__["new_users_per_minute"] = new_users_per_minute
        __props__.__dict__["queue_all_enable"] = queue_all_enable
        __props__.__dict__["queuing_method"] = queuing_method
        __props__.__dict__["queuing_status_code"] = queuing_status_code
        __props__.__dict__["session_duration"] = session_duration
        __props__.__dict__["site_id"] = site_id
        __props__.__dict__["status"] = status
        __props__.__dict__["total_active_users"] = total_active_users
        __props__.__dict__["waiting_room_id"] = waiting_room_id
        __props__.__dict__["waiting_room_name"] = waiting_room_name
        __props__.__dict__["waiting_room_type"] = waiting_room_type
        return WaitingRoom(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="cookieName")
    def cookie_name(self) -> pulumi.Output[builtins.str]:
        """
        Custom Cookie name.
        """
        return pulumi.get(self, "cookie_name")

    @property
    @pulumi.getter(name="customPageHtml")
    def custom_page_html(self) -> pulumi.Output[Optional[builtins.str]]:
        """
        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.
        """
        return pulumi.get(self, "custom_page_html")

    @property
    @pulumi.getter
    def description(self) -> pulumi.Output[Optional[builtins.str]]:
        """
        Waiting room description.
        """
        return pulumi.get(self, "description")

    @property
    @pulumi.getter(name="disableSessionRenewalEnable")
    def disable_session_renewal_enable(self) -> pulumi.Output[Optional[builtins.str]]:
        """
        Disable session renewal. Value:
        -'on': open.
        -'off': closed.
        """
        return pulumi.get(self, "disable_session_renewal_enable")

    @property
    @pulumi.getter(name="hostNameAndPaths")
    def host_name_and_paths(self) -> pulumi.Output[Sequence['outputs.WaitingRoomHostNameAndPath']]:
        """
        Host name and path. See `host_name_and_path` below.
        """
        return pulumi.get(self, "host_name_and_paths")

    @property
    @pulumi.getter(name="jsonResponseEnable")
    def json_response_enable(self) -> pulumi.Output[Optional[builtins.str]]:
        """
        The JSON response. If the accept request header contains "application/json", JSON data is returned. Value:
        -'on': open.
        -'off': closed.
        """
        return pulumi.get(self, "json_response_enable")

    @property
    @pulumi.getter
    def language(self) -> pulumi.Output[Optional[builtins.str]]:
        """
        The language of the waiting room page. When the waiting room type is the default type, it needs to be passed in. The following types are supported:
        -'enus': English.
        -'zhcn': Simplified Chinese.
        -'zhhk': Traditional Chinese.
        """
        return pulumi.get(self, "language")

    @property
    @pulumi.getter(name="newUsersPerMinute")
    def new_users_per_minute(self) -> pulumi.Output[builtins.str]:
        """
        Number of new users per minute.
        """
        return pulumi.get(self, "new_users_per_minute")

    @property
    @pulumi.getter(name="queueAllEnable")
    def queue_all_enable(self) -> pulumi.Output[Optional[builtins.str]]:
        """
        All in line. Value:
        -'on': open.
        -'off': closed.
        """
        return pulumi.get(self, "queue_all_enable")

    @property
    @pulumi.getter(name="queuingMethod")
    def queuing_method(self) -> pulumi.Output[builtins.str]:
        """
        Way of queuing. Value:
        -'random': random.
        -'fifo': first in, first out.
        -'Passthrough ': through.
        -'Reject-all': reject all.
        """
        return pulumi.get(self, "queuing_method")

    @property
    @pulumi.getter(name="queuingStatusCode")
    def queuing_status_code(self) -> pulumi.Output[builtins.str]:
        """
        Waiting room status code. Value:
        -'200'
        -'202'
        -'429'
        """
        return pulumi.get(self, "queuing_status_code")

    @property
    @pulumi.getter(name="sessionDuration")
    def session_duration(self) -> pulumi.Output[builtins.str]:
        """
        Session duration in minutes.
        """
        return pulumi.get(self, "session_duration")

    @property
    @pulumi.getter(name="siteId")
    def site_id(self) -> pulumi.Output[builtins.int]:
        """
        The site ID, which can be obtained by calling the [ListSites](https://help.aliyun.com/document_detail/2850189.html) interface.
        """
        return pulumi.get(self, "site_id")

    @property
    @pulumi.getter
    def status(self) -> pulumi.Output[builtins.str]:
        """
        Waiting room enabled status. Value:
        -'on': Enable waiting room
        -'off': disabled waiting room
        """
        return pulumi.get(self, "status")

    @property
    @pulumi.getter(name="totalActiveUsers")
    def total_active_users(self) -> pulumi.Output[builtins.str]:
        """
        Total number of active users.
        """
        return pulumi.get(self, "total_active_users")

    @property
    @pulumi.getter(name="waitingRoomId")
    def waiting_room_id(self) -> pulumi.Output[builtins.str]:
        """
        The waiting room ID, which can be obtained by calling the [ListWaitingRooms](https://help.aliyun.com/document_detail/2850279.html) API.
        """
        return pulumi.get(self, "waiting_room_id")

    @property
    @pulumi.getter(name="waitingRoomName")
    def waiting_room_name(self) -> pulumi.Output[builtins.str]:
        """
        The name of the waiting room.
        """
        return pulumi.get(self, "waiting_room_name")

    @property
    @pulumi.getter(name="waitingRoomType")
    def waiting_room_type(self) -> pulumi.Output[builtins.str]:
        """
        Waiting room type, support:
        -'default': Indicates the default type.
        -'custom': indicates a custom type.
        """
        return pulumi.get(self, "waiting_room_type")

