import * as core from "@terrascript/core"; export interface SourceS3PathArgs extends core.SchemaArgs { bucket: string | core.StringOut; key: string | core.StringOut; } export class SourceS3Path extends core.Schema { @core.attr(String, { computed: true }) public bucket!: string | core.StringOut; @core.attr(String, { computed: true }) public key!: string | core.StringOut; } export interface DsThesaurusArgs { /** * (Required) The identifier of the index that contains the Thesaurus. */ indexId: string | core.StringOut; /** * Metadata that helps organize the Thesaurus you create. */ tags?: core.Map | core.MapOut; /** * (Required) The identifier of the Thesaurus. */ thesaurusId: string | core.StringOut; } export class DsThesaurus extends core.Data { /** * The Amazon Resource Name (ARN) of the Thesaurus. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The Unix datetime that the Thesaurus was created. */ @core.attr(String, { computed: true }) public createdAt!: string | core.StringOut; /** * The description of the Thesaurus. */ @core.attr(String, { computed: true }) public description!: string | core.StringOut; /** * When the `status` field value is `FAILED`, this contains a message that explains why. */ @core.attr(String, { computed: true }) public errorMessage!: string | core.StringOut; /** * The size of the Thesaurus file in bytes. */ @core.attr(Number, { computed: true }) public fileSizeBytes!: number | core.NumberOut; /** * The unique identifiers of the Thesaurus and index separated by a slash (`/`). */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The identifier of the index that contains the Thesaurus. */ @core.attr(String) public indexId!: string | core.StringOut; /** * Specifies the name of the Thesaurus. */ @core.attr(String, { computed: true }) public name!: string | core.StringOut; /** * The Amazon Resource Name (ARN) of a role with permission to access the S3 bucket that contains the T * hesaurus. For more information, see [IAM Roles for Amazon Kendra](https://docs.aws.amazon.com/kendra * /latest/dg/iam-roles.html). */ @core.attr(String, { computed: true }) public roleArn!: string | core.StringOut; /** * The S3 location of the Thesaurus input data. Detailed below. */ @core.attr(SourceS3Path, { computed: true, kind: "array" }) public sourceS3Path!: core.Array | core.ArrayOut; /** * The status of the Thesaurus. It is ready to use when the status is `ACTIVE`. */ @core.attr(String, { computed: true }) public status!: string | core.StringOut; /** * The number of synonym rules in the Thesaurus file. */ @core.attr(Number, { computed: true }) public synonymRuleCount!: number | core.NumberOut; /** * Metadata that helps organize the Thesaurus you create. */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; /** * The number of unique terms in the Thesaurus file. For example, the synonyms `a,b,c` and `a=>d`, the * term count would be 4. */ @core.attr(Number, { computed: true }) public termCount!: number | core.NumberOut; /** * (Required) The identifier of the Thesaurus. */ @core.attr(String) public thesaurusId!: string | core.StringOut; /** * The date and time that the Thesaurus was last updated. */ @core.attr(String, { computed: true }) public updatedAt!: string | core.StringOut; constructor(name: string, args?: DsThesaurusArgs) { super(name, "aws_kendra_thesaurus", args); } public override getNamespace(): string { return "aws_kendra"; } }