> **Experimental**
>
> `@aws-cdk/aws-imagebuilder-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# WorkflowProps

Properties for creating a Workflow resource.

Extends: WorkflowProps
Used as props by: Workflow

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/workflow.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0-alpha.0/packages/@aws-cdk/aws-imagebuilder-alpha/lib/workflow.ts#L74)

## Example

```ts
const workflow = new imagebuilder.Workflow(this, 'EncryptedWorkflow', {
  workflowType: imagebuilder.WorkflowType.BUILD,
  kmsKey: new kms.Key(this, 'WorkflowKey'),
  data: imagebuilder.WorkflowData.fromJsonObject({
    schemaVersion: imagebuilder.WorkflowSchemaVersion.V1_0,
    steps: [
      {
        name: 'LaunchBuildInstance',
        action: imagebuilder.WorkflowAction.LAUNCH_INSTANCE,
        onFailure: imagebuilder.WorkflowOnFailure.ABORT,
        inputs: {
          waitFor: 'ssmAgent',
        },
      },
      {
        name: 'CreateImage',
        action: imagebuilder.WorkflowAction.CREATE_IMAGE,
        onFailure: imagebuilder.WorkflowOnFailure.ABORT,
        inputs: {
          'instanceId': 'i-123',
        },
      },
      {
        name: 'TerminateInstance',
        action: imagebuilder.WorkflowAction.TERMINATE_INSTANCE,
        onFailure: imagebuilder.WorkflowOnFailure.CONTINUE,
        inputs: {
          'instanceId': 'i-123',
        },
      },
    ],
    outputs: [
      {
        name: 'ImageId',
        value: '$.stepOutputs.CreateImage.imageId',
      },
    ],
  }),
});
```

## Properties

- `changeDescription`: string = None — The change description of the workflow.

  Describes what change has been made in this version of the workflow, or
  what makes this version different from other versions.

- `data`: [WorkflowData](/cdk/api/v2/docs/@aws-cdk_aws-imagebuilder-alpha.WorkflowData.html) (required) — The workflow document content that defines the image creation process.

- `description`: string = None — The description of the workflow.

- `kmsKey`: [IKey](/cdk/api/v2/docs/aws-cdk-lib.aws_kms.IKey.html) — The KMS key used to encrypt this workflow.

  **Default:** an Image Builder owned key will be used to encrypt the workflow.

- `tags`: { [key: string]: string } = None — The tags to apply to the workflow.

- `workflowName`: string — The name of the workflow.

  **Default:** a name is generated

- `workflowType`: [WorkflowType](/cdk/api/v2/docs/@aws-cdk_aws-imagebuilder-alpha.WorkflowType.html) (required) — The phase in the image build process for which the workflow resource is responsible.

- `workflowVersion`: string = 1.0.0 — The version of the workflow.
