import * as core from "@terrascript/core"; export interface AmountInUsdArgs extends core.SchemaArgs { cents?: number | core.NumberOut; dollars?: number | core.NumberOut; tenthFractionsOfACent?: number | core.NumberOut; } export class AmountInUsd extends core.Schema { @core.attr(Number) public cents?: number | core.NumberOut; @core.attr(Number) public dollars?: number | core.NumberOut; @core.attr(Number) public tenthFractionsOfACent?: number | core.NumberOut; } export interface PublicWorkforceTaskPriceArgs extends core.SchemaArgs { amountInUsd?: AmountInUsd; } export class PublicWorkforceTaskPrice extends core.Schema { @core.attr(AmountInUsd) public amountInUsd?: AmountInUsd; } export interface HumanLoopConfigArgs extends core.SchemaArgs { humanTaskUiArn: string | core.StringOut; publicWorkforceTaskPrice?: PublicWorkforceTaskPrice; taskAvailabilityLifetimeInSeconds?: number | core.NumberOut; taskCount: number | core.NumberOut; taskDescription: string | core.StringOut; taskKeywords?: core.Array | core.ArrayOut; taskTimeLimitInSeconds?: number | core.NumberOut; taskTitle: string | core.StringOut; workteamArn: string | core.StringOut; } export class HumanLoopConfig extends core.Schema { @core.attr(String) public humanTaskUiArn!: string | core.StringOut; @core.attr(PublicWorkforceTaskPrice) public publicWorkforceTaskPrice?: PublicWorkforceTaskPrice; @core.attr(Number) public taskAvailabilityLifetimeInSeconds?: number | core.NumberOut; @core.attr(Number) public taskCount!: number | core.NumberOut; @core.attr(String) public taskDescription!: string | core.StringOut; @core.attr(String, { kind: "array" }) public taskKeywords?: core.Array | core.ArrayOut; @core.attr(Number) public taskTimeLimitInSeconds?: number | core.NumberOut; @core.attr(String) public taskTitle!: string | core.StringOut; @core.attr(String) public workteamArn!: string | core.StringOut; } export interface OutputConfigArgs extends core.SchemaArgs { kmsKeyId?: string | core.StringOut; s3OutputPath: string | core.StringOut; } export class OutputConfig extends core.Schema { @core.attr(String) public kmsKeyId?: string | core.StringOut; @core.attr(String) public s3OutputPath!: string | core.StringOut; } export interface HumanLoopActivationConditionsConfigArgs extends core.SchemaArgs { humanLoopActivationConditions: string | core.StringOut; } export class HumanLoopActivationConditionsConfig extends core.Schema { @core.attr(String) public humanLoopActivationConditions!: string | core.StringOut; } export interface HumanLoopActivationConfigArgs extends core.SchemaArgs { humanLoopActivationConditionsConfig?: HumanLoopActivationConditionsConfig; } export class HumanLoopActivationConfig extends core.Schema { @core.attr(HumanLoopActivationConditionsConfig) public humanLoopActivationConditionsConfig?: HumanLoopActivationConditionsConfig; } export interface HumanLoopRequestSourceArgs extends core.SchemaArgs { awsManagedHumanLoopRequestSource: string | core.StringOut; } export class HumanLoopRequestSource extends core.Schema { @core.attr(String) public awsManagedHumanLoopRequestSource!: string | core.StringOut; } export interface FlowDefinitionArgs extends core.ResourceArgs { /** * (Required) The name of your flow definition. */ flowDefinitionName: string | core.StringOut; /** * (Optional) An object containing information about the events that trigger a human workflow. See [Hum * an Loop Activation Config](#human-loop-activation-config) details below. */ humanLoopActivationConfig?: HumanLoopActivationConfig; /** * (Required) An object containing information about the tasks the human reviewers will perform. See [ * Human Loop Config](#human-loop-config) details below. */ humanLoopConfig: HumanLoopConfig; /** * (Optional) Container for configuring the source of human task requests. Use to specify if Amazon Rek * ognition or Amazon Textract is used as an integration source. See [Human Loop Request Source](#human * loop-request-source) details below. */ humanLoopRequestSource?: HumanLoopRequestSource; /** * (Required) An object containing information about where the human review results will be uploaded. S * ee [Output Config](#output-config) details below. */ outputConfig: OutputConfig; /** * (Required) The Amazon Resource Name (ARN) of the role needed to call other services on your behalf. */ roleArn: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ 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; } export class FlowDefinition extends core.Resource { /** * The Amazon Resource Name (ARN) assigned by AWS to this Flow Definition. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) The name of your flow definition. */ @core.attr(String) public flowDefinitionName!: string | core.StringOut; /** * (Optional) An object containing information about the events that trigger a human workflow. See [Hum * an Loop Activation Config](#human-loop-activation-config) details below. */ @core.attr(HumanLoopActivationConfig) public humanLoopActivationConfig?: HumanLoopActivationConfig; /** * (Required) An object containing information about the tasks the human reviewers will perform. See [ * Human Loop Config](#human-loop-config) details below. */ @core.attr(HumanLoopConfig) public humanLoopConfig!: HumanLoopConfig; /** * (Optional) Container for configuring the source of human task requests. Use to specify if Amazon Rek * ognition or Amazon Textract is used as an integration source. See [Human Loop Request Source](#human * loop-request-source) details below. */ @core.attr(HumanLoopRequestSource) public humanLoopRequestSource?: HumanLoopRequestSource; /** * The name of the Flow Definition. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) An object containing information about where the human review results will be uploaded. S * ee [Output Config](#output-config) details below. */ @core.attr(OutputConfig) public outputConfig!: OutputConfig; /** * (Required) The Amazon Resource Name (ARN) of the role needed to call other services on your behalf. */ @core.attr(String) public roleArn!: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ @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; constructor(name: string, args?: FlowDefinitionArgs) { super(name, "aws_sagemaker_flow_definition", args); } public override getNamespace(): string { return "aws_sagemaker"; } }