UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

262 lines (261 loc) • 8.73 kB
import * as pulumi from "@pulumi/pulumi"; /** * Resource for managing an AWS EC2 Image Builder Workflow. * * > Image Builder manages the workflows for the distribution stage. Therefore, using the DISTRIBUTION workflow type results in an error. * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.imagebuilder.Workflow("example", { * name: "example", * version: "1.0.0", * type: "TEST", * data: `name: example * description: Workflow to test an image * schemaVersion: 1.0 * * parameters: * - name: waitForActionAtEnd * type: boolean * * steps: * - name: LaunchTestInstance * action: LaunchInstance * onFailure: Abort * inputs: * waitFor: \\"ssmAgent\\" * * - name: TerminateTestInstance * action: TerminateInstance * onFailure: Continue * inputs: * instanceId.: \\".stepOutputs.LaunchTestInstance.instanceId\\" * * - name: WaitForActionAtEnd * action: WaitForAction * if: * booleanEquals: true * value: \\".parameters.waitForActionAtEnd\\" * `, * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * - `arn` (String) Amazon Resource Name (ARN) of the Image Builder workflow. * * Using `pulumi import`, import EC2 Image Builder Workflow using the `arn`. For example: * * console * * % pulumi import aws_imagebuilder_workflow.example arn:aws:imagebuilder:us-east-1:aws:workflow/test/example/1.0.1/1 * * Certain resource arguments, such as `uri`, cannot be read via the API and imported into Terraform. Terraform will display a difference for these arguments the first run after import if declared in the Terraform configuration for an imported resource. */ export declare class Workflow extends pulumi.CustomResource { /** * Get an existing Workflow resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: WorkflowState, opts?: pulumi.CustomResourceOptions): Workflow; /** * Returns true if the given object is an instance of Workflow. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Workflow; /** * Amazon Resource Name (ARN) of the workflow. */ readonly arn: pulumi.Output<string>; /** * Change description of the workflow. */ readonly changeDescription: pulumi.Output<string | undefined>; /** * Inline YAML string with data of the workflow. Exactly one of `data` and `uri` can be specified. */ readonly data: pulumi.Output<string>; /** * Date the workflow was created. */ readonly dateCreated: pulumi.Output<string>; /** * Description of the workflow. */ readonly description: pulumi.Output<string | undefined>; /** * Amazon Resource Name (ARN) of the Key Management Service (KMS) Key used to encrypt the workflow. */ readonly kmsKeyId: pulumi.Output<string | undefined>; /** * Name of the workflow. */ readonly name: pulumi.Output<string>; /** * Owner of the workflow. */ readonly owner: pulumi.Output<string>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output<string>; /** * Key-value map of resource tags for the workflow. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * Type of the workflow. Valid values: `BUILD`, `TEST`. */ readonly type: pulumi.Output<string>; /** * S3 URI with data of the workflow. Exactly one of `data` and `uri` can be specified. */ readonly uri: pulumi.Output<string | undefined>; /** * Version of the workflow. * * The following arguments are optional: */ readonly version: pulumi.Output<string>; /** * Create a Workflow resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: WorkflowArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Workflow resources. */ export interface WorkflowState { /** * Amazon Resource Name (ARN) of the workflow. */ arn?: pulumi.Input<string>; /** * Change description of the workflow. */ changeDescription?: pulumi.Input<string>; /** * Inline YAML string with data of the workflow. Exactly one of `data` and `uri` can be specified. */ data?: pulumi.Input<string>; /** * Date the workflow was created. */ dateCreated?: pulumi.Input<string>; /** * Description of the workflow. */ description?: pulumi.Input<string>; /** * Amazon Resource Name (ARN) of the Key Management Service (KMS) Key used to encrypt the workflow. */ kmsKeyId?: pulumi.Input<string>; /** * Name of the workflow. */ name?: pulumi.Input<string>; /** * Owner of the workflow. */ owner?: pulumi.Input<string>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input<string>; /** * Key-value map of resource tags for the workflow. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Type of the workflow. Valid values: `BUILD`, `TEST`. */ type?: pulumi.Input<string>; /** * S3 URI with data of the workflow. Exactly one of `data` and `uri` can be specified. */ uri?: pulumi.Input<string>; /** * Version of the workflow. * * The following arguments are optional: */ version?: pulumi.Input<string>; } /** * The set of arguments for constructing a Workflow resource. */ export interface WorkflowArgs { /** * Change description of the workflow. */ changeDescription?: pulumi.Input<string>; /** * Inline YAML string with data of the workflow. Exactly one of `data` and `uri` can be specified. */ data?: pulumi.Input<string>; /** * Description of the workflow. */ description?: pulumi.Input<string>; /** * Amazon Resource Name (ARN) of the Key Management Service (KMS) Key used to encrypt the workflow. */ kmsKeyId?: pulumi.Input<string>; /** * Name of the workflow. */ name?: pulumi.Input<string>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input<string>; /** * Key-value map of resource tags for the workflow. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Type of the workflow. Valid values: `BUILD`, `TEST`. */ type: pulumi.Input<string>; /** * S3 URI with data of the workflow. Exactly one of `data` and `uri` can be specified. */ uri?: pulumi.Input<string>; /** * Version of the workflow. * * The following arguments are optional: */ version: pulumi.Input<string>; }