import { ChatTokenCapability, CreateLoggingConfigurationState, FallbackResult, LoggingConfigurationState, UpdateLoggingConfigurationState } from "./enums"; /** * @public */ export interface CreateChatTokenRequest { /** *
Identifier of the room that the client is trying to access. Currently this must be an * ARN.
* @public */ roomIdentifier: string | undefined; /** *Application-provided ID that uniquely identifies the user associated with this token. * This can be any UTF-8 encoded text.
* @public */ userId: string | undefined; /** *Set of capabilities that the user is allowed to perform in the room. Default: None (the * capability to view messages is implicitly included in all requests).
* @public */ capabilities?: ChatTokenCapability[] | undefined; /** *Session duration (in minutes), after which the session expires. Default: 60 (1 * hour).
* @public */ sessionDurationInMinutes?: number | undefined; /** *Application-provided attributes to encode into the token and attach to a chat session. * Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 * KB total.
* @public */ attributes?: RecordThe issued client token, encrypted.
* @public */ token?: string | undefined; /** *Time after which the token is no longer valid and cannot be used to connect to a room. * This is an ISO 8601 timestamp; note that this is returned as a * string.
* @public */ tokenExpirationTime?: Date | undefined; /** *Time after which an end user's session is no longer valid. This is an ISO 8601 * timestamp; note that this is returned as a string.
* @public */ sessionExpirationTime?: Date | undefined; } /** *This object is used in the ValidationException error.
* @public */ export interface ValidationExceptionField { /** *Name of the field which failed validation.
* @public */ name: string | undefined; /** *Explanation of the reason for the validation error.
* @public */ message: string | undefined; } /** *Specifies a CloudWatch Logs location where chat logs will be stored.
* @public */ export interface CloudWatchLogsDestinationConfiguration { /** *Name of the Amazon Cloudwatch Logs destination where chat activity will be logged.
* @public */ logGroupName: string | undefined; } /** *Specifies a Kinesis Firehose location where chat logs will be stored.
* @public */ export interface FirehoseDestinationConfiguration { /** *Name of the Amazon Kinesis Firehose delivery stream where chat activity will be * logged.
* @public */ deliveryStreamName: string | undefined; } /** *Specifies an S3 location where chat logs will be stored.
* @public */ export interface S3DestinationConfiguration { /** *Name of the Amazon S3 bucket where chat activity will be logged.
* @public */ bucketName: string | undefined; } /** *A complex type that describes a location where chat logs will be stored. Each member * represents the configuration of one log destination. For logging, you define only one type of * destination (for CloudWatch Logs, Kinesis Firehose, or S3).
* @public */ export type DestinationConfiguration = DestinationConfiguration.CloudWatchLogsMember | DestinationConfiguration.FirehoseMember | DestinationConfiguration.S3Member | DestinationConfiguration.$UnknownMember; /** * @public */ export declare namespace DestinationConfiguration { /** *An Amazon S3 destination configuration where chat activity will be logged.
* @public */ interface S3Member { s3: S3DestinationConfiguration; cloudWatchLogs?: never; firehose?: never; $unknown?: never; } /** *An Amazon CloudWatch Logs destination configuration where chat activity will be * logged.
* @public */ interface CloudWatchLogsMember { s3?: never; cloudWatchLogs: CloudWatchLogsDestinationConfiguration; firehose?: never; $unknown?: never; } /** *An Amazon Kinesis Data Firehose destination configuration where chat activity will be * logged.
* @public */ interface FirehoseMember { s3?: never; cloudWatchLogs?: never; firehose: FirehoseDestinationConfiguration; $unknown?: never; } /** * @public */ interface $UnknownMember { s3?: never; cloudWatchLogs?: never; firehose?: never; $unknown: [string, any]; } /** * @deprecated unused in schema-serde mode. * */ interface VisitorLogging-configuration name. The value does not need to be unique.
* @public */ name?: string | undefined; /** *A complex type that contains a destination configuration for where chat content will be
* logged. There can be only one type of destination (cloudWatchLogs,
* firehose, or s3) in a
* destinationConfiguration.
Tags to attach to the resource. Array of maps, each of the form string:string
* (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS Chat has no constraints on tags beyond what is
* documented there.
Logging-configuration ARN, assigned by the system.
* @public */ arn?: string | undefined; /** *Logging-configuration ID, generated by the system. This is a relative identifier, the * part of the ARN that uniquely identifies the logging configuration.
* @public */ id?: string | undefined; /** *Time when the logging configuration was created. This is an ISO 8601 timestamp; * note that this is returned as a string.
* @public */ createTime?: Date | undefined; /** *Time of the logging configuration’s last update. This is an ISO 8601 timestamp; * note that this is returned as a string.
* @public */ updateTime?: Date | undefined; /** *Logging-configuration name, from the request (if specified).
* @public */ name?: string | undefined; /** *A complex type that contains a destination configuration for where chat content will be
* logged, from the request. There is only one type of destination
* (cloudWatchLogs, firehose, or s3) in a
* destinationConfiguration.
The state of the logging configuration. When the state is ACTIVE, the
* configuration is ready to log chat content.
Tags attached to the resource, from the request (if specified). Array of maps, each of
* the form string:string (key:value).
Configuration information for optional message review.
* @public */ export interface MessageReviewHandler { /** *Identifier of the message review handler. Currently this must be an ARN of a lambda * function.
* @public */ uri?: string | undefined; /** *Specifies the fallback behavior (whether the message is allowed or denied) if the handler
* does not return a valid response, encounters an error, or times out. (For the timeout period,
* see Service
* Quotas.) If allowed, the message is delivered with returned content to all users
* connected to the room. If denied, the message is not delivered to any user. Default:
* ALLOW.
Room name. The value does not need to be unique.
* @public */ name?: string | undefined; /** *Maximum number of messages per second that can be sent to the room (by all clients). * Default: 10.
* @public */ maximumMessageRatePerSecond?: number | undefined; /** *Maximum number of characters in a single message. Messages are expected to be UTF-8 * encoded and this limit applies specifically to rune/code-point count, not number of bytes. * Default: 500.
* @public */ maximumMessageLength?: number | undefined; /** *Configuration information for optional review of messages.
* @public */ messageReviewHandler?: MessageReviewHandler | undefined; /** *Tags to attach to the resource. Array of maps, each of the form string:string
* (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS Chat has no constraints beyond what is documented
* there.
Array of logging-configuration identifiers attached to the room.
* @public */ loggingConfigurationIdentifiers?: string[] | undefined; } /** * @public */ export interface CreateRoomResponse { /** *Room ARN, assigned by the system.
* @public */ arn?: string | undefined; /** *Room ID, generated by the system. This is a relative identifier, the part of the ARN * that uniquely identifies the room.
* @public */ id?: string | undefined; /** *Room name, from the request (if specified).
* @public */ name?: string | undefined; /** *Time when the room was created. This is an ISO 8601 timestamp; note that this * is returned as a string.
* @public */ createTime?: Date | undefined; /** *Time of the room’s last update. This is an ISO 8601 timestamp; note that this * is returned as a string.
* @public */ updateTime?: Date | undefined; /** *Maximum number of messages per second that can be sent to the room (by all clients), * from the request (if specified).
* @public */ maximumMessageRatePerSecond?: number | undefined; /** *Maximum number of characters in a single message, from the request (if * specified).
* @public */ maximumMessageLength?: number | undefined; /** *Configuration information for optional review of messages.
* @public */ messageReviewHandler?: MessageReviewHandler | undefined; /** *Tags attached to the resource, from the request (if specified).
* @public */ tags?: RecordArray of logging configurations attached to the room, from the request (if * specified).
* @public */ loggingConfigurationIdentifiers?: string[] | undefined; } /** * @public */ export interface DeleteLoggingConfigurationRequest { /** *Identifier of the logging configuration to be deleted.
* @public */ identifier: string | undefined; } /** * @public */ export interface DeleteMessageRequest { /** *Identifier of the room where the message should be deleted. Currently this must be an * ARN.
* @public */ roomIdentifier: string | undefined; /** *ID of the message to be deleted. This is the Id field in the received
* message (see Message
* (Subscribe) in the Chat Messaging API).
Reason for deleting the message.
* @public */ reason?: string | undefined; } /** * @public */ export interface DeleteMessageResponse { /** *Operation identifier, generated by Amazon IVS Chat.
* @public */ id?: string | undefined; } /** * @public */ export interface DeleteRoomRequest { /** *Identifier of the room to be deleted. Currently this must be an ARN.
* @public */ identifier: string | undefined; } /** * @public */ export interface DisconnectUserRequest { /** *Identifier of the room from which the user's clients should be disconnected. Currently * this must be an ARN.
* @public */ roomIdentifier: string | undefined; /** *ID of the user (connection) to disconnect from the room.
* @public */ userId: string | undefined; /** *Reason for disconnecting the user.
* @public */ reason?: string | undefined; } /** * @public */ export interface DisconnectUserResponse { } /** * @public */ export interface GetLoggingConfigurationRequest { /** *Identifier of the logging configuration to be retrieved.
* @public */ identifier: string | undefined; } /** * @public */ export interface GetLoggingConfigurationResponse { /** *Logging-configuration ARN, from the request (if identifier was an
* ARN).
Logging-configuration ID, generated by the system. This is a relative identifier, the * part of the ARN that uniquely identifies the logging configuration.
* @public */ id?: string | undefined; /** *Time when the logging configuration was created. This is an ISO 8601 timestamp; * note that this is returned as a string.
* @public */ createTime?: Date | undefined; /** *Time of the logging configuration’s last update. This is an ISO 8601 timestamp; * note that this is returned as a string.
* @public */ updateTime?: Date | undefined; /** *Logging-configuration name. This value does not need to be unique.
* @public */ name?: string | undefined; /** *A complex type that contains a destination configuration for where chat content will be
* logged. There is only one type of destination (cloudWatchLogs,
* firehose, or s3) in a
* destinationConfiguration.
The state of the logging configuration. When the state is ACTIVE, the
* configuration is ready to log chat content.
Tags attached to the resource. Array of maps, each of the form string:string
* (key:value).
Identifier of the room for which the configuration is to be retrieved. Currently this * must be an ARN.
* @public */ identifier: string | undefined; } /** * @public */ export interface GetRoomResponse { /** *Room ARN, from the request (if identifier was an ARN).
Room ID, generated by the system. This is a relative identifier, the part of the ARN * that uniquely identifies the room.
* @public */ id?: string | undefined; /** *Room name. The value does not need to be unique.
* @public */ name?: string | undefined; /** *Time when the room was created. This is an ISO 8601 timestamp; note that this * is returned as a string.
* @public */ createTime?: Date | undefined; /** *Time of the room’s last update. This is an ISO 8601 timestamp; note that this * is returned as a string.
* @public */ updateTime?: Date | undefined; /** *Maximum number of messages per second that can be sent to the room (by all clients). * Default: 10.
* @public */ maximumMessageRatePerSecond?: number | undefined; /** *Maximum number of characters in a single message. Messages are expected to be UTF-8 * encoded and this limit applies specifically to rune/code-point count, not number of bytes. * Default: 500.
* @public */ maximumMessageLength?: number | undefined; /** *Configuration information for optional review of messages.
* @public */ messageReviewHandler?: MessageReviewHandler | undefined; /** *Tags attached to the resource. Array of maps, each of the form string:string
* (key:value).
Array of logging configurations attached to the room.
* @public */ loggingConfigurationIdentifiers?: string[] | undefined; } /** * @public */ export interface ListLoggingConfigurationsRequest { /** *The first logging configurations to retrieve. This is used for pagination; see the
* nextToken response field.
Maximum number of logging configurations to return. Default: 50.
* @public */ maxResults?: number | undefined; } /** *Summary information about a logging configuration.
* @public */ export interface LoggingConfigurationSummary { /** *Logging-configuration ARN.
* @public */ arn?: string | undefined; /** *Logging-configuration ID, generated by the system. This is a relative identifier, the part * of the ARN that uniquely identifies the room.
* @public */ id?: string | undefined; /** *Time when the logging configuration was created. This is an ISO 8601 timestamp; * note that this is returned as a string.
* @public */ createTime?: Date | undefined; /** *Time of the logging configuration’s last update. This is an ISO 8601 timestamp; * note that this is returned as a string.
* @public */ updateTime?: Date | undefined; /** *Logging-configuration name. The value does not need to be unique.
* @public */ name?: string | undefined; /** *A complex type that contains a destination configuration for where chat content will be * logged.
* @public */ destinationConfiguration?: DestinationConfiguration | undefined; /** *The state of the logging configuration. When this is ACTIVE, the
* configuration is ready for logging chat content.
Tags to attach to the resource. Array of maps, each of the form string:string
* (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS Chat has no constraints on tags beyond what is documented
* there.
List of the matching logging configurations (summary information only). There is only
* one type of destination (cloudWatchLogs, firehose, or
* s3) in a destinationConfiguration.
If there are more logging configurations than maxResults, use
* nextToken in the request to get the next set.
Filters the list to match the specified room name.
* @public */ name?: string | undefined; /** *The first room to retrieve. This is used for pagination; see the nextToken
* response field.
Maximum number of rooms to return. Default: 50.
* @public */ maxResults?: number | undefined; /** *Filters the list to match the specified message review handler URI.
* @public */ messageReviewHandlerUri?: string | undefined; /** *Logging-configuration identifier.
* @public */ loggingConfigurationIdentifier?: string | undefined; } /** *Summary information about a room.
* @public */ export interface RoomSummary { /** *Room ARN.
* @public */ arn?: string | undefined; /** *Room ID, generated by the system. This is a relative identifier, the part of the ARN that * uniquely identifies the room.
* @public */ id?: string | undefined; /** *Room name. The value does not need to be unique.
* @public */ name?: string | undefined; /** *Configuration information for optional review of messages.
* @public */ messageReviewHandler?: MessageReviewHandler | undefined; /** *Time when the room was created. This is an ISO 8601 timestamp; note that this is * returned as a string.
* @public */ createTime?: Date | undefined; /** *Time of the room’s last update. This is an ISO 8601 timestamp; note that this is * returned as a string.
* @public */ updateTime?: Date | undefined; /** *Tags attached to the resource. Array of maps, each of the form string:string
* (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS Chat has no constraints beyond what is documented
* there.
List of logging-configuration identifiers attached to the room.
* @public */ loggingConfigurationIdentifiers?: string[] | undefined; } /** * @public */ export interface ListRoomsResponse { /** *List of the matching rooms (summary information only).
* @public */ rooms: RoomSummary[] | undefined; /** *If there are more rooms than maxResults, use nextToken in the
* request to get the next set.
The ARN of the resource to be retrieved. The ARN must be URL-encoded.
* @public */ resourceArn: string | undefined; } /** * @public */ export interface ListTagsForResourceResponse { /** *Tags attached to the resource. Array of maps, each of the form string:string
* (key:value).
Identifier of the room to which the event will be sent. Currently this must be an * ARN.
* @public */ roomIdentifier: string | undefined; /** *Application-defined name of the event to send to clients.
* @public */ eventName: string | undefined; /** *Application-defined metadata to attach to the event sent to clients. The maximum length * of the metadata is 1 KB total.
* @public */ attributes?: RecordAn identifier generated by Amazon IVS Chat. This identifier must be used in subsequent * operations for this message, such as DeleteMessage.
* @public */ id?: string | undefined; } /** * @public */ export interface TagResourceRequest { /** *The ARN of the resource to be tagged. The ARN must be URL-encoded.
* @public */ resourceArn: string | undefined; /** *Array of tags to be added or updated. Array of maps, each of the form
* string:string (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS Chat has no constraints beyond what is documented
* there.
The ARN of the resource to be untagged. The ARN must be URL-encoded.
* @public */ resourceArn: string | undefined; /** *Array of tags to be removed. Array of maps, each of the form string:string
* (key:value). See Best practices and strategies in Tagging Amazon Web Services Resources and Tag Editor for details, including restrictions that apply to tags and "Tag naming limits and requirements"; Amazon IVS Chat has no constraints beyond what is documented
* there.
Identifier of the logging configuration to be updated.
* @public */ identifier: string | undefined; /** *Logging-configuration name. The value does not need to be unique.
* @public */ name?: string | undefined; /** *A complex type that contains a destination configuration for where chat content will be
* logged. There can be only one type of destination (cloudWatchLogs,
* firehose, or s3) in a
* destinationConfiguration.
Logging-configuration ARN, from the request (if identifier was an
* ARN).
Logging-configuration ID, generated by the system. This is a relative identifier, the * part of the ARN that uniquely identifies the room.
* @public */ id?: string | undefined; /** *Time when the logging configuration was created. This is an ISO 8601 timestamp; * note that this is returned as a string.
* @public */ createTime?: Date | undefined; /** *Time of the logging configuration’s last update. This is an ISO 8601 timestamp; * note that this is returned as a string.
* @public */ updateTime?: Date | undefined; /** *Logging-configuration name, from the request (if specified).
* @public */ name?: string | undefined; /** *A complex type that contains a destination configuration for where chat content will be
* logged, from the request. There is only one type of destination
* (cloudWatchLogs, firehose, or s3) in a
* destinationConfiguration.
The state of the logging configuration. When the state is ACTIVE, the
* configuration is ready to log chat content.
Tags attached to the resource. Array of maps, each of the form string:string
* (key:value).
Identifier of the room to be updated. Currently this must be an ARN.
* @public */ identifier: string | undefined; /** *Room name. The value does not need to be unique.
* @public */ name?: string | undefined; /** *Maximum number of messages per second that can be sent to the room (by all clients). * Default: 10.
* @public */ maximumMessageRatePerSecond?: number | undefined; /** *The maximum number of characters in a single message. Messages are expected to be UTF-8 * encoded and this limit applies specifically to rune/code-point count, not number of bytes. * Default: 500.
* @public */ maximumMessageLength?: number | undefined; /** *Configuration information for optional review of messages. Specify an empty
* uri string to disassociate a message review handler from the specified
* room.
Array of logging-configuration identifiers attached to the room.
* @public */ loggingConfigurationIdentifiers?: string[] | undefined; } /** * @public */ export interface UpdateRoomResponse { /** *Room ARN, from the request (if identifier was an ARN).
Room ID, generated by the system. This is a relative identifier, the part of the ARN * that uniquely identifies the room.
* @public */ id?: string | undefined; /** *Room name, from the request (if specified).
* @public */ name?: string | undefined; /** *Time when the room was created. This is an ISO 8601 timestamp; note that this * is returned as a string.
* @public */ createTime?: Date | undefined; /** *Time of the room’s last update. This is an ISO 8601 timestamp; note that this * is returned as a string.
* @public */ updateTime?: Date | undefined; /** *Maximum number of messages per second that can be sent to the room (by all clients), * from the request (if specified).
* @public */ maximumMessageRatePerSecond?: number | undefined; /** *Maximum number of characters in a single message, from the request (if * specified).
* @public */ maximumMessageLength?: number | undefined; /** *Configuration information for optional review of messages.
* @public */ messageReviewHandler?: MessageReviewHandler | undefined; /** *Tags attached to the resource. Array of maps, each of the form string:string
* (key:value).
Array of logging configurations attached to the room, from the request (if * specified).
* @public */ loggingConfigurationIdentifiers?: string[] | undefined; }