Skip to content

Resource: awsIvschatRoom

Terraform resource for managing an AWS IVS (Interactive Video) Chat Room.

Example Usage

Basic Usage

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
new aws.ivschatRoom.IvschatRoom(this, "example", {
  name: "tf-room",
});

Usage with Logging Configuration to S3 Bucket

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as aws from "./.gen/providers/aws";
const awsS3BucketExample = new aws.s3Bucket.S3Bucket(this, "example", {
  bucketPrefix: "tf-ivschat-logging-bucket-",
  forceDestroy: true,
});
const awsIvschatLoggingConfigurationExample =
  new aws.ivschatLoggingConfiguration.IvschatLoggingConfiguration(
    this,
    "example_1",
    {
      destinationConfiguration: {
        s3: {
          bucketName: awsS3BucketExample.id,
        },
      },
      name: "tf-ivschat-loggingconfiguration",
    }
  );
awsIvschatLoggingConfigurationExample.addOverride("lifecycle", [
  {
    create_before_destroy: true,
  },
]);
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
awsIvschatLoggingConfigurationExample.overrideLogicalId("example");
const awsIvschatRoomExample = new aws.ivschatRoom.IvschatRoom(
  this,
  "example_2",
  {
    loggingConfigurationIdentifiers: [
      awsIvschatLoggingConfigurationExample.arn,
    ],
    name: "tf-ivschat-room",
  }
);
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
awsIvschatRoomExample.overrideLogicalId("example");

Argument Reference

The following arguments are optional:

  • loggingConfigurationIdentifiers - (Optional) List of Logging Configuration ARNs to attach to the room.
  • maximumMessageLength - (Optional) 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.
  • maximumMessageRatePerSecond - (Optional) Maximum number of messages per second that can be sent to the room (by all clients).
  • messageReviewHandler - (Optional) Configuration information for optional review of messages.
  • fallbackResult - (Optional) 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. Valid values: allow, deny.
  • uri - (Optional) ARN of the lambda message review handler function.
  • name - (Optional) Room name.
  • tags - (Optional) A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Attributes Reference

In addition to all arguments above, the following attributes are exported:

  • arn - ARN of the Room.
  • id - Room ID
  • tagsAll - Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.

Timeouts

Configuration options:

  • create - (Default 5M)
  • update - (Default 5M)
  • delete - (Default 5M)

Import

IVS (Interactive Video) Chat Room can be imported using the ARN, e.g.,

$ terraform import aws_ivschat_room.example arn:aws:ivschat:us-west-2:326937407773:room/GoXEXyB4VwHb