import * as core from "@terrascript/core"; export interface EfsFileLocationArgs extends core.SchemaArgs { fileSystemId?: string | core.StringOut; path?: string | core.StringOut; } export class EfsFileLocation extends core.Schema { @core.attr(String) public fileSystemId?: string | core.StringOut; @core.attr(String) public path?: string | core.StringOut; } export interface S3FileLocationArgs extends core.SchemaArgs { bucket?: string | core.StringOut; key?: string | core.StringOut; } export class S3FileLocation extends core.Schema { @core.attr(String) public bucket?: string | core.StringOut; @core.attr(String) public key?: string | core.StringOut; } export interface DestinationFileLocationArgs extends core.SchemaArgs { efsFileLocation?: EfsFileLocation; s3FileLocation?: S3FileLocation; } export class DestinationFileLocation extends core.Schema { @core.attr(EfsFileLocation) public efsFileLocation?: EfsFileLocation; @core.attr(S3FileLocation) public s3FileLocation?: S3FileLocation; } export interface CopyStepDetailsArgs extends core.SchemaArgs { destinationFileLocation?: DestinationFileLocation; name?: string | core.StringOut; overwriteExisting?: string | core.StringOut; sourceFileLocation?: string | core.StringOut; } export class CopyStepDetails extends core.Schema { @core.attr(DestinationFileLocation) public destinationFileLocation?: DestinationFileLocation; @core.attr(String) public name?: string | core.StringOut; @core.attr(String) public overwriteExisting?: string | core.StringOut; @core.attr(String) public sourceFileLocation?: string | core.StringOut; } export interface CustomStepDetailsArgs extends core.SchemaArgs { name?: string | core.StringOut; sourceFileLocation?: string | core.StringOut; target?: string | core.StringOut; timeoutSeconds?: number | core.NumberOut; } export class CustomStepDetails extends core.Schema { @core.attr(String) public name?: string | core.StringOut; @core.attr(String) public sourceFileLocation?: string | core.StringOut; @core.attr(String) public target?: string | core.StringOut; @core.attr(Number) public timeoutSeconds?: number | core.NumberOut; } export interface DeleteStepDetailsArgs extends core.SchemaArgs { name?: string | core.StringOut; sourceFileLocation?: string | core.StringOut; } export class DeleteStepDetails extends core.Schema { @core.attr(String) public name?: string | core.StringOut; @core.attr(String) public sourceFileLocation?: string | core.StringOut; } export interface TagsArgs extends core.SchemaArgs { key: string | core.StringOut; value: string | core.StringOut; } export class Tags extends core.Schema { @core.attr(String) public key!: string | core.StringOut; @core.attr(String) public value!: string | core.StringOut; } export interface TagStepDetailsArgs extends core.SchemaArgs { name?: string | core.StringOut; sourceFileLocation?: string | core.StringOut; tags?: core.Array | core.ArrayOut; } export class TagStepDetails extends core.Schema { @core.attr(String) public name?: string | core.StringOut; @core.attr(String) public sourceFileLocation?: string | core.StringOut; @core.attr(Tags, { kind: "array" }) public tags?: core.Array | core.ArrayOut; } export interface StepsArgs extends core.SchemaArgs { copyStepDetails?: CopyStepDetails; customStepDetails?: CustomStepDetails; deleteStepDetails?: DeleteStepDetails; tagStepDetails?: TagStepDetails; type: string | core.StringOut; } export class Steps extends core.Schema { @core.attr(CopyStepDetails) public copyStepDetails?: CopyStepDetails; @core.attr(CustomStepDetails) public customStepDetails?: CustomStepDetails; @core.attr(DeleteStepDetails) public deleteStepDetails?: DeleteStepDetails; @core.attr(TagStepDetails) public tagStepDetails?: TagStepDetails; @core.attr(String) public type!: string | core.StringOut; } export interface OnExceptionStepsArgs extends core.SchemaArgs { copyStepDetails?: CopyStepDetails; customStepDetails?: CustomStepDetails; deleteStepDetails?: DeleteStepDetails; tagStepDetails?: TagStepDetails; type: string | core.StringOut; } export class OnExceptionSteps extends core.Schema { @core.attr(CopyStepDetails) public copyStepDetails?: CopyStepDetails; @core.attr(CustomStepDetails) public customStepDetails?: CustomStepDetails; @core.attr(DeleteStepDetails) public deleteStepDetails?: DeleteStepDetails; @core.attr(TagStepDetails) public tagStepDetails?: TagStepDetails; @core.attr(String) public type!: string | core.StringOut; } export interface WorkflowArgs extends core.ResourceArgs { /** * (Optional) A textual description for the workflow. */ description?: string | core.StringOut; /** * (Optional) Specifies the steps (actions) to take if errors are encountered during execution of the w * orkflow. See Workflow Steps below. */ onExceptionSteps?: | core.Array | core.ArrayOut; /** * (Required) Specifies the details for the steps that are in the specified workflow. See Workflow Step * s below. */ steps: core.Array | core.ArrayOut; /** * (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 Workflow extends core.Resource { /** * The Workflow ARN. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) A textual description for the workflow. */ @core.attr(String) public description?: string | core.StringOut; /** * The Workflow id. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Specifies the steps (actions) to take if errors are encountered during execution of the w * orkflow. See Workflow Steps below. */ @core.attr(OnExceptionSteps, { kind: "array" }) public onExceptionSteps?: | core.Array | core.ArrayOut; /** * (Required) Specifies the details for the steps that are in the specified workflow. See Workflow Step * s below. */ @core.attr(Steps, { kind: "array" }) public steps!: core.Array | core.ArrayOut; /** * (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?: WorkflowArgs) { super(name, "aws_transfer_workflow", args); } public override getNamespace(): string { return "aws_transfer"; } }