import * as core from "@terrascript/core"; export interface StreamModeDetailsArgs extends core.SchemaArgs { streamMode: string | core.StringOut; } export class StreamModeDetails extends core.Schema { @core.attr(String, { computed: true }) public streamMode!: string | core.StringOut; } export interface DsStreamArgs { /** * (Required) The name of the Kinesis Stream. */ name: string | core.StringOut; /** * A map of tags to assigned to the stream. */ tags?: core.Map | core.MapOut; } export class DsStream extends core.Data { /** * The Amazon Resource Name (ARN) of the Kinesis Stream (same as id). */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The list of shard ids in the CLOSED state. See [Shard State][2] for more. */ @core.attr(String, { computed: true, kind: "array" }) public closedShards!: core.Array | core.ArrayOut; /** * The approximate UNIX timestamp that the stream was created. */ @core.attr(Number, { computed: true }) public creationTimestamp!: number | core.NumberOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The name of the Kinesis Stream. */ @core.attr(String) public name!: string | core.StringOut; /** * The list of shard ids in the OPEN state. See [Shard State][2] for more. */ @core.attr(String, { computed: true, kind: "array" }) public openShards!: core.Array | core.ArrayOut; /** * Length of time (in hours) data records are accessible after they are added to the stream. */ @core.attr(Number, { computed: true }) public retentionPeriod!: number | core.NumberOut; /** * A list of shard-level CloudWatch metrics which are enabled for the stream. See [Monitoring with Clou * dWatch][3] for more. */ @core.attr(String, { computed: true, kind: "array" }) public shardLevelMetrics!: core.Array | core.ArrayOut; /** * The current status of the stream. The stream status is one of CREATING, DELETING, ACTIVE, or UPDATIN * G. */ @core.attr(String, { computed: true }) public status!: string | core.StringOut; /** * Indicates the [capacity mode][4] of the data stream. Detailed below. */ @core.attr(StreamModeDetails, { computed: true, kind: "array" }) public streamModeDetails!: | core.Array | core.ArrayOut; /** * A map of tags to assigned to the stream. */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; constructor(name: string, args?: DsStreamArgs) { super(name, "aws_kinesis_stream", args); } public override getNamespace(): string { return "aws_kinesis"; } }