import * as core from "@terrascript/core"; export interface InputRecordTablesArgs extends core.SchemaArgs { catalogId?: string | core.StringOut; connectionName?: string | core.StringOut; databaseName: string | core.StringOut; tableName: string | core.StringOut; } export class InputRecordTables extends core.Schema { @core.attr(String) public catalogId?: string | core.StringOut; @core.attr(String) public connectionName?: string | core.StringOut; @core.attr(String) public databaseName!: string | core.StringOut; @core.attr(String) public tableName!: string | core.StringOut; } export interface FindMatchesParametersArgs extends core.SchemaArgs { accuracyCostTradeOff?: number | core.NumberOut; enforceProvidedLabels?: boolean | core.BooleanOut; precisionRecallTradeOff?: number | core.NumberOut; primaryKeyColumnName?: string | core.StringOut; } export class FindMatchesParameters extends core.Schema { @core.attr(Number) public accuracyCostTradeOff?: number | core.NumberOut; @core.attr(Boolean) public enforceProvidedLabels?: boolean | core.BooleanOut; @core.attr(Number) public precisionRecallTradeOff?: number | core.NumberOut; @core.attr(String) public primaryKeyColumnName?: string | core.StringOut; } export interface ParametersArgs extends core.SchemaArgs { findMatchesParameters: FindMatchesParameters; transformType: string | core.StringOut; } export class Parameters extends core.Schema { @core.attr(FindMatchesParameters) public findMatchesParameters!: FindMatchesParameters; @core.attr(String) public transformType!: string | core.StringOut; } export interface SchemaArgs extends core.SchemaArgs { dataType: string | core.StringOut; name: string | core.StringOut; } export class Schema extends core.Schema { @core.attr(String, { computed: true }) public dataType!: string | core.StringOut; @core.attr(String, { computed: true }) public name!: string | core.StringOut; } export interface MlTransformArgs extends core.ResourceArgs { description?: string | core.StringOut; /** * (Optional) The version of glue to use, for example "1.0". For information about available versions, * see the [AWS Glue Release Notes](https://docs.aws.amazon.com/glue/latest/dg/release-notes.html). */ glueVersion?: string | core.StringOut; /** * (Required) A list of AWS Glue table definitions used by the transform. see [Input Record Tables](#i * nput_record_tables). */ inputRecordTables: | core.Array | core.ArrayOut; maxCapacity?: number | core.NumberOut; maxRetries?: number | core.NumberOut; /** * The name of the column. */ name: string | core.StringOut; /** * (Optional) The number of workers of a defined `worker_type` that are allocated when an ML Transform * runs. Required with `worker_type`. */ numberOfWorkers?: number | core.NumberOut; /** * (Required) The algorithmic parameters that are specific to the transform type used. Conditionally de * pendent on the transform type. see [Parameters](#parameters). */ parameters: Parameters; roleArn: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with 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](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; timeout?: number | core.NumberOut; /** * (Optional) The type of predefined worker that is allocated when an ML Transform runs. Accepts a valu * e of `Standard`, `G.1X`, or `G.2X`. Required with `number_of_workers`. */ workerType?: string | core.StringOut; } export class MlTransform extends core.Resource { /** * Amazon Resource Name (ARN) of Glue ML Transform. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; @core.attr(String) public description?: string | core.StringOut; /** * (Optional) The version of glue to use, for example "1.0". For information about available versions, * see the [AWS Glue Release Notes](https://docs.aws.amazon.com/glue/latest/dg/release-notes.html). */ @core.attr(String, { computed: true }) public glueVersion?: string | core.StringOut; /** * Glue ML Transform ID. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) A list of AWS Glue table definitions used by the transform. see [Input Record Tables](#i * nput_record_tables). */ @core.attr(InputRecordTables, { kind: "array" }) public inputRecordTables!: | core.Array | core.ArrayOut; /** * The number of labels available for this transform. */ @core.attr(Number, { computed: true }) public labelCount!: number | core.NumberOut; @core.attr(Number, { computed: true }) public maxCapacity?: number | core.NumberOut; @core.attr(Number) public maxRetries?: number | core.NumberOut; /** * The name of the column. */ @core.attr(String) public name!: string | core.StringOut; /** * (Optional) The number of workers of a defined `worker_type` that are allocated when an ML Transform * runs. Required with `worker_type`. */ @core.attr(Number) public numberOfWorkers?: number | core.NumberOut; /** * (Required) The algorithmic parameters that are specific to the transform type used. Conditionally de * pendent on the transform type. see [Parameters](#parameters). */ @core.attr(Parameters) public parameters!: Parameters; @core.attr(String) public roleArn!: string | core.StringOut; /** * The object that represents the schema that this transform accepts. see [Schema](#schema). */ @core.attr(Schema, { computed: true, kind: "array" }) public schema!: core.Array | core.ArrayOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with 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](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; @core.attr(Number) public timeout?: number | core.NumberOut; /** * (Optional) The type of predefined worker that is allocated when an ML Transform runs. Accepts a valu * e of `Standard`, `G.1X`, or `G.2X`. Required with `number_of_workers`. */ @core.attr(String) public workerType?: string | core.StringOut; constructor(name: string, args?: MlTransformArgs) { super(name, "aws_glue_ml_transform", args); } public override getNamespace(): string { return "aws_glue"; } }