aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
346 lines (345 loc) • 16 kB
TypeScript
import * as cdk from "../../core";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
/**
* The `AWS::IVSChat::LoggingConfiguration` resource specifies an logging configuration that allows clients to store and record sent messages.
*
* For more information, see [CreateLoggingConfiguration](https://docs.aws.amazon.com/ivs/latest/ChatAPIReference/API_CreateLoggingConfiguration.html) in the *Amazon Interactive Video Service Chat API Reference* .
*
* @cloudformationResource AWS::IVSChat::LoggingConfiguration
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html
*/
export declare class CfnLoggingConfiguration extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnLoggingConfiguration from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnLoggingConfiguration;
/**
* The logging-configuration ARN. For example: `arn:aws:ivschat:us-west-2:123456789012:logging-configuration/abcdABCDefgh`
*
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* The logging-configuration ID. For example: `abcdABCDefgh`
*
* @cloudformationAttribute Id
*/
readonly attrId: string;
/**
* Indicates the current state of the logging configuration. When the state is `ACTIVE` , the configuration is ready to log a chat session. Valid values: `CREATING` | `CREATE_FAILED` | `DELETING` | `DELETE_FAILED` | `UPDATING` | `UPDATE_FAILED` | `ACTIVE` .
*
* @cloudformationAttribute State
*/
readonly attrState: string;
/**
* The DestinationConfiguration is a complex type that contains information about where chat content will be logged.
*/
destinationConfiguration: CfnLoggingConfiguration.DestinationConfigurationProperty | cdk.IResolvable;
/**
* Logging-configuration name.
*/
name?: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* An array of key-value pairs to apply to this resource.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnLoggingConfigurationProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnLoggingConfiguration {
/**
* The DestinationConfiguration property type 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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-destinationconfiguration.html
*/
interface DestinationConfigurationProperty {
/**
* An Amazon CloudWatch Logs destination configuration where chat activity will be logged.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-destinationconfiguration.html#cfn-ivschat-loggingconfiguration-destinationconfiguration-cloudwatchlogs
*/
readonly cloudWatchLogs?: CfnLoggingConfiguration.CloudWatchLogsDestinationConfigurationProperty | cdk.IResolvable;
/**
* An Amazon Kinesis Data Firehose destination configuration where chat activity will be logged.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-destinationconfiguration.html#cfn-ivschat-loggingconfiguration-destinationconfiguration-firehose
*/
readonly firehose?: CfnLoggingConfiguration.FirehoseDestinationConfigurationProperty | cdk.IResolvable;
/**
* An Amazon S3 destination configuration where chat activity will be logged.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-destinationconfiguration.html#cfn-ivschat-loggingconfiguration-destinationconfiguration-s3
*/
readonly s3?: cdk.IResolvable | CfnLoggingConfiguration.S3DestinationConfigurationProperty;
}
/**
* The S3DestinationConfiguration property type specifies an S3 location where chat logs will be stored.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-s3destinationconfiguration.html
*/
interface S3DestinationConfigurationProperty {
/**
* Name of the Amazon S3 bucket where chat activity will be logged.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-s3destinationconfiguration.html#cfn-ivschat-loggingconfiguration-s3destinationconfiguration-bucketname
*/
readonly bucketName: string;
}
/**
* The FirehoseDestinationConfiguration property type specifies a Kinesis Firehose location where chat logs will be stored.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-firehosedestinationconfiguration.html
*/
interface FirehoseDestinationConfigurationProperty {
/**
* Name of the Amazon Kinesis Firehose delivery stream where chat activity will be logged.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-firehosedestinationconfiguration.html#cfn-ivschat-loggingconfiguration-firehosedestinationconfiguration-deliverystreamname
*/
readonly deliveryStreamName: string;
}
/**
* The CloudWatchLogsDestinationConfiguration property type specifies a CloudWatch Logs location where chat logs will be stored.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-cloudwatchlogsdestinationconfiguration.html
*/
interface CloudWatchLogsDestinationConfigurationProperty {
/**
* Name of the Amazon Cloudwatch Logs destination where chat activity will be logged.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-cloudwatchlogsdestinationconfiguration.html#cfn-ivschat-loggingconfiguration-cloudwatchlogsdestinationconfiguration-loggroupname
*/
readonly logGroupName: string;
}
}
/**
* Properties for defining a `CfnLoggingConfiguration`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html
*/
export interface CfnLoggingConfigurationProps {
/**
* The DestinationConfiguration is a complex type that contains information about where chat content will be logged.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html#cfn-ivschat-loggingconfiguration-destinationconfiguration
*/
readonly destinationConfiguration: CfnLoggingConfiguration.DestinationConfigurationProperty | cdk.IResolvable;
/**
* Logging-configuration name.
*
* The value does not need to be unique.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html#cfn-ivschat-loggingconfiguration-name
*/
readonly name?: string;
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-loggingconfiguration-tag.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html#cfn-ivschat-loggingconfiguration-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* The `AWS::IVSChat::Room` resource specifies an room that allows clients to connect and pass messages.
*
* For more information, see [CreateRoom](https://docs.aws.amazon.com/ivs/latest/ChatAPIReference/API_CreateRoom.html) in the *Amazon Interactive Video Service Chat API Reference* .
*
* @cloudformationResource AWS::IVSChat::Room
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html
*/
export declare class CfnRoom extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnRoom from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnRoom;
/**
* The room ARN. For example: `arn:aws:ivschat:us-west-2:123456789012:room/abcdABCDefgh`
*
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* The room ID. For example: `abcdABCDefgh`
*
* @cloudformationAttribute Id
*/
readonly attrId: string;
/**
* List of logging-configuration identifiers attached to the room.
*/
loggingConfigurationIdentifiers?: Array<string>;
/**
* Maximum number of characters in a single message.
*/
maximumMessageLength?: number;
/**
* Maximum number of messages per second that can be sent to the room (by all clients).
*/
maximumMessageRatePerSecond?: number;
/**
* Configuration information for optional review of messages.
*/
messageReviewHandler?: cdk.IResolvable | CfnRoom.MessageReviewHandlerProperty;
/**
* Room name.
*/
name?: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* An array of key-value pairs to apply to this resource.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnRoomProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnRoom {
/**
* The MessageReviewHandler property type specifies configuration information for optional message review.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-room-messagereviewhandler.html
*/
interface MessageReviewHandlerProperty {
/**
* 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](https://docs.aws.amazon.com/ivs/latest/userguide/service-quotas.html) .) 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`
*
* @default - "ALLOW"
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-room-messagereviewhandler.html#cfn-ivschat-room-messagereviewhandler-fallbackresult
*/
readonly fallbackResult?: string;
/**
* Identifier of the message review handler.
*
* Currently this must be an ARN of a lambda function.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-room-messagereviewhandler.html#cfn-ivschat-room-messagereviewhandler-uri
*/
readonly uri?: string;
}
}
/**
* Properties for defining a `CfnRoom`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html
*/
export interface CfnRoomProps {
/**
* List of logging-configuration identifiers attached to the room.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-loggingconfigurationidentifiers
*/
readonly loggingConfigurationIdentifiers?: Array<string>;
/**
* 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
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-maximummessagelength
*/
readonly maximumMessageLength?: number;
/**
* Maximum number of messages per second that can be sent to the room (by all clients).
*
* @default - 10
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-maximummessageratepersecond
*/
readonly maximumMessageRatePerSecond?: number;
/**
* Configuration information for optional review of messages.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-messagereviewhandler
*/
readonly messageReviewHandler?: cdk.IResolvable | CfnRoom.MessageReviewHandlerProperty;
/**
* Room name.
*
* The value does not need to be unique.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-name
*/
readonly name?: string;
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivschat-room-tag.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html#cfn-ivschat-room-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}