import * as core from "@terrascript/core"; export interface TableReplicaArgs extends core.ResourceArgs { /** * (Required) ARN of the _main_ or global table which this resource will replicate. */ globalTableArn: string | core.StringOut; /** * (Optional) ARN of the CMK that should be used for the AWS KMS encryption. */ kmsKeyArn?: string | core.StringOut; /** * (Optional) Whether to enable Point In Time Recovery for the replica. Default is `false`. */ pointInTimeRecovery?: boolean | core.BooleanOut; /** * (Optional, Forces new resource) Storage class of the table replica. Valid values are `STANDARD` and * STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global t * able. */ tableClassOverride?: string | core.StringOut; /** * (Optional) Map of tags to populate on the created table. If configured with a provider [`default_tag * s` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_ta * gs-configuration-block) present, tags with matching keys will overwrite those defined at the provide * r-level. */ tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ tagsAll?: core.Map | core.MapOut; } export class TableReplica extends core.Resource { /** * ARN of the table replica. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) ARN of the _main_ or global table which this resource will replicate. */ @core.attr(String) public globalTableArn!: string | core.StringOut; /** * Name of the table and region of the main global table joined with a semicolon (_e.g._, `TableName:us * east-1`). */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) ARN of the CMK that should be used for the AWS KMS encryption. */ @core.attr(String, { computed: true }) public kmsKeyArn?: string | core.StringOut; /** * (Optional) Whether to enable Point In Time Recovery for the replica. Default is `false`. */ @core.attr(Boolean) public pointInTimeRecovery?: boolean | core.BooleanOut; /** * (Optional, Forces new resource) Storage class of the table replica. Valid values are `STANDARD` and * STANDARD_INFREQUENT_ACCESS`. If not used, the table replica will use the same class as the global t * able. */ @core.attr(String) public tableClassOverride?: string | core.StringOut; /** * (Optional) Map of tags to populate on the created table. If configured with a provider [`default_tag * s` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_ta * gs-configuration-block) present, tags with matching keys will overwrite those defined at the provide * r-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * Map of tags assigned to the resource, including those inherited from the provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: TableReplicaArgs) { super(name, "aws_dynamodb_table_replica", args); } public override getNamespace(): string { return "aws_dynamodb"; } }