import * as core from "@terrascript/core"; export interface DocumentsArgs extends core.SchemaArgs { inputFormat?: string | core.StringOut; s3Uri: string | core.StringOut; testS3Uri?: string | core.StringOut; } export class Documents extends core.Schema { @core.attr(String) public inputFormat?: string | core.StringOut; @core.attr(String) public s3Uri!: string | core.StringOut; @core.attr(String) public testS3Uri?: string | core.StringOut; } export interface EntityListArgs extends core.SchemaArgs { s3Uri: string | core.StringOut; } export class EntityList extends core.Schema { @core.attr(String) public s3Uri!: string | core.StringOut; } export interface EntityTypesArgs extends core.SchemaArgs { type: string | core.StringOut; } export class EntityTypes extends core.Schema { @core.attr(String) public type!: string | core.StringOut; } export interface AnnotationsArgs extends core.SchemaArgs { s3Uri: string | core.StringOut; testS3Uri?: string | core.StringOut; } export class Annotations extends core.Schema { @core.attr(String) public s3Uri!: string | core.StringOut; @core.attr(String) public testS3Uri?: string | core.StringOut; } export interface AugmentedManifestsArgs extends core.SchemaArgs { annotationDataS3Uri?: string | core.StringOut; attributeNames: core.Array | core.ArrayOut; documentType?: string | core.StringOut; s3Uri: string | core.StringOut; sourceDocumentsS3Uri?: string | core.StringOut; split?: string | core.StringOut; } export class AugmentedManifests extends core.Schema { @core.attr(String) public annotationDataS3Uri?: string | core.StringOut; @core.attr(String, { kind: "array" }) public attributeNames!: core.Array | core.ArrayOut; @core.attr(String) public documentType?: string | core.StringOut; @core.attr(String) public s3Uri!: string | core.StringOut; @core.attr(String) public sourceDocumentsS3Uri?: string | core.StringOut; @core.attr(String) public split?: string | core.StringOut; } export interface InputDataConfigArgs extends core.SchemaArgs { annotations?: Annotations; augmentedManifests?: | core.Array | core.ArrayOut; dataFormat?: string | core.StringOut; documents?: Documents; entityList?: EntityList; entityTypes: core.Array | core.ArrayOut; } export class InputDataConfig extends core.Schema { @core.attr(Annotations) public annotations?: Annotations; @core.attr(AugmentedManifests, { kind: "array" }) public augmentedManifests?: | core.Array | core.ArrayOut; @core.attr(String) public dataFormat?: string | core.StringOut; @core.attr(Documents) public documents?: Documents; @core.attr(EntityList) public entityList?: EntityList; @core.attr(EntityTypes, { kind: "array" }) public entityTypes!: core.Array | core.ArrayOut; } export interface VpcConfigArgs extends core.SchemaArgs { securityGroupIds: core.Array | core.ArrayOut; subnets: core.Array | core.ArrayOut; } export class VpcConfig extends core.Schema { @core.attr(String, { kind: "array" }) public securityGroupIds!: core.Array | core.ArrayOut; @core.attr(String, { kind: "array" }) public subnets!: core.Array | core.ArrayOut; } export interface EntityRecognizerArgs extends core.ResourceArgs { /** * (Required) The ARN for an IAM Role which allows Comprehend to read the training and testing data. */ dataAccessRoleArn: string | core.StringOut; /** * (Required) Configuration for the training and testing data. */ inputDataConfig: InputDataConfig; /** * (Required) Two-letter language code for the language. */ languageCode: string | core.StringOut; /** * (Optional) The ID or ARN of a KMS Key used to encrypt trained Entity Recognizers. */ modelKmsKeyId?: string | core.StringOut; /** * (Required) Name for the Entity Recognizer. */ name: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` Co * nfiguration Block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags wi * th matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](/docs/providers/aws/index.html#default_tags-configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) Name for the version of the Entity Recognizer. */ versionName?: string | core.StringOut; /** * (Optional) Creates a unique version name beginning with the specified prefix. */ versionNamePrefix?: string | core.StringOut; /** * (Optional) ID or ARN of a KMS Key used to encrypt storage volumes during job processing. */ volumeKmsKeyId?: string | core.StringOut; /** * (Optional) Configuration parameters for VPC to contain Entity Recognizer resources. */ vpcConfig?: VpcConfig; } export class EntityRecognizer extends core.Resource { /** * ARN of the Entity Recognizer version. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) The ARN for an IAM Role which allows Comprehend to read the training and testing data. */ @core.attr(String) public dataAccessRoleArn!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) Configuration for the training and testing data. */ @core.attr(InputDataConfig) public inputDataConfig!: InputDataConfig; /** * (Required) Two-letter language code for the language. */ @core.attr(String) public languageCode!: string | core.StringOut; /** * (Optional) The ID or ARN of a KMS Key used to encrypt trained Entity Recognizers. */ @core.attr(String) public modelKmsKeyId?: string | core.StringOut; /** * (Required) Name for the Entity Recognizer. */ @core.attr(String) public name!: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` Co * nfiguration Block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags wi * th matching keys will overwrite those defined at the provider-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](/docs/providers/aws/index.html#default_tags-configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * (Optional) Name for the version of the Entity Recognizer. */ @core.attr(String, { computed: true }) public versionName?: string | core.StringOut; /** * (Optional) Creates a unique version name beginning with the specified prefix. */ @core.attr(String, { computed: true }) public versionNamePrefix?: string | core.StringOut; /** * (Optional) ID or ARN of a KMS Key used to encrypt storage volumes during job processing. */ @core.attr(String) public volumeKmsKeyId?: string | core.StringOut; /** * (Optional) Configuration parameters for VPC to contain Entity Recognizer resources. */ @core.attr(VpcConfig) public vpcConfig?: VpcConfig; constructor(name: string, args?: EntityRecognizerArgs) { super(name, "aws_comprehend_entity_recognizer", args); } public override getNamespace(): string { return "aws_comprehend"; } }