# API Reference <a name="API Reference" id="api-reference"></a>

## Constructs <a name="Constructs" id="Constructs"></a>

### ApplicationsStep <a name="ApplicationsStep" id="@cdklabs/cdk-ssm-documents.ApplicationsStep"></a>

CommandStep implemenation for aws:applications https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-applications.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.Initializer"></a>

```typescript
import { ApplicationsStep } from '@cdklabs/cdk-ssm-documents'

new ApplicationsStep(scope: Construct, id: string, props: ApplicationsStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps">ApplicationsStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps">ApplicationsStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.isConstruct"></a>

```typescript
import { ApplicationsStep } from '@cdklabs/cdk-ssm-documents'

ApplicationsStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.installAction">installAction</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IInstallUninstallRepairVariable">IInstallUninstallRepairVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.source">source</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.parameters">parameters</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep.property.sourceHash">sourceHash</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `installAction`<sup>Required</sup> <a name="installAction" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.installAction"></a>

```typescript
public readonly installAction: IInstallUninstallRepairVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IInstallUninstallRepairVariable">IInstallUninstallRepairVariable</a>

---

##### `source`<sup>Required</sup> <a name="source" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.source"></a>

```typescript
public readonly source: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `parameters`<sup>Optional</sup> <a name="parameters" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.parameters"></a>

```typescript
public readonly parameters: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `sourceHash`<sup>Optional</sup> <a name="sourceHash" id="@cdklabs/cdk-ssm-documents.ApplicationsStep.property.sourceHash"></a>

```typescript
public readonly sourceHash: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### ApproveStep <a name="ApproveStep" id="@cdklabs/cdk-ssm-documents.ApproveStep"></a>

AutomationStep implementation for aws:approve https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-approve.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ApproveStep.Initializer"></a>

```typescript
import { ApproveStep } from '@cdklabs/cdk-ssm-documents'

new ApproveStep(scope: Construct, id: string, props: ApproveStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps">ApproveStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.ApproveStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.ApproveStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ApproveStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps">ApproveStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.ApproveStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.ApproveStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.ApproveStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.ApproveStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.ApproveStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.ApproveStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.ApproveStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.ApproveStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.ApproveStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.ApproveStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.ApproveStep.isConstruct"></a>

```typescript
import { ApproveStep } from '@cdklabs/cdk-ssm-documents'

ApproveStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.ApproveStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.approvers">approvers</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.message">message</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.minRequiredApprovals">minRequiredApprovals</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.notificationArn">notificationArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `approvers`<sup>Required</sup> <a name="approvers" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.approvers"></a>

```typescript
public readonly approvers: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---

##### `message`<sup>Optional</sup> <a name="message" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.message"></a>

```typescript
public readonly message: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `minRequiredApprovals`<sup>Optional</sup> <a name="minRequiredApprovals" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.minRequiredApprovals"></a>

```typescript
public readonly minRequiredApprovals: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

---

##### `notificationArn`<sup>Optional</sup> <a name="notificationArn" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.notificationArn"></a>

```typescript
public readonly notificationArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.ApproveStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### AssertAwsResourceStep <a name="AssertAwsResourceStep" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep"></a>

AutomationStep implementation of aws:assertAwsResourceProperty.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-assertAwsResourceProperty.html

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.Initializer"></a>

```typescript
import { AssertAwsResourceStep } from '@cdklabs/cdk-ssm-documents'

new AssertAwsResourceStep(scope: Construct, id: string, props: AssertAwsResourceStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps">AssertAwsResourceStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps">AssertAwsResourceStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.listInputs">listInputs</a></code> | Derives the inputs by parsing the apiParams to find matches for inputs in double circle braces ("{{ INPUT }}"). |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.listOutputs">listOutputs</a></code> | There are no outputs for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Derives the inputs by parsing the apiParams to find matches for inputs in double circle braces ("{{ INPUT }}").

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

There are no outputs for this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.isConstruct"></a>

```typescript
import { AssertAwsResourceStep } from '@cdklabs/cdk-ssm-documents'

AssertAwsResourceStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.apiParams">apiParams</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DictFormat">DictFormat</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.javaScriptApi">javaScriptApi</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.outputs">outputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.pascalCaseApi">pascalCaseApi</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.service">service</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.desiredValues">desiredValues</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.selector">selector</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `apiParams`<sup>Required</sup> <a name="apiParams" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.apiParams"></a>

```typescript
public readonly apiParams: DictFormat;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DictFormat">DictFormat</a>

---

##### `javaScriptApi`<sup>Required</sup> <a name="javaScriptApi" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.javaScriptApi"></a>

```typescript
public readonly javaScriptApi: string;
```

- *Type:* string

---

##### `outputs`<sup>Required</sup> <a name="outputs" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.outputs"></a>

```typescript
public readonly outputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `pascalCaseApi`<sup>Required</sup> <a name="pascalCaseApi" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.pascalCaseApi"></a>

```typescript
public readonly pascalCaseApi: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.service"></a>

```typescript
public readonly service: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `desiredValues`<sup>Required</sup> <a name="desiredValues" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.desiredValues"></a>

```typescript
public readonly desiredValues: string[];
```

- *Type:* string[]

---

##### `selector`<sup>Required</sup> <a name="selector" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.selector"></a>

```typescript
public readonly selector: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### AutomationDocument <a name="AutomationDocument" id="@cdklabs/cdk-ssm-documents.AutomationDocument"></a>

The AutomationDocument used to both build the SSM Automation yaml/json and to use in simulation.

The AutomationDocument will delegate execution responsibility to the AutomationSteps that it receives.
The SsmDocument parent class contains methods to runSimulation() as well as print().

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AutomationDocument.Initializer"></a>

```typescript
import { AutomationDocument } from '@cdklabs/cdk-ssm-documents'

new AutomationDocument(scope: Construct, id: string, props: AutomationDocumentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps">AutomationDocumentProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.AutomationDocument.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.AutomationDocument.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.AutomationDocument.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps">AutomationDocumentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.documentType">documentType</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.print">print</a></code> | Synthesize before calling this function! You can use this to Synthesize: cdk.SynthUtils.synthesize(stack); |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.addStep">addStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.collectedSteps">collectedSteps</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.AutomationDocument.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.AutomationDocument.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.AutomationDocument.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `documentType` <a name="documentType" id="@cdklabs/cdk-ssm-documents.AutomationDocument.documentType"></a>

```typescript
public documentType(): string
```

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.AutomationDocument.print"></a>

```typescript
public print(): string
```

Synthesize before calling this function! You can use this to Synthesize: cdk.SynthUtils.synthesize(stack);

Converts the objects define in the SSM Document (including all of the steps) to an SSM document string.
The format is dependency on the documentFormat property provided to the class.
The yaml can be used as is and will behave (or at least should behave) as was simulated in the runSimulation().

##### `addStep` <a name="addStep" id="@cdklabs/cdk-ssm-documents.AutomationDocument.addStep"></a>

```typescript
public addStep(component: IAutomationComponent): void
```

###### `component`<sup>Required</sup> <a name="component" id="@cdklabs/cdk-ssm-documents.AutomationDocument.addStep.parameter.component"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAutomationComponent">IAutomationComponent</a>

---

##### `collectedSteps` <a name="collectedSteps" id="@cdklabs/cdk-ssm-documents.AutomationDocument.collectedSteps"></a>

```typescript
public collectedSteps(): AutomationStep[]
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.AutomationDocument.isConstruct"></a>

```typescript
import { AutomationDocument } from '@cdklabs/cdk-ssm-documents'

AutomationDocument.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.AutomationDocument.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.property.cfnDocument">cfnDocument</a></code> | <code>aws-cdk-lib.aws_ssm.CfnDocument</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.property.docInputs">docInputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.property.docOutputs">docOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.property.documentName">documentName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.property.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps">SsmDocumentProps</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.property.assumeRole">assumeRole</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.property.header">header</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.property.builder">builder</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument.property.docVariables">docVariables</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.AutomationDocument.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cfnDocument`<sup>Required</sup> <a name="cfnDocument" id="@cdklabs/cdk-ssm-documents.AutomationDocument.property.cfnDocument"></a>

```typescript
public readonly cfnDocument: CfnDocument;
```

- *Type:* aws-cdk-lib.aws_ssm.CfnDocument

---

##### `description`<sup>Required</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.AutomationDocument.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `docInputs`<sup>Required</sup> <a name="docInputs" id="@cdklabs/cdk-ssm-documents.AutomationDocument.property.docInputs"></a>

```typescript
public readonly docInputs: Input[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]

---

##### `docOutputs`<sup>Required</sup> <a name="docOutputs" id="@cdklabs/cdk-ssm-documents.AutomationDocument.property.docOutputs"></a>

```typescript
public readonly docOutputs: DocumentOutput[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]

---

##### `documentName`<sup>Required</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.AutomationDocument.property.documentName"></a>

```typescript
public readonly documentName: string;
```

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.AutomationDocument.property.props"></a>

```typescript
public readonly props: SsmDocumentProps;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps">SsmDocumentProps</a>

---

##### `assumeRole`<sup>Optional</sup> <a name="assumeRole" id="@cdklabs/cdk-ssm-documents.AutomationDocument.property.assumeRole"></a>

```typescript
public readonly assumeRole: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `header`<sup>Optional</sup> <a name="header" id="@cdklabs/cdk-ssm-documents.AutomationDocument.property.header"></a>

```typescript
public readonly header: string;
```

- *Type:* string

---

##### `builder`<sup>Required</sup> <a name="builder" id="@cdklabs/cdk-ssm-documents.AutomationDocument.property.builder"></a>

```typescript
public readonly builder: AutomationDocumentBuilder;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `docVariables`<sup>Optional</sup> <a name="docVariables" id="@cdklabs/cdk-ssm-documents.AutomationDocument.property.docVariables"></a>

```typescript
public readonly docVariables: Input[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]

---


### AutomationStep <a name="AutomationStep" id="@cdklabs/cdk-ssm-documents.AutomationStep"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IAutomationComponent">IAutomationComponent</a>

Parent class for AutomationSteps.

These steps are using in an AutomationDocument.
You can instantiate steps using the AutomationBuilder for convenience.
You can use these steps to simulate their execution (mimics the SSM run) AND to build their yaml/json declaration.
Control flow of the subsequent step is determined by the currently executing step.
The flow of the execution therefore follows a chain-of-responsibility pattern.
The inputs received into a step AND the outputs of previous steps are merged to form inputs of subsequent steps.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AutomationStep.Initializer"></a>

```typescript
import { AutomationStep } from '@cdklabs/cdk-ssm-documents'

new AutomationStep(scope: Construct, id: string, props: AutomationStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps">AutomationStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.AutomationStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.AutomationStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.AutomationStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps">AutomationStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.AutomationStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.AutomationStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.AutomationStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.AutomationStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.AutomationStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.AutomationStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.AutomationStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.AutomationStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.AutomationStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.AutomationStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.AutomationStep.isConstruct"></a>

```typescript
import { AutomationStep } from '@cdklabs/cdk-ssm-documents'

AutomationStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.AutomationStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.AutomationStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### AwsApiStep <a name="AwsApiStep" id="@cdklabs/cdk-ssm-documents.AwsApiStep"></a>

AutomationStep implementation of aws:executeAwsApi.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AwsApiStep.Initializer"></a>

```typescript
import { AwsApiStep } from '@cdklabs/cdk-ssm-documents'

new AwsApiStep(scope: Construct, id: string, props: AwsApiStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps">AwsApiStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.AwsApiStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.AwsApiStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.AwsApiStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps">AwsApiStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.listInputs">listInputs</a></code> | Derives the inputs by parsing the apiParams to find matches for inputs in double circle braces ("{{ INPUT }}"). |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.AwsApiStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.AwsApiStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.AwsApiStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.AwsApiStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Derives the inputs by parsing the apiParams to find matches for inputs in double circle braces ("{{ INPUT }}").

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.AwsApiStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.AwsApiStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.AwsApiStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.AwsApiStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.AwsApiStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.AwsApiStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.AwsApiStep.isConstruct"></a>

```typescript
import { AwsApiStep } from '@cdklabs/cdk-ssm-documents'

AwsApiStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.AwsApiStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.apiParams">apiParams</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DictFormat">DictFormat</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.javaScriptApi">javaScriptApi</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.outputs">outputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.pascalCaseApi">pascalCaseApi</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.service">service</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `apiParams`<sup>Required</sup> <a name="apiParams" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.apiParams"></a>

```typescript
public readonly apiParams: DictFormat;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DictFormat">DictFormat</a>

---

##### `javaScriptApi`<sup>Required</sup> <a name="javaScriptApi" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.javaScriptApi"></a>

```typescript
public readonly javaScriptApi: string;
```

- *Type:* string

---

##### `outputs`<sup>Required</sup> <a name="outputs" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.outputs"></a>

```typescript
public readonly outputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `pascalCaseApi`<sup>Required</sup> <a name="pascalCaseApi" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.pascalCaseApi"></a>

```typescript
public readonly pascalCaseApi: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.service"></a>

```typescript
public readonly service: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.AwsApiStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### BranchStep <a name="BranchStep" id="@cdklabs/cdk-ssm-documents.BranchStep"></a>

AutomationStep implementation of aws:branch https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-branch.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.BranchStep.Initializer"></a>

```typescript
import { BranchStep } from '@cdklabs/cdk-ssm-documents'

new BranchStep(scope: Construct, id: string, props: BranchStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps">BranchStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.BranchStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.BranchStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.BranchStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.BranchStepProps">BranchStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.listOutputs">listOutputs</a></code> | There is no output from branch steps. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.BranchStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.BranchStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.BranchStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.BranchStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.BranchStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

There is no output from branch steps.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.BranchStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.BranchStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.BranchStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.BranchStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.BranchStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.BranchStep.isConstruct"></a>

```typescript
import { BranchStep } from '@cdklabs/cdk-ssm-documents'

BranchStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.BranchStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.choices">choices</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Choice">Choice</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.defaultStepName">defaultStepName</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.BranchStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.BranchStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.BranchStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.BranchStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.BranchStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.BranchStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.BranchStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.BranchStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.BranchStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.BranchStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.BranchStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.BranchStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.BranchStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.BranchStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.BranchStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `choices`<sup>Required</sup> <a name="choices" id="@cdklabs/cdk-ssm-documents.BranchStep.property.choices"></a>

```typescript
public readonly choices: Choice[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Choice">Choice</a>[]

---

##### `defaultStepName`<sup>Optional</sup> <a name="defaultStepName" id="@cdklabs/cdk-ssm-documents.BranchStep.property.defaultStepName"></a>

```typescript
public readonly defaultStepName: string;
```

- *Type:* string

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.BranchStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.BranchStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### ChangeInstanceStateStep <a name="ChangeInstanceStateStep" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep"></a>

AutomationStep implemenation for aws:changeInstanceState https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-changestate.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.Initializer"></a>

```typescript
import { ChangeInstanceStateStep } from '@cdklabs/cdk-ssm-documents'

new ChangeInstanceStateStep(scope: Construct, id: string, props: ChangeInstanceStateStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps">ChangeInstanceStateStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps">ChangeInstanceStateStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.listOutputs">listOutputs</a></code> | This step has no outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

This step has no outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.isConstruct"></a>

```typescript
import { ChangeInstanceStateStep } from '@cdklabs/cdk-ssm-documents'

ChangeInstanceStateStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.desiredState">desiredState</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IDesiredStateVariable">IDesiredStateVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.instanceIds">instanceIds</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.additionalInfo">additionalInfo</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.checkStateOnly">checkStateOnly</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.force">force</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `desiredState`<sup>Required</sup> <a name="desiredState" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.desiredState"></a>

```typescript
public readonly desiredState: IDesiredStateVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IDesiredStateVariable">IDesiredStateVariable</a>

---

##### `instanceIds`<sup>Required</sup> <a name="instanceIds" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.instanceIds"></a>

```typescript
public readonly instanceIds: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---

##### `additionalInfo`<sup>Optional</sup> <a name="additionalInfo" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.additionalInfo"></a>

```typescript
public readonly additionalInfo: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `checkStateOnly`<sup>Optional</sup> <a name="checkStateOnly" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.checkStateOnly"></a>

```typescript
public readonly checkStateOnly: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

---

##### `force`<sup>Optional</sup> <a name="force" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.force"></a>

```typescript
public readonly force: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### CommandDocument <a name="CommandDocument" id="@cdklabs/cdk-ssm-documents.CommandDocument"></a>

https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html The CommandDocument will delegate execution responsibility to the CammandSteps that it receives. The SsmDocument parent class contains methods to runSimulation() as well as print().

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CommandDocument.Initializer"></a>

```typescript
import { CommandDocument } from '@cdklabs/cdk-ssm-documents'

new CommandDocument(scope: Construct, id: string, props: CommandDocumentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps">CommandDocumentProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.CommandDocument.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.CommandDocument.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CommandDocument.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps">CommandDocumentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.documentType">documentType</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.print">print</a></code> | Synthesize before calling this function! You can use this to Synthesize: cdk.SynthUtils.synthesize(stack); |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.addStep">addStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.collectedSteps">collectedSteps</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.CommandDocument.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.CommandDocument.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.CommandDocument.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `documentType` <a name="documentType" id="@cdklabs/cdk-ssm-documents.CommandDocument.documentType"></a>

```typescript
public documentType(): string
```

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.CommandDocument.print"></a>

```typescript
public print(): string
```

Synthesize before calling this function! You can use this to Synthesize: cdk.SynthUtils.synthesize(stack);

Converts the objects define in the SSM Document (including all of the steps) to an SSM document string.
The format is dependency on the documentFormat property provided to the class.
The yaml can be used as is and will behave (or at least should behave) as was simulated in the runSimulation().

##### `addStep` <a name="addStep" id="@cdklabs/cdk-ssm-documents.CommandDocument.addStep"></a>

```typescript
public addStep(component: ICommandComponent): void
```

###### `component`<sup>Required</sup> <a name="component" id="@cdklabs/cdk-ssm-documents.CommandDocument.addStep.parameter.component"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ICommandComponent">ICommandComponent</a>

---

##### `collectedSteps` <a name="collectedSteps" id="@cdklabs/cdk-ssm-documents.CommandDocument.collectedSteps"></a>

```typescript
public collectedSteps(): CommandStep[]
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.CommandDocument.isConstruct"></a>

```typescript
import { CommandDocument } from '@cdklabs/cdk-ssm-documents'

CommandDocument.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.CommandDocument.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.property.cfnDocument">cfnDocument</a></code> | <code>aws-cdk-lib.aws_ssm.CfnDocument</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.property.docInputs">docInputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.property.docOutputs">docOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.property.documentName">documentName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.property.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps">SsmDocumentProps</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.property.assumeRole">assumeRole</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.property.header">header</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument.property.builder">builder</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.CommandDocument.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cfnDocument`<sup>Required</sup> <a name="cfnDocument" id="@cdklabs/cdk-ssm-documents.CommandDocument.property.cfnDocument"></a>

```typescript
public readonly cfnDocument: CfnDocument;
```

- *Type:* aws-cdk-lib.aws_ssm.CfnDocument

---

##### `description`<sup>Required</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CommandDocument.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `docInputs`<sup>Required</sup> <a name="docInputs" id="@cdklabs/cdk-ssm-documents.CommandDocument.property.docInputs"></a>

```typescript
public readonly docInputs: Input[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]

---

##### `docOutputs`<sup>Required</sup> <a name="docOutputs" id="@cdklabs/cdk-ssm-documents.CommandDocument.property.docOutputs"></a>

```typescript
public readonly docOutputs: DocumentOutput[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]

---

##### `documentName`<sup>Required</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.CommandDocument.property.documentName"></a>

```typescript
public readonly documentName: string;
```

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CommandDocument.property.props"></a>

```typescript
public readonly props: SsmDocumentProps;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps">SsmDocumentProps</a>

---

##### `assumeRole`<sup>Optional</sup> <a name="assumeRole" id="@cdklabs/cdk-ssm-documents.CommandDocument.property.assumeRole"></a>

```typescript
public readonly assumeRole: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `header`<sup>Optional</sup> <a name="header" id="@cdklabs/cdk-ssm-documents.CommandDocument.property.header"></a>

```typescript
public readonly header: string;
```

- *Type:* string

---

##### `builder`<sup>Required</sup> <a name="builder" id="@cdklabs/cdk-ssm-documents.CommandDocument.property.builder"></a>

```typescript
public readonly builder: CommandDocumentBuilder;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---


### CommandStep <a name="CommandStep" id="@cdklabs/cdk-ssm-documents.CommandStep"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.ICommandComponent">ICommandComponent</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CommandStep.Initializer"></a>

```typescript
import { CommandStep } from '@cdklabs/cdk-ssm-documents'

new CommandStep(scope: Construct, id: string, props: CommandStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepProps">CommandStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.CommandStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.CommandStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CommandStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStepProps">CommandStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.CommandStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.CommandStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.CommandStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.CommandStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.CommandStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.CommandStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.CommandStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.CommandStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.CommandStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.CommandStep.isConstruct"></a>

```typescript
import { CommandStep } from '@cdklabs/cdk-ssm-documents'

CommandStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.CommandStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.CommandStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.CommandStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.CommandStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.CommandStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.CommandStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CommandStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.CommandStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.CommandStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.CommandStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.CommandStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.CommandStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.CommandStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.CommandStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.CommandStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---


### CompositeAutomationStep <a name="CompositeAutomationStep" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IAutomationComponent">IAutomationComponent</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep.Initializer"></a>

```typescript
import { CompositeAutomationStep } from '@cdklabs/cdk-ssm-documents'

new CompositeAutomationStep(scope: Construct, id: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeAutomationStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeAutomationStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep.Initializer.parameter.id"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeAutomationStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeAutomationStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeAutomationStep.addToDocument">addToDocument</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeAutomationStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep.isConstruct"></a>

```typescript
import { CompositeAutomationStep } from '@cdklabs/cdk-ssm-documents'

CompositeAutomationStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeAutomationStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.CompositeAutomationStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---


### CompositeCommandStep <a name="CompositeCommandStep" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.ICommandComponent">ICommandComponent</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep.Initializer"></a>

```typescript
import { CompositeCommandStep } from '@cdklabs/cdk-ssm-documents'

new CompositeCommandStep(scope: Construct, id: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeCommandStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeCommandStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep.Initializer.parameter.id"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeCommandStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeCommandStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeCommandStep.addToDocument">addToDocument</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeCommandStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep.isConstruct"></a>

```typescript
import { CompositeCommandStep } from '@cdklabs/cdk-ssm-documents'

CompositeCommandStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CompositeCommandStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.CompositeCommandStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---


### ConfigureDockerStep <a name="ConfigureDockerStep" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep"></a>

AutomationStep implemenation for aws:UpdateAgent https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-configuredocker.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.Initializer"></a>

```typescript
import { ConfigureDockerStep } from '@cdklabs/cdk-ssm-documents'

new ConfigureDockerStep(scope: Construct, id: string, props: ConfigureDockerStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps">ConfigureDockerStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps">ConfigureDockerStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.listInputs">listInputs</a></code> | Inputs required for this command include agentName allowDowngrade source and targetVersion if version other than latest is desired. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Inputs required for this command include agentName allowDowngrade source and targetVersion if version other than latest is desired.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.isConstruct"></a>

```typescript
import { ConfigureDockerStep } from '@cdklabs/cdk-ssm-documents'

ConfigureDockerStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.installAction">installAction</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `installAction`<sup>Required</sup> <a name="installAction" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStep.property.installAction"></a>

```typescript
public readonly installAction: IActionVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a>

---


### ConfigurePackageStep <a name="ConfigurePackageStep" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep"></a>

CommandStep implemenation for aws:configurePackage https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-configurepackage.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.Initializer"></a>

```typescript
import { ConfigurePackageStep } from '@cdklabs/cdk-ssm-documents'

new ConfigurePackageStep(scope: Construct, id: string, props: ConfigurePackageStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps">ConfigurePackageStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps">ConfigurePackageStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.listInputs">listInputs</a></code> | Inputs required for this command include ... |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Inputs required for this command include ...

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.isConstruct"></a>

```typescript
import { ConfigurePackageStep } from '@cdklabs/cdk-ssm-documents'

ConfigurePackageStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.packageAction">packageAction</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.packageName">packageName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IPackageNameVariable">IPackageNameVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.additionalArguments">additionalArguments</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.installationType">installationType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IInstallationTypeVariable">IInstallationTypeVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.version">version</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `packageAction`<sup>Required</sup> <a name="packageAction" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.packageAction"></a>

```typescript
public readonly packageAction: IActionVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a>

---

##### `packageName`<sup>Required</sup> <a name="packageName" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.packageName"></a>

```typescript
public readonly packageName: IPackageNameVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IPackageNameVariable">IPackageNameVariable</a>

---

##### `additionalArguments`<sup>Optional</sup> <a name="additionalArguments" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.additionalArguments"></a>

```typescript
public readonly additionalArguments: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

---

##### `installationType`<sup>Optional</sup> <a name="installationType" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.installationType"></a>

```typescript
public readonly installationType: IInstallationTypeVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IInstallationTypeVariable">IInstallationTypeVariable</a>

---

##### `version`<sup>Optional</sup> <a name="version" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStep.property.version"></a>

```typescript
public readonly version: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### CopyImageStep <a name="CopyImageStep" id="@cdklabs/cdk-ssm-documents.CopyImageStep"></a>

AutomationStep implemenation for aws:copyImage https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-copyimage.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CopyImageStep.Initializer"></a>

```typescript
import { CopyImageStep } from '@cdklabs/cdk-ssm-documents'

new CopyImageStep(scope: Construct, id: string, props: CopyImageStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps">CopyImageStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.CopyImageStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.CopyImageStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CopyImageStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps">CopyImageStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.CopyImageStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.CopyImageStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.CopyImageStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.CopyImageStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.CopyImageStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.CopyImageStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.CopyImageStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.CopyImageStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.CopyImageStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.CopyImageStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.CopyImageStep.isConstruct"></a>

```typescript
import { CopyImageStep } from '@cdklabs/cdk-ssm-documents'

CopyImageStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.CopyImageStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.imageName">imageName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.sourceImageId">sourceImageId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.sourceRegion">sourceRegion</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.clientToken">clientToken</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.encrypted">encrypted</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.imageDescription">imageDescription</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.kmsKeyId">kmsKeyId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `imageName`<sup>Required</sup> <a name="imageName" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.imageName"></a>

```typescript
public readonly imageName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `sourceImageId`<sup>Required</sup> <a name="sourceImageId" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.sourceImageId"></a>

```typescript
public readonly sourceImageId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `sourceRegion`<sup>Required</sup> <a name="sourceRegion" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.sourceRegion"></a>

```typescript
public readonly sourceRegion: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `clientToken`<sup>Optional</sup> <a name="clientToken" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.clientToken"></a>

```typescript
public readonly clientToken: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `encrypted`<sup>Optional</sup> <a name="encrypted" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.encrypted"></a>

```typescript
public readonly encrypted: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

---

##### `imageDescription`<sup>Optional</sup> <a name="imageDescription" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.imageDescription"></a>

```typescript
public readonly imageDescription: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `kmsKeyId`<sup>Optional</sup> <a name="kmsKeyId" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.kmsKeyId"></a>

```typescript
public readonly kmsKeyId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.CopyImageStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### CreateImageStep <a name="CreateImageStep" id="@cdklabs/cdk-ssm-documents.CreateImageStep"></a>

AutomationStep implemenation for aws:createImage https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-create.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CreateImageStep.Initializer"></a>

```typescript
import { CreateImageStep } from '@cdklabs/cdk-ssm-documents'

new CreateImageStep(scope: Construct, id: string, props: CreateImageStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps">CreateImageStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.CreateImageStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.CreateImageStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CreateImageStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps">CreateImageStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.CreateImageStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.CreateImageStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.CreateImageStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.CreateImageStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.CreateImageStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.CreateImageStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.CreateImageStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.CreateImageStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.CreateImageStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.CreateImageStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.CreateImageStep.isConstruct"></a>

```typescript
import { CreateImageStep } from '@cdklabs/cdk-ssm-documents'

CreateImageStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.CreateImageStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.imageName">imageName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.instanceId">instanceId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.blockDeviceMappings">blockDeviceMappings</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.imageDescription">imageDescription</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.noReboot">noReboot</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `imageName`<sup>Required</sup> <a name="imageName" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.imageName"></a>

```typescript
public readonly imageName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `instanceId`<sup>Required</sup> <a name="instanceId" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.instanceId"></a>

```typescript
public readonly instanceId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `blockDeviceMappings`<sup>Optional</sup> <a name="blockDeviceMappings" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.blockDeviceMappings"></a>

```typescript
public readonly blockDeviceMappings: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

---

##### `imageDescription`<sup>Optional</sup> <a name="imageDescription" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.imageDescription"></a>

```typescript
public readonly imageDescription: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `noReboot`<sup>Optional</sup> <a name="noReboot" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.noReboot"></a>

```typescript
public readonly noReboot: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.CreateImageStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### CreateStackStep <a name="CreateStackStep" id="@cdklabs/cdk-ssm-documents.CreateStackStep"></a>

AutomationStep implementation for aws:createStack https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-createstack.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CreateStackStep.Initializer"></a>

```typescript
import { CreateStackStep } from '@cdklabs/cdk-ssm-documents'

new CreateStackStep(scope: Construct, id: string, props: CreateStackStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps">CreateStackStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.CreateStackStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.CreateStackStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CreateStackStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps">CreateStackStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.CreateStackStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.CreateStackStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.CreateStackStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.CreateStackStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.CreateStackStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.CreateStackStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.CreateStackStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.CreateStackStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.CreateStackStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.CreateStackStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.CreateStackStep.isConstruct"></a>

```typescript
import { CreateStackStep } from '@cdklabs/cdk-ssm-documents'

CreateStackStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.CreateStackStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.stackName">stackName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.capabilities">capabilities</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.clientRequestToken">clientRequestToken</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.notificationARNs">notificationARNs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.onStackFailure">onStackFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IOnFailureVariable">IOnFailureVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.parameters">parameters</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.resourceTypes">resourceTypes</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.roleArn">roleArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.stackPolicyBody">stackPolicyBody</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.stackPolicyUrl">stackPolicyUrl</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.tags">tags</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.templateBody">templateBody</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.templateUrl">templateUrl</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.timeoutInMinutes">timeoutInMinutes</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `stackName`<sup>Required</sup> <a name="stackName" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.stackName"></a>

```typescript
public readonly stackName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `capabilities`<sup>Optional</sup> <a name="capabilities" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.capabilities"></a>

```typescript
public readonly capabilities: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---

##### `clientRequestToken`<sup>Optional</sup> <a name="clientRequestToken" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.clientRequestToken"></a>

```typescript
public readonly clientRequestToken: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `notificationARNs`<sup>Optional</sup> <a name="notificationARNs" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.notificationARNs"></a>

```typescript
public readonly notificationARNs: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---

##### `onStackFailure`<sup>Optional</sup> <a name="onStackFailure" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.onStackFailure"></a>

```typescript
public readonly onStackFailure: IOnFailureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IOnFailureVariable">IOnFailureVariable</a>

---

##### `parameters`<sup>Optional</sup> <a name="parameters" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.parameters"></a>

```typescript
public readonly parameters: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `resourceTypes`<sup>Optional</sup> <a name="resourceTypes" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.resourceTypes"></a>

```typescript
public readonly resourceTypes: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---

##### `roleArn`<sup>Optional</sup> <a name="roleArn" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.roleArn"></a>

```typescript
public readonly roleArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `stackPolicyBody`<sup>Optional</sup> <a name="stackPolicyBody" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.stackPolicyBody"></a>

```typescript
public readonly stackPolicyBody: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `stackPolicyUrl`<sup>Optional</sup> <a name="stackPolicyUrl" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.stackPolicyUrl"></a>

```typescript
public readonly stackPolicyUrl: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.tags"></a>

```typescript
public readonly tags: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `templateBody`<sup>Optional</sup> <a name="templateBody" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.templateBody"></a>

```typescript
public readonly templateBody: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `templateUrl`<sup>Optional</sup> <a name="templateUrl" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.templateUrl"></a>

```typescript
public readonly templateUrl: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `timeoutInMinutes`<sup>Optional</sup> <a name="timeoutInMinutes" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.timeoutInMinutes"></a>

```typescript
public readonly timeoutInMinutes: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.CreateStackStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### CreateTagsStep <a name="CreateTagsStep" id="@cdklabs/cdk-ssm-documents.CreateTagsStep"></a>

AutomationStep implemenation for aws:createTags https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-createtag.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.Initializer"></a>

```typescript
import { CreateTagsStep } from '@cdklabs/cdk-ssm-documents'

new CreateTagsStep(scope: Construct, id: string, props: CreateTagsStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps">CreateTagsStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps">CreateTagsStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.listOutputs">listOutputs</a></code> | This step has no outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

This step has no outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.isConstruct"></a>

```typescript
import { CreateTagsStep } from '@cdklabs/cdk-ssm-documents'

CreateTagsStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.resourceIds">resourceIds</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.tags">tags</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.resourceType">resourceType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IResourceTypeVariable">IResourceTypeVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `resourceIds`<sup>Required</sup> <a name="resourceIds" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.resourceIds"></a>

```typescript
public readonly resourceIds: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---

##### `tags`<sup>Required</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.tags"></a>

```typescript
public readonly tags: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `resourceType`<sup>Optional</sup> <a name="resourceType" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.resourceType"></a>

```typescript
public readonly resourceType: IResourceTypeVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IResourceTypeVariable">IResourceTypeVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.CreateTagsStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### DeleteImageStep <a name="DeleteImageStep" id="@cdklabs/cdk-ssm-documents.DeleteImageStep"></a>

AutomationStep implementation for aws:deleteImage https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-delete.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.Initializer"></a>

```typescript
import { DeleteImageStep } from '@cdklabs/cdk-ssm-documents'

new DeleteImageStep(scope: Construct, id: string, props: DeleteImageStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps">DeleteImageStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps">DeleteImageStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.listOutputs">listOutputs</a></code> | This step has no outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

This step has no outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.isConstruct"></a>

```typescript
import { DeleteImageStep } from '@cdklabs/cdk-ssm-documents'

DeleteImageStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.imageId">imageId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `imageId`<sup>Required</sup> <a name="imageId" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.imageId"></a>

```typescript
public readonly imageId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.DeleteImageStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### DeleteStackStep <a name="DeleteStackStep" id="@cdklabs/cdk-ssm-documents.DeleteStackStep"></a>

AutomationStep implemenation for aws:deleteStack https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-deletestack.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.Initializer"></a>

```typescript
import { DeleteStackStep } from '@cdklabs/cdk-ssm-documents'

new DeleteStackStep(scope: Construct, id: string, props: DeleteStackStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps">DeleteStackStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps">DeleteStackStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.listInputs">listInputs</a></code> | The input required for this step is the stackNameVariable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.listOutputs">listOutputs</a></code> | No outputs emitted from Delete Stack step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

The input required for this step is the stackNameVariable.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

No outputs emitted from Delete Stack step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.isConstruct"></a>

```typescript
import { DeleteStackStep } from '@cdklabs/cdk-ssm-documents'

DeleteStackStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.stackNameVariable">stackNameVariable</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.roleArn">roleArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `stackNameVariable`<sup>Required</sup> <a name="stackNameVariable" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.stackNameVariable"></a>

```typescript
public readonly stackNameVariable: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `roleArn`<sup>Optional</sup> <a name="roleArn" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.roleArn"></a>

```typescript
public readonly roleArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.DeleteStackStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### DomainJoinStep <a name="DomainJoinStep" id="@cdklabs/cdk-ssm-documents.DomainJoinStep"></a>

CommandStep implemenation for aws:softwareInventory https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-domainJoin.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.Initializer"></a>

```typescript
import { DomainJoinStep } from '@cdklabs/cdk-ssm-documents'

new DomainJoinStep(scope: Construct, id: string, props: DomainJoinStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps">DomainJoinStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps">DomainJoinStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.listInputs">listInputs</a></code> | All Inputs for this command are optional. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

All Inputs for this command are optional.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.isConstruct"></a>

```typescript
import { DomainJoinStep } from '@cdklabs/cdk-ssm-documents'

DomainJoinStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.directoryId">directoryId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.directoryName">directoryName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.directoryOU">directoryOU</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep.property.dnsIpAddresses">dnsIpAddresses</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `directoryId`<sup>Required</sup> <a name="directoryId" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.directoryId"></a>

```typescript
public readonly directoryId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `directoryName`<sup>Required</sup> <a name="directoryName" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.directoryName"></a>

```typescript
public readonly directoryName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `directoryOU`<sup>Optional</sup> <a name="directoryOU" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.directoryOU"></a>

```typescript
public readonly directoryOU: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `dnsIpAddresses`<sup>Optional</sup> <a name="dnsIpAddresses" id="@cdklabs/cdk-ssm-documents.DomainJoinStep.property.dnsIpAddresses"></a>

```typescript
public readonly dnsIpAddresses: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---


### DownloadContentStep <a name="DownloadContentStep" id="@cdklabs/cdk-ssm-documents.DownloadContentStep"></a>

AutomationStep implemenation for aws:downloadContent https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-downloadContent.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.Initializer"></a>

```typescript
import { DownloadContentStep } from '@cdklabs/cdk-ssm-documents'

new DownloadContentStep(scope: Construct, id: string, props: DownloadContentStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps">DownloadContentStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps">DownloadContentStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.listInputs">listInputs</a></code> | Inputs required for this command includes both the sourceType and sourceInfo variables and  destinationPath if provided. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Inputs required for this command includes both the sourceType and sourceInfo variables and  destinationPath if provided.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.isConstruct"></a>

```typescript
import { DownloadContentStep } from '@cdklabs/cdk-ssm-documents'

DownloadContentStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.downloadableContent">downloadableContent</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent">IDownloadableContent</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep.property.destinationPath">destinationPath</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `downloadableContent`<sup>Required</sup> <a name="downloadableContent" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.downloadableContent"></a>

```typescript
public readonly downloadableContent: IDownloadableContent;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent">IDownloadableContent</a>

---

##### `destinationPath`<sup>Optional</sup> <a name="destinationPath" id="@cdklabs/cdk-ssm-documents.DownloadContentStep.property.destinationPath"></a>

```typescript
public readonly destinationPath: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### ExecuteAutomationStep <a name="ExecuteAutomationStep" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep"></a>

AutomationStep implementation for aws:executeAutomation https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeAutomation.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.Initializer"></a>

```typescript
import { ExecuteAutomationStep } from '@cdklabs/cdk-ssm-documents'

new ExecuteAutomationStep(scope: Construct, id: string, props: ExecuteAutomationStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps">ExecuteAutomationStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps">ExecuteAutomationStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.isConstruct"></a>

```typescript
import { ExecuteAutomationStep } from '@cdklabs/cdk-ssm-documents'

ExecuteAutomationStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.documentName">documentName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.documentVersion">documentVersion</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.maxConcurrency">maxConcurrency</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.maxErrors">maxErrors</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.runtimeParameters">runtimeParameters</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.tags">tags</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.targetLocations">targetLocations</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.targetMaps">targetMaps</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.targetParameterName">targetParameterName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.targets">targets</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `documentName`<sup>Required</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.documentName"></a>

```typescript
public readonly documentName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `documentVersion`<sup>Optional</sup> <a name="documentVersion" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.documentVersion"></a>

```typescript
public readonly documentVersion: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `maxConcurrency`<sup>Optional</sup> <a name="maxConcurrency" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.maxConcurrency"></a>

```typescript
public readonly maxConcurrency: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `maxErrors`<sup>Optional</sup> <a name="maxErrors" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.maxErrors"></a>

```typescript
public readonly maxErrors: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `runtimeParameters`<sup>Optional</sup> <a name="runtimeParameters" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.runtimeParameters"></a>

```typescript
public readonly runtimeParameters: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.tags"></a>

```typescript
public readonly tags: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `targetLocations`<sup>Optional</sup> <a name="targetLocations" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.targetLocations"></a>

```typescript
public readonly targetLocations: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `targetMaps`<sup>Optional</sup> <a name="targetMaps" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.targetMaps"></a>

```typescript
public readonly targetMaps: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `targetParameterName`<sup>Optional</sup> <a name="targetParameterName" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.targetParameterName"></a>

```typescript
public readonly targetParameterName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `targets`<sup>Optional</sup> <a name="targets" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.targets"></a>

```typescript
public readonly targets: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### ExecuteScriptStep <a name="ExecuteScriptStep" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep"></a>

AutomationStep implementation for aws:executeScript https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.Initializer"></a>

```typescript
import { ExecuteScriptStep } from '@cdklabs/cdk-ssm-documents'

new ExecuteScriptStep(stage: Construct, id: string, props: ExecuteScriptStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.Initializer.parameter.stage">stage</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps">ExecuteScriptStepProps</a></code> | *No description.* |

---

##### `stage`<sup>Required</sup> <a name="stage" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.Initializer.parameter.stage"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps">ExecuteScriptStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.isConstruct"></a>

```typescript
import { ExecuteScriptStep } from '@cdklabs/cdk-ssm-documents'

ExecuteScriptStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.code">code</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ScriptCode">ScriptCode</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.inputs">inputs</a></code> | <code>{[ key: string ]: <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>}</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.language">language</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ScriptLanguage">ScriptLanguage</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.outputs">outputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `code`<sup>Required</sup> <a name="code" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.code"></a>

```typescript
public readonly code: ScriptCode;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ScriptCode">ScriptCode</a>

---

##### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.inputs"></a>

```typescript
public readonly inputs: {[ key: string ]: IGenericVariable};
```

- *Type:* {[ key: string ]: <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>}

---

##### `language`<sup>Required</sup> <a name="language" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.language"></a>

```typescript
public readonly language: ScriptLanguage;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ScriptLanguage">ScriptLanguage</a>

---

##### `outputs`<sup>Required</sup> <a name="outputs" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.outputs"></a>

```typescript
public readonly outputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### ExecuteStateMachineStep <a name="ExecuteStateMachineStep" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep"></a>

AutomationStep implementation of [aws:executeStateMachine](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeStateMachine.html).

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.Initializer"></a>

```typescript
import { ExecuteStateMachineStep } from '@cdklabs/cdk-ssm-documents'

new ExecuteStateMachineStep(scope: Construct, id: string, props: ExecuteStateMachineStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps">ExecuteStateMachineStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps">ExecuteStateMachineStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.listOutputs">listOutputs</a></code> | No outputs emitted from Delete Stack step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

No outputs emitted from Delete Stack step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.isConstruct"></a>

```typescript
import { ExecuteStateMachineStep } from '@cdklabs/cdk-ssm-documents'

ExecuteStateMachineStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.stateMachineArn">stateMachineArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.executionName">executionName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.input">input</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `stateMachineArn`<sup>Required</sup> <a name="stateMachineArn" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.stateMachineArn"></a>

```typescript
public readonly stateMachineArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `executionName`<sup>Optional</sup> <a name="executionName" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.executionName"></a>

```typescript
public readonly executionName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `input`<sup>Optional</sup> <a name="input" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.input"></a>

```typescript
public readonly input: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### HelloWorld <a name="HelloWorld" id="@cdklabs/cdk-ssm-documents.HelloWorld"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.HelloWorld.Initializer"></a>

```typescript
import { HelloWorld } from '@cdklabs/cdk-ssm-documents'

new HelloWorld(app: Construct, id: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.Initializer.parameter.app">app</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |

---

##### `app`<sup>Required</sup> <a name="app" id="@cdklabs/cdk-ssm-documents.HelloWorld.Initializer.parameter.app"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.HelloWorld.Initializer.parameter.id"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.addDependency">addDependency</a></code> | Add a dependency between this stack and another stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.addMetadata">addMetadata</a></code> | Adds an arbitrary key-value pair, with information you want to record about the stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.addTransform">addTransform</a></code> | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.exportStringListValue">exportStringListValue</a></code> | Create a CloudFormation Export for a string list value. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.exportValue">exportValue</a></code> | Create a CloudFormation Export for a string value. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.formatArn">formatArn</a></code> | Creates an ARN from components. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.getLogicalId">getLogicalId</a></code> | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.regionalFact">regionalFact</a></code> | Look up a fact value for the given fact for the region of this stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.renameLogicalId">renameLogicalId</a></code> | Rename a generated logical identities. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.reportMissingContextKey">reportMissingContextKey</a></code> | Indicate that a context key was expected. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.resolve">resolve</a></code> | Resolve a tokenized value in the context of the current stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.splitArn">splitArn</a></code> | Splits the provided ARN into its components. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.toJsonString">toJsonString</a></code> | Convert an object, potentially containing tokens, to a JSON string. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.toYamlString">toYamlString</a></code> | Convert an object, potentially containing tokens, to a YAML string. |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HelloWorld.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.HelloWorld.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.HelloWorld.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `addDependency` <a name="addDependency" id="@cdklabs/cdk-ssm-documents.HelloWorld.addDependency"></a>

```typescript
public addDependency(target: Stack, reason?: string): void
```

Add a dependency between this stack and another stack.

This can be used to define dependencies between any two stacks within an
app, and also supports nested stacks.

###### `target`<sup>Required</sup> <a name="target" id="@cdklabs/cdk-ssm-documents.HelloWorld.addDependency.parameter.target"></a>

- *Type:* aws-cdk-lib.Stack

---

###### `reason`<sup>Optional</sup> <a name="reason" id="@cdklabs/cdk-ssm-documents.HelloWorld.addDependency.parameter.reason"></a>

- *Type:* string

---

##### `addMetadata` <a name="addMetadata" id="@cdklabs/cdk-ssm-documents.HelloWorld.addMetadata"></a>

```typescript
public addMetadata(key: string, value: any): void
```

Adds an arbitrary key-value pair, with information you want to record about the stack.

These get translated to the Metadata section of the generated template.

> [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)

###### `key`<sup>Required</sup> <a name="key" id="@cdklabs/cdk-ssm-documents.HelloWorld.addMetadata.parameter.key"></a>

- *Type:* string

---

###### `value`<sup>Required</sup> <a name="value" id="@cdklabs/cdk-ssm-documents.HelloWorld.addMetadata.parameter.value"></a>

- *Type:* any

---

##### `addTransform` <a name="addTransform" id="@cdklabs/cdk-ssm-documents.HelloWorld.addTransform"></a>

```typescript
public addTransform(transform: string): void
```

Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.

Duplicate values are removed when stack is synthesized.

> [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html)

*Example*

```typescript
declare const stack: Stack;

stack.addTransform('AWS::Serverless-2016-10-31')
```


###### `transform`<sup>Required</sup> <a name="transform" id="@cdklabs/cdk-ssm-documents.HelloWorld.addTransform.parameter.transform"></a>

- *Type:* string

The transform to add.

---

##### `exportStringListValue` <a name="exportStringListValue" id="@cdklabs/cdk-ssm-documents.HelloWorld.exportStringListValue"></a>

```typescript
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
```

Create a CloudFormation Export for a string list value.

Returns a string list representing the corresponding `Fn.importValue()`
expression for this Export. The export expression is automatically wrapped with an
`Fn::Join` and the import value with an `Fn::Split`, since CloudFormation can only
export strings. You can control the name for the export by passing the `name` option.

If you don't supply a value for `name`, the value you're exporting must be
a Resource attribute (for example: `bucket.bucketName`) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.

One of the uses for this method is to *remove* the relationship between
two Stacks established by automatic cross-stack references. It will
temporarily ensure that the CloudFormation Export still exists while you
remove the reference from the consuming stack. After that, you can remove
the resource and the manual export.

See `exportValue` for an example of this process.

###### `exportedValue`<sup>Required</sup> <a name="exportedValue" id="@cdklabs/cdk-ssm-documents.HelloWorld.exportStringListValue.parameter.exportedValue"></a>

- *Type:* any

---

###### `options`<sup>Optional</sup> <a name="options" id="@cdklabs/cdk-ssm-documents.HelloWorld.exportStringListValue.parameter.options"></a>

- *Type:* aws-cdk-lib.ExportValueOptions

---

##### `exportValue` <a name="exportValue" id="@cdklabs/cdk-ssm-documents.HelloWorld.exportValue"></a>

```typescript
public exportValue(exportedValue: any, options?: ExportValueOptions): string
```

Create a CloudFormation Export for a string value.

Returns a string representing the corresponding `Fn.importValue()`
expression for this Export. You can control the name for the export by
passing the `name` option.

If you don't supply a value for `name`, the value you're exporting must be
a Resource attribute (for example: `bucket.bucketName`) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.

One of the uses for this method is to *remove* the relationship between
two Stacks established by automatic cross-stack references. It will
temporarily ensure that the CloudFormation Export still exists while you
remove the reference from the consuming stack. After that, you can remove
the resource and the manual export.

Here is how the process works. Let's say there are two stacks,
`producerStack` and `consumerStack`, and `producerStack` has a bucket
called `bucket`, which is referenced by `consumerStack` (perhaps because
an AWS Lambda Function writes into it, or something like that).

It is not safe to remove `producerStack.bucket` because as the bucket is being
deleted, `consumerStack` might still be using it.

Instead, the process takes two deployments:

**Deployment 1: break the relationship**:

- Make sure `consumerStack` no longer references `bucket.bucketName` (maybe the consumer
  stack now uses its own bucket, or it writes to an AWS DynamoDB table, or maybe you just
  remove the Lambda Function altogether).
- In the `ProducerStack` class, call `this.exportValue(this.bucket.bucketName)`. This
  will make sure the CloudFormation Export continues to exist while the relationship
  between the two stacks is being broken.
- Deploy (this will effectively only change the `consumerStack`, but it's safe to deploy both).

**Deployment 2: remove the bucket resource**:

- You are now free to remove the `bucket` resource from `producerStack`.
- Don't forget to remove the `exportValue()` call as well.
- Deploy again (this time only the `producerStack` will be changed -- the bucket will be deleted).

###### `exportedValue`<sup>Required</sup> <a name="exportedValue" id="@cdklabs/cdk-ssm-documents.HelloWorld.exportValue.parameter.exportedValue"></a>

- *Type:* any

---

###### `options`<sup>Optional</sup> <a name="options" id="@cdklabs/cdk-ssm-documents.HelloWorld.exportValue.parameter.options"></a>

- *Type:* aws-cdk-lib.ExportValueOptions

---

##### `formatArn` <a name="formatArn" id="@cdklabs/cdk-ssm-documents.HelloWorld.formatArn"></a>

```typescript
public formatArn(components: ArnComponents): string
```

Creates an ARN from components.

If `partition`, `region` or `account` are not specified, the stack's
partition, region and account will be used.

If any component is the empty string, an empty string will be inserted
into the generated ARN at the location that component corresponds to.

The ARN will be formatted as follows:

  arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}

The required ARN pieces that are omitted will be taken from the stack that
the 'scope' is attached to. If all ARN pieces are supplied, the supplied scope
can be 'undefined'.

###### `components`<sup>Required</sup> <a name="components" id="@cdklabs/cdk-ssm-documents.HelloWorld.formatArn.parameter.components"></a>

- *Type:* aws-cdk-lib.ArnComponents

---

##### `getLogicalId` <a name="getLogicalId" id="@cdklabs/cdk-ssm-documents.HelloWorld.getLogicalId"></a>

```typescript
public getLogicalId(element: CfnElement): string
```

Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.

This method is called when a `CfnElement` is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.

This method uses the protected method `allocateLogicalId` to render the
logical ID for an element. To modify the naming scheme, extend the `Stack`
class and override this method.

###### `element`<sup>Required</sup> <a name="element" id="@cdklabs/cdk-ssm-documents.HelloWorld.getLogicalId.parameter.element"></a>

- *Type:* aws-cdk-lib.CfnElement

The CloudFormation element for which a logical identity is needed.

---

##### `regionalFact` <a name="regionalFact" id="@cdklabs/cdk-ssm-documents.HelloWorld.regionalFact"></a>

```typescript
public regionalFact(factName: string, defaultValue?: string): string
```

Look up a fact value for the given fact for the region of this stack.

Will return a definite value only if the region of the current stack is resolved.
If not, a lookup map will be added to the stack and the lookup will be done at
CDK deployment time.

What regions will be included in the lookup map is controlled by the
`@aws-cdk/core:target-partitions` context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.

This function is intended to be used by construct library authors. Application
builders can rely on the abstractions offered by construct libraries and do
not have to worry about regional facts.

If `defaultValue` is not given, it is an error if the fact is unknown for
the given region.

###### `factName`<sup>Required</sup> <a name="factName" id="@cdklabs/cdk-ssm-documents.HelloWorld.regionalFact.parameter.factName"></a>

- *Type:* string

---

###### `defaultValue`<sup>Optional</sup> <a name="defaultValue" id="@cdklabs/cdk-ssm-documents.HelloWorld.regionalFact.parameter.defaultValue"></a>

- *Type:* string

---

##### `renameLogicalId` <a name="renameLogicalId" id="@cdklabs/cdk-ssm-documents.HelloWorld.renameLogicalId"></a>

```typescript
public renameLogicalId(oldId: string, newId: string): void
```

Rename a generated logical identities.

To modify the naming scheme strategy, extend the `Stack` class and
override the `allocateLogicalId` method.

###### `oldId`<sup>Required</sup> <a name="oldId" id="@cdklabs/cdk-ssm-documents.HelloWorld.renameLogicalId.parameter.oldId"></a>

- *Type:* string

---

###### `newId`<sup>Required</sup> <a name="newId" id="@cdklabs/cdk-ssm-documents.HelloWorld.renameLogicalId.parameter.newId"></a>

- *Type:* string

---

##### `reportMissingContextKey` <a name="reportMissingContextKey" id="@cdklabs/cdk-ssm-documents.HelloWorld.reportMissingContextKey"></a>

```typescript
public reportMissingContextKey(report: MissingContext): void
```

Indicate that a context key was expected.

Contains instructions which will be emitted into the cloud assembly on how
the key should be supplied.

###### `report`<sup>Required</sup> <a name="report" id="@cdklabs/cdk-ssm-documents.HelloWorld.reportMissingContextKey.parameter.report"></a>

- *Type:* aws-cdk-lib.cloud_assembly_schema.MissingContext

The set of parameters needed to obtain the context.

---

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HelloWorld.resolve"></a>

```typescript
public resolve(obj: any): any
```

Resolve a tokenized value in the context of the current stack.

###### `obj`<sup>Required</sup> <a name="obj" id="@cdklabs/cdk-ssm-documents.HelloWorld.resolve.parameter.obj"></a>

- *Type:* any

---

##### `splitArn` <a name="splitArn" id="@cdklabs/cdk-ssm-documents.HelloWorld.splitArn"></a>

```typescript
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
```

Splits the provided ARN into its components.

Works both if 'arn' is a string like 'arn:aws:s3:::bucket',
and a Token representing a dynamic CloudFormation expression
(in which case the returned components will also be dynamic CloudFormation expressions,
encoded as Tokens).

###### `arn`<sup>Required</sup> <a name="arn" id="@cdklabs/cdk-ssm-documents.HelloWorld.splitArn.parameter.arn"></a>

- *Type:* string

the ARN to split into its components.

---

###### `arnFormat`<sup>Required</sup> <a name="arnFormat" id="@cdklabs/cdk-ssm-documents.HelloWorld.splitArn.parameter.arnFormat"></a>

- *Type:* aws-cdk-lib.ArnFormat

the expected format of 'arn' - depends on what format the service 'arn' represents uses.

---

##### `toJsonString` <a name="toJsonString" id="@cdklabs/cdk-ssm-documents.HelloWorld.toJsonString"></a>

```typescript
public toJsonString(obj: any, space?: number): string
```

Convert an object, potentially containing tokens, to a JSON string.

###### `obj`<sup>Required</sup> <a name="obj" id="@cdklabs/cdk-ssm-documents.HelloWorld.toJsonString.parameter.obj"></a>

- *Type:* any

---

###### `space`<sup>Optional</sup> <a name="space" id="@cdklabs/cdk-ssm-documents.HelloWorld.toJsonString.parameter.space"></a>

- *Type:* number

---

##### `toYamlString` <a name="toYamlString" id="@cdklabs/cdk-ssm-documents.HelloWorld.toYamlString"></a>

```typescript
public toYamlString(obj: any): string
```

Convert an object, potentially containing tokens, to a YAML string.

###### `obj`<sup>Required</sup> <a name="obj" id="@cdklabs/cdk-ssm-documents.HelloWorld.toYamlString.parameter.obj"></a>

- *Type:* any

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.isStack">isStack</a></code> | Return whether the given object is a Stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.of">of</a></code> | Looks up the first stack scope in which `construct` is defined. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.HelloWorld.isConstruct"></a>

```typescript
import { HelloWorld } from '@cdklabs/cdk-ssm-documents'

HelloWorld.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.HelloWorld.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

##### `isStack` <a name="isStack" id="@cdklabs/cdk-ssm-documents.HelloWorld.isStack"></a>

```typescript
import { HelloWorld } from '@cdklabs/cdk-ssm-documents'

HelloWorld.isStack(x: any)
```

Return whether the given object is a Stack.

We do attribute detection since we can't reliably use 'instanceof'.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.HelloWorld.isStack.parameter.x"></a>

- *Type:* any

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HelloWorld.of"></a>

```typescript
import { HelloWorld } from '@cdklabs/cdk-ssm-documents'

HelloWorld.of(construct: IConstruct)
```

Looks up the first stack scope in which `construct` is defined.

Fails if there is no stack up the tree.

###### `construct`<sup>Required</sup> <a name="construct" id="@cdklabs/cdk-ssm-documents.HelloWorld.of.parameter.construct"></a>

- *Type:* constructs.IConstruct

The construct to start the search from.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.account">account</a></code> | <code>string</code> | The AWS account into which this stack will be deployed. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.artifactId">artifactId</a></code> | <code>string</code> | The ID of the cloud assembly artifact for this stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.availabilityZones">availabilityZones</a></code> | <code>string[]</code> | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.bundlingRequired">bundlingRequired</a></code> | <code>boolean</code> | Indicates whether the stack requires bundling or not. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.dependencies">dependencies</a></code> | <code>aws-cdk-lib.Stack[]</code> | Return the stacks this stack depends on. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.environment">environment</a></code> | <code>string</code> | The environment coordinates in which this stack is deployed. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.nested">nested</a></code> | <code>boolean</code> | Indicates if this is a nested stack, in which case `parentStack` will include a reference to it's parent. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.notificationArns">notificationArns</a></code> | <code>string[]</code> | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.partition">partition</a></code> | <code>string</code> | The partition in which this stack is defined. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.region">region</a></code> | <code>string</code> | The AWS region into which this stack will be deployed (e.g. `us-west-2`). |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.stackId">stackId</a></code> | <code>string</code> | The ID of the stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.stackName">stackName</a></code> | <code>string</code> | The concrete CloudFormation physical stack name. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.synthesizer">synthesizer</a></code> | <code>aws-cdk-lib.IStackSynthesizer</code> | Synthesis method for this stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.tags">tags</a></code> | <code>aws-cdk-lib.TagManager</code> | Tags to be applied to the stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.templateFile">templateFile</a></code> | <code>string</code> | The name of the CloudFormation template file emitted to the output directory during synthesis. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.templateOptions">templateOptions</a></code> | <code>aws-cdk-lib.ITemplateOptions</code> | Options for CloudFormation template (like version, transform, description). |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.urlSuffix">urlSuffix</a></code> | <code>string</code> | The Amazon domain suffix for the region in which this stack is defined. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.nestedStackParent">nestedStackParent</a></code> | <code>aws-cdk-lib.Stack</code> | If this is a nested stack, returns it's parent stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.nestedStackResource">nestedStackResource</a></code> | <code>aws-cdk-lib.CfnResource</code> | If this is a nested stack, this represents its `AWS::CloudFormation::Stack` resource. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HelloWorld.property.terminationProtection">terminationProtection</a></code> | <code>boolean</code> | Whether termination protection is enabled for this stack. |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `account`<sup>Required</sup> <a name="account" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.account"></a>

```typescript
public readonly account: string;
```

- *Type:* string

The AWS account into which this stack will be deployed.

This value is resolved according to the following rules:

1. The value provided to `env.account` when the stack is defined. This can
   either be a concrete account (e.g. `585695031111`) or the
   `Aws.ACCOUNT_ID` token.
3. `Aws.ACCOUNT_ID`, which represents the CloudFormation intrinsic reference
   `{ "Ref": "AWS::AccountId" }` encoded as a string token.

Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (`Token.isUnresolved(stack.account)` returns
`true`), this implies that the user wishes that this stack will synthesize
into an **account-agnostic template**. In this case, your code should either
fail (throw an error, emit a synth error using `Annotations.of(construct).addError()`) or
implement some other account-agnostic behavior.

---

##### `artifactId`<sup>Required</sup> <a name="artifactId" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.artifactId"></a>

```typescript
public readonly artifactId: string;
```

- *Type:* string

The ID of the cloud assembly artifact for this stack.

---

##### `availabilityZones`<sup>Required</sup> <a name="availabilityZones" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.availabilityZones"></a>

```typescript
public readonly availabilityZones: string[];
```

- *Type:* string[]

Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.

If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation's
`Fn::GetAZs` intrinsic function.

If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
`DescribeAvailabilityZones` on the target environment.

To specify a different strategy for selecting availability zones override this method.

---

##### `bundlingRequired`<sup>Required</sup> <a name="bundlingRequired" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.bundlingRequired"></a>

```typescript
public readonly bundlingRequired: boolean;
```

- *Type:* boolean

Indicates whether the stack requires bundling or not.

---

##### `dependencies`<sup>Required</sup> <a name="dependencies" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.dependencies"></a>

```typescript
public readonly dependencies: Stack[];
```

- *Type:* aws-cdk-lib.Stack[]

Return the stacks this stack depends on.

---

##### `environment`<sup>Required</sup> <a name="environment" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.environment"></a>

```typescript
public readonly environment: string;
```

- *Type:* string

The environment coordinates in which this stack is deployed.

In the form
`aws://account/region`. Use `stack.account` and `stack.region` to obtain
the specific values, no need to parse.

You can use this value to determine if two stacks are targeting the same
environment.

If either `stack.account` or `stack.region` are not concrete values (e.g.
`Aws.ACCOUNT_ID` or `Aws.REGION`) the special strings `unknown-account` and/or
`unknown-region` will be used respectively to indicate this stack is
region/account-agnostic.

---

##### `nested`<sup>Required</sup> <a name="nested" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.nested"></a>

```typescript
public readonly nested: boolean;
```

- *Type:* boolean

Indicates if this is a nested stack, in which case `parentStack` will include a reference to it's parent.

---

##### `notificationArns`<sup>Required</sup> <a name="notificationArns" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.notificationArns"></a>

```typescript
public readonly notificationArns: string[];
```

- *Type:* string[]

Returns the list of notification Amazon Resource Names (ARNs) for the current stack.

---

##### `partition`<sup>Required</sup> <a name="partition" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.partition"></a>

```typescript
public readonly partition: string;
```

- *Type:* string

The partition in which this stack is defined.

---

##### `region`<sup>Required</sup> <a name="region" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.region"></a>

```typescript
public readonly region: string;
```

- *Type:* string

The AWS region into which this stack will be deployed (e.g. `us-west-2`).

This value is resolved according to the following rules:

1. The value provided to `env.region` when the stack is defined. This can
   either be a concrete region (e.g. `us-west-2`) or the `Aws.REGION`
   token.
3. `Aws.REGION`, which is represents the CloudFormation intrinsic reference
   `{ "Ref": "AWS::Region" }` encoded as a string token.

Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (`Token.isUnresolved(stack.region)` returns
`true`), this implies that the user wishes that this stack will synthesize
into a **region-agnostic template**. In this case, your code should either
fail (throw an error, emit a synth error using `Annotations.of(construct).addError()`) or
implement some other region-agnostic behavior.

---

##### `stackId`<sup>Required</sup> <a name="stackId" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.stackId"></a>

```typescript
public readonly stackId: string;
```

- *Type:* string

The ID of the stack.

---

*Example*

```typescript
// After resolving, looks like
'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
```


##### `stackName`<sup>Required</sup> <a name="stackName" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.stackName"></a>

```typescript
public readonly stackName: string;
```

- *Type:* string

The concrete CloudFormation physical stack name.

This is either the name defined explicitly in the `stackName` prop or
allocated based on the stack's location in the construct tree. Stacks that
are directly defined under the app use their construct `id` as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.

If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use `Aws.STACK_NAME` directly.

---

##### `synthesizer`<sup>Required</sup> <a name="synthesizer" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.synthesizer"></a>

```typescript
public readonly synthesizer: IStackSynthesizer;
```

- *Type:* aws-cdk-lib.IStackSynthesizer

Synthesis method for this stack.

---

##### `tags`<sup>Required</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.tags"></a>

```typescript
public readonly tags: TagManager;
```

- *Type:* aws-cdk-lib.TagManager

Tags to be applied to the stack.

---

##### `templateFile`<sup>Required</sup> <a name="templateFile" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.templateFile"></a>

```typescript
public readonly templateFile: string;
```

- *Type:* string

The name of the CloudFormation template file emitted to the output directory during synthesis.

Example value: `MyStack.template.json`

---

##### `templateOptions`<sup>Required</sup> <a name="templateOptions" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.templateOptions"></a>

```typescript
public readonly templateOptions: ITemplateOptions;
```

- *Type:* aws-cdk-lib.ITemplateOptions

Options for CloudFormation template (like version, transform, description).

---

##### `urlSuffix`<sup>Required</sup> <a name="urlSuffix" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.urlSuffix"></a>

```typescript
public readonly urlSuffix: string;
```

- *Type:* string

The Amazon domain suffix for the region in which this stack is defined.

---

##### `nestedStackParent`<sup>Optional</sup> <a name="nestedStackParent" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.nestedStackParent"></a>

```typescript
public readonly nestedStackParent: Stack;
```

- *Type:* aws-cdk-lib.Stack

If this is a nested stack, returns it's parent stack.

---

##### `nestedStackResource`<sup>Optional</sup> <a name="nestedStackResource" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.nestedStackResource"></a>

```typescript
public readonly nestedStackResource: CfnResource;
```

- *Type:* aws-cdk-lib.CfnResource

If this is a nested stack, this represents its `AWS::CloudFormation::Stack` resource.

`undefined` for top-level (non-nested) stacks.

---

##### `terminationProtection`<sup>Required</sup> <a name="terminationProtection" id="@cdklabs/cdk-ssm-documents.HelloWorld.property.terminationProtection"></a>

```typescript
public readonly terminationProtection: boolean;
```

- *Type:* boolean

Whether termination protection is enabled for this stack.

---


### IncidentResponse <a name="IncidentResponse" id="@cdklabs/cdk-ssm-documents.IncidentResponse"></a>

Provides L2 construct for https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html#aws-resource-ssmincidents-responseplan-properties.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.IncidentResponse.Initializer"></a>

```typescript
import { IncidentResponse } from '@cdklabs/cdk-ssm-documents'

new IncidentResponse(scope: Construct, id: string, props: IncidentResponseProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponse.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponse.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponse.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseProps">IncidentResponseProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.IncidentResponse.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.IncidentResponse.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.IncidentResponse.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IncidentResponseProps">IncidentResponseProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponse.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponse.with">with</a></code> | Applies one or more mixins to this construct. |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.IncidentResponse.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.IncidentResponse.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.IncidentResponse.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponse.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.IncidentResponse.isConstruct"></a>

```typescript
import { IncidentResponse } from '@cdklabs/cdk-ssm-documents'

IncidentResponse.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.IncidentResponse.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponse.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponse.property.cfnResponsePlan">cfnResponsePlan</a></code> | <code>aws-cdk-lib.aws_ssmincidents.CfnResponsePlan</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.IncidentResponse.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cfnResponsePlan`<sup>Required</sup> <a name="cfnResponsePlan" id="@cdklabs/cdk-ssm-documents.IncidentResponse.property.cfnResponsePlan"></a>

```typescript
public readonly cfnResponsePlan: CfnResponsePlan;
```

- *Type:* aws-cdk-lib.aws_ssmincidents.CfnResponsePlan

---


### InvokeLambdaFunctionStep <a name="InvokeLambdaFunctionStep" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep"></a>

AutomationStep implemenation for aws:invokeLambdaFunction https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-lamb.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.Initializer"></a>

```typescript
import { InvokeLambdaFunctionStep } from '@cdklabs/cdk-ssm-documents'

new InvokeLambdaFunctionStep(scope: Construct, id: string, props: InvokeLambdaFunctionStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps">InvokeLambdaFunctionStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps">InvokeLambdaFunctionStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.isConstruct"></a>

```typescript
import { InvokeLambdaFunctionStep } from '@cdklabs/cdk-ssm-documents'

InvokeLambdaFunctionStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.functionName">functionName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.clientContext">clientContext</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.invocationType">invocationType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.logType">logType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.payload">payload</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.qualifier">qualifier</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `functionName`<sup>Required</sup> <a name="functionName" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.functionName"></a>

```typescript
public readonly functionName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `awsInvoker`<sup>Optional</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

---

##### `clientContext`<sup>Optional</sup> <a name="clientContext" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.clientContext"></a>

```typescript
public readonly clientContext: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `invocationType`<sup>Optional</sup> <a name="invocationType" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.invocationType"></a>

```typescript
public readonly invocationType: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `logType`<sup>Optional</sup> <a name="logType" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.logType"></a>

```typescript
public readonly logType: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `payload`<sup>Optional</sup> <a name="payload" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.payload"></a>

```typescript
public readonly payload: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

---

##### `qualifier`<sup>Optional</sup> <a name="qualifier" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.qualifier"></a>

```typescript
public readonly qualifier: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### InvokeWebhookStep <a name="InvokeWebhookStep" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep"></a>

AutomationStep implementation for [aws:invokeWebhook](https://docs.aws.amazon.com/systems-manager/latest/userguide/invoke-webhook.html).

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.Initializer"></a>

```typescript
import { InvokeWebhookStep } from '@cdklabs/cdk-ssm-documents'

new InvokeWebhookStep(scope: Construct, id: string, props: InvokeWebhookStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps">InvokeWebhookStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps">InvokeWebhookStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.isConstruct"></a>

```typescript
import { InvokeWebhookStep } from '@cdklabs/cdk-ssm-documents'

InvokeWebhookStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.integrationName">integrationName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.body">body</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `integrationName`<sup>Required</sup> <a name="integrationName" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.integrationName"></a>

```typescript
public readonly integrationName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `body`<sup>Optional</sup> <a name="body" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.body"></a>

```typescript
public readonly body: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### PauseStep <a name="PauseStep" id="@cdklabs/cdk-ssm-documents.PauseStep"></a>

AutomationStep implementation for aws:pause https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-pause.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.PauseStep.Initializer"></a>

```typescript
import { PauseStep } from '@cdklabs/cdk-ssm-documents'

new PauseStep(scope: Construct, id: string, props: AutomationStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps">AutomationStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.PauseStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.PauseStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.PauseStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps">AutomationStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.listInputs">listInputs</a></code> | No inputs required for Pause step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.listOutputs">listOutputs</a></code> | No outputs emitted from Pause step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.PauseStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.PauseStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.PauseStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.PauseStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

No inputs required for Pause step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.PauseStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

No outputs emitted from Pause step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.PauseStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.PauseStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.PauseStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.PauseStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.PauseStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.PauseStep.isConstruct"></a>

```typescript
import { PauseStep } from '@cdklabs/cdk-ssm-documents'

PauseStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.PauseStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.PauseStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.PauseStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.PauseStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.PauseStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.PauseStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.PauseStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.PauseStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.PauseStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.PauseStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.PauseStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.PauseStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.PauseStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.PauseStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.PauseStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.PauseStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.PauseStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.PauseStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### PsModuleStep <a name="PsModuleStep" id="@cdklabs/cdk-ssm-documents.PsModuleStep"></a>

AutomationStep implemenation for aws:psmodule https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-psModule.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.PsModuleStep.Initializer"></a>

```typescript
import { PsModuleStep } from '@cdklabs/cdk-ssm-documents'

new PsModuleStep(scope: Construct, id: string, props: PsModuleStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps">PsModuleStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.PsModuleStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.PsModuleStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.PsModuleStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps">PsModuleStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.listInputs">listInputs</a></code> | Inputs required for this command includes both the runCommand variables and workingDirectory if provided. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.PsModuleStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.PsModuleStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.PsModuleStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.PsModuleStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Inputs required for this command includes both the runCommand variables and workingDirectory if provided.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.PsModuleStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.PsModuleStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.PsModuleStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.PsModuleStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.PsModuleStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.PsModuleStep.isConstruct"></a>

```typescript
import { PsModuleStep } from '@cdklabs/cdk-ssm-documents'

PsModuleStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.PsModuleStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.source">source</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.runCommand">runCommand</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.sourceHash">sourceHash</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep.property.workingDirectory">workingDirectory</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `source`<sup>Required</sup> <a name="source" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.source"></a>

```typescript
public readonly source: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `runCommand`<sup>Optional</sup> <a name="runCommand" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.runCommand"></a>

```typescript
public readonly runCommand: IStringVariable[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]

---

##### `sourceHash`<sup>Optional</sup> <a name="sourceHash" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.sourceHash"></a>

```typescript
public readonly sourceHash: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `workingDirectory`<sup>Optional</sup> <a name="workingDirectory" id="@cdklabs/cdk-ssm-documents.PsModuleStep.property.workingDirectory"></a>

```typescript
public readonly workingDirectory: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### RebootInstanceAndWait <a name="RebootInstanceAndWait" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.Initializer"></a>

```typescript
import { RebootInstanceAndWait } from '@cdklabs/cdk-ssm-documents'

new RebootInstanceAndWait(scope: Construct, id: string, instanceId: IStringVariable)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.Initializer.parameter.instanceId">instanceId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.Initializer.parameter.id"></a>

- *Type:* string

---

##### `instanceId`<sup>Required</sup> <a name="instanceId" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.Initializer.parameter.instanceId"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.addToDocument">addToDocument</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.isConstruct"></a>

```typescript
import { RebootInstanceAndWait } from '@cdklabs/cdk-ssm-documents'

RebootInstanceAndWait.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.property.describe">describe</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep">WaitForResourceStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.property.reboot">reboot</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep">AwsApiStep</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `describe`<sup>Required</sup> <a name="describe" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.property.describe"></a>

```typescript
public readonly describe: WaitForResourceStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep">WaitForResourceStep</a>

---

##### `reboot`<sup>Required</sup> <a name="reboot" id="@cdklabs/cdk-ssm-documents.RebootInstanceAndWait.property.reboot"></a>

```typescript
public readonly reboot: AwsApiStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsApiStep">AwsApiStep</a>

---


### RunCommandStep <a name="RunCommandStep" id="@cdklabs/cdk-ssm-documents.RunCommandStep"></a>

AutomationStep implementation of [aws:runCommand](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-runcommand.html).

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.RunCommandStep.Initializer"></a>

```typescript
import { RunCommandStep } from '@cdklabs/cdk-ssm-documents'

new RunCommandStep(scope: Construct, id: string, props: RunCommandStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps">RunCommandStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.RunCommandStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.RunCommandStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.RunCommandStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps">RunCommandStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.RunCommandStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.RunCommandStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.RunCommandStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.RunCommandStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.RunCommandStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.RunCommandStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.RunCommandStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.RunCommandStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.RunCommandStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.RunCommandStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.RunCommandStep.isConstruct"></a>

```typescript
import { RunCommandStep } from '@cdklabs/cdk-ssm-documents'

RunCommandStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.RunCommandStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.documentName">documentName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.targets">targets</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a> \| <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.cloudWatchOutputConfig">cloudWatchOutputConfig</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.commandTimeoutSeconds">commandTimeoutSeconds</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.comment">comment</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.documentHash">documentHash</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.documentHashType">documentHashType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IDocumentHashTypeVariable">IDocumentHashTypeVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.maxConcurrency">maxConcurrency</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.maxErrors">maxErrors</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.notificationConfig">notificationConfig</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.outputS3BucketName">outputS3BucketName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.outputS3KeyPrefix">outputS3KeyPrefix</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.parameters">parameters</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.serviceRoleArn">serviceRoleArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `documentName`<sup>Required</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.documentName"></a>

```typescript
public readonly documentName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `targets`<sup>Required</sup> <a name="targets" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.targets"></a>

```typescript
public readonly targets: IMapListVariable | IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a> | <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---

##### `cloudWatchOutputConfig`<sup>Optional</sup> <a name="cloudWatchOutputConfig" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.cloudWatchOutputConfig"></a>

```typescript
public readonly cloudWatchOutputConfig: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

---

##### `commandTimeoutSeconds`<sup>Optional</sup> <a name="commandTimeoutSeconds" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.commandTimeoutSeconds"></a>

```typescript
public readonly commandTimeoutSeconds: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

---

##### `comment`<sup>Optional</sup> <a name="comment" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.comment"></a>

```typescript
public readonly comment: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `documentHash`<sup>Optional</sup> <a name="documentHash" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.documentHash"></a>

```typescript
public readonly documentHash: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `documentHashType`<sup>Optional</sup> <a name="documentHashType" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.documentHashType"></a>

```typescript
public readonly documentHashType: IDocumentHashTypeVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IDocumentHashTypeVariable">IDocumentHashTypeVariable</a>

---

##### `maxConcurrency`<sup>Optional</sup> <a name="maxConcurrency" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.maxConcurrency"></a>

```typescript
public readonly maxConcurrency: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

---

##### `maxErrors`<sup>Optional</sup> <a name="maxErrors" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.maxErrors"></a>

```typescript
public readonly maxErrors: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

---

##### `notificationConfig`<sup>Optional</sup> <a name="notificationConfig" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

---

##### `outputS3BucketName`<sup>Optional</sup> <a name="outputS3BucketName" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.outputS3BucketName"></a>

```typescript
public readonly outputS3BucketName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `outputS3KeyPrefix`<sup>Optional</sup> <a name="outputS3KeyPrefix" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.outputS3KeyPrefix"></a>

```typescript
public readonly outputS3KeyPrefix: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `parameters`<sup>Optional</sup> <a name="parameters" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.parameters"></a>

```typescript
public readonly parameters: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

---

##### `serviceRoleArn`<sup>Optional</sup> <a name="serviceRoleArn" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.serviceRoleArn"></a>

```typescript
public readonly serviceRoleArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.RunCommandStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### RunDockerActionStep <a name="RunDockerActionStep" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep"></a>

CommandStep implementation for aws:runDockerAction https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-rundockeraction.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.Initializer"></a>

```typescript
import { RunDockerActionStep } from '@cdklabs/cdk-ssm-documents'

new RunDockerActionStep(scope: Construct, id: string, props: RunDockerActionStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps">RunDockerActionStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps">RunDockerActionStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.isConstruct"></a>

```typescript
import { RunDockerActionStep } from '@cdklabs/cdk-ssm-documents'

RunDockerActionStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.dockerAction">dockerAction</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.cmd">cmd</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.container">container</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.cpuShares">cpuShares</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.env">env</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.image">image</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.memory">memory</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.publish">publish</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.user">user</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.volume">volume</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `dockerAction`<sup>Required</sup> <a name="dockerAction" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.dockerAction"></a>

```typescript
public readonly dockerAction: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `cmd`<sup>Optional</sup> <a name="cmd" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.cmd"></a>

```typescript
public readonly cmd: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `container`<sup>Optional</sup> <a name="container" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.container"></a>

```typescript
public readonly container: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `cpuShares`<sup>Optional</sup> <a name="cpuShares" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.cpuShares"></a>

```typescript
public readonly cpuShares: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `env`<sup>Optional</sup> <a name="env" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.env"></a>

```typescript
public readonly env: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `image`<sup>Optional</sup> <a name="image" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.image"></a>

```typescript
public readonly image: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `memory`<sup>Optional</sup> <a name="memory" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.memory"></a>

```typescript
public readonly memory: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `publish`<sup>Optional</sup> <a name="publish" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.publish"></a>

```typescript
public readonly publish: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `user`<sup>Optional</sup> <a name="user" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.user"></a>

```typescript
public readonly user: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `volume`<sup>Optional</sup> <a name="volume" id="@cdklabs/cdk-ssm-documents.RunDockerActionStep.property.volume"></a>

```typescript
public readonly volume: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---


### RunDocumentStep <a name="RunDocumentStep" id="@cdklabs/cdk-ssm-documents.RunDocumentStep"></a>

CommandStep implementation for aws:runDocument https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-rundocument.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.Initializer"></a>

```typescript
import { RunDocumentStep } from '@cdklabs/cdk-ssm-documents'

new RunDocumentStep(scope: Construct, id: string, props: RunDocumentStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps">RunDocumentStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps">RunDocumentStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.isConstruct"></a>

```typescript
import { RunDocumentStep } from '@cdklabs/cdk-ssm-documents'

RunDocumentStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.stepDocument">stepDocument</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IRunDocumentLocation">IRunDocumentLocation</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep.property.documentParameters">documentParameters</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `stepDocument`<sup>Required</sup> <a name="stepDocument" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.stepDocument"></a>

```typescript
public readonly stepDocument: IRunDocumentLocation;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IRunDocumentLocation">IRunDocumentLocation</a>

---

##### `documentParameters`<sup>Optional</sup> <a name="documentParameters" id="@cdklabs/cdk-ssm-documents.RunDocumentStep.property.documentParameters"></a>

```typescript
public readonly documentParameters: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

---


### RunInstanceStep <a name="RunInstanceStep" id="@cdklabs/cdk-ssm-documents.RunInstanceStep"></a>

AutomationStep implemenation for aws:runInstance https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-runinstance.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.Initializer"></a>

```typescript
import { RunInstanceStep } from '@cdklabs/cdk-ssm-documents'

new RunInstanceStep(scope: Construct, id: string, props: RunInstanceStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps">RunInstanceStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps">RunInstanceStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.listInputs">listInputs</a></code> | Derives the inputs based on given variables. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Derives the inputs based on given variables.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.isConstruct"></a>

```typescript
import { RunInstanceStep } from '@cdklabs/cdk-ssm-documents'

RunInstanceStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.imageId">imageId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.additionalInfo">additionalInfo</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.blockDeviceMappings">blockDeviceMappings</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.clientToken">clientToken</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.disableApiTermination">disableApiTermination</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.ebsOptimized">ebsOptimized</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.iamInstanceProfileArn">iamInstanceProfileArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.iamInstanceProfileName">iamInstanceProfileName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.instanceInitiatedShutdownBehavior">instanceInitiatedShutdownBehavior</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.instanceType">instanceType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.kernelId">kernelId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.keyName">keyName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.maxInstanceCount">maxInstanceCount</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.minInstanceCount">minInstanceCount</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.monitoring">monitoring</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.networkInterfaces">networkInterfaces</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.placement">placement</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.privateIpAddress">privateIpAddress</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.ramdiskId">ramdiskId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.securityGroupIds">securityGroupIds</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.securityGroups">securityGroups</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.subnetId">subnetId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.tagSpecifications">tagSpecifications</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.userData">userData</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `imageId`<sup>Required</sup> <a name="imageId" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.imageId"></a>

```typescript
public readonly imageId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `additionalInfo`<sup>Optional</sup> <a name="additionalInfo" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.additionalInfo"></a>

```typescript
public readonly additionalInfo: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `blockDeviceMappings`<sup>Optional</sup> <a name="blockDeviceMappings" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.blockDeviceMappings"></a>

```typescript
public readonly blockDeviceMappings: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `clientToken`<sup>Optional</sup> <a name="clientToken" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.clientToken"></a>

```typescript
public readonly clientToken: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `disableApiTermination`<sup>Optional</sup> <a name="disableApiTermination" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.disableApiTermination"></a>

```typescript
public readonly disableApiTermination: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

---

##### `ebsOptimized`<sup>Optional</sup> <a name="ebsOptimized" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.ebsOptimized"></a>

```typescript
public readonly ebsOptimized: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

---

##### `iamInstanceProfileArn`<sup>Optional</sup> <a name="iamInstanceProfileArn" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.iamInstanceProfileArn"></a>

```typescript
public readonly iamInstanceProfileArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `iamInstanceProfileName`<sup>Optional</sup> <a name="iamInstanceProfileName" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.iamInstanceProfileName"></a>

```typescript
public readonly iamInstanceProfileName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `instanceInitiatedShutdownBehavior`<sup>Optional</sup> <a name="instanceInitiatedShutdownBehavior" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.instanceInitiatedShutdownBehavior"></a>

```typescript
public readonly instanceInitiatedShutdownBehavior: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.instanceType"></a>

```typescript
public readonly instanceType: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `kernelId`<sup>Optional</sup> <a name="kernelId" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.kernelId"></a>

```typescript
public readonly kernelId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `keyName`<sup>Optional</sup> <a name="keyName" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.keyName"></a>

```typescript
public readonly keyName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `maxInstanceCount`<sup>Optional</sup> <a name="maxInstanceCount" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.maxInstanceCount"></a>

```typescript
public readonly maxInstanceCount: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

---

##### `minInstanceCount`<sup>Optional</sup> <a name="minInstanceCount" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.minInstanceCount"></a>

```typescript
public readonly minInstanceCount: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

---

##### `monitoring`<sup>Optional</sup> <a name="monitoring" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.monitoring"></a>

```typescript
public readonly monitoring: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

---

##### `networkInterfaces`<sup>Optional</sup> <a name="networkInterfaces" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.networkInterfaces"></a>

```typescript
public readonly networkInterfaces: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `placement`<sup>Optional</sup> <a name="placement" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.placement"></a>

```typescript
public readonly placement: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

---

##### `privateIpAddress`<sup>Optional</sup> <a name="privateIpAddress" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.privateIpAddress"></a>

```typescript
public readonly privateIpAddress: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `ramdiskId`<sup>Optional</sup> <a name="ramdiskId" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.ramdiskId"></a>

```typescript
public readonly ramdiskId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `securityGroupIds`<sup>Optional</sup> <a name="securityGroupIds" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.securityGroupIds"></a>

```typescript
public readonly securityGroupIds: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---

##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.securityGroups"></a>

```typescript
public readonly securityGroups: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---

##### `subnetId`<sup>Optional</sup> <a name="subnetId" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.subnetId"></a>

```typescript
public readonly subnetId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `tagSpecifications`<sup>Optional</sup> <a name="tagSpecifications" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.tagSpecifications"></a>

```typescript
public readonly tagSpecifications: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `userData`<sup>Optional</sup> <a name="userData" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.userData"></a>

```typescript
public readonly userData: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.RunInstanceStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### RunPowerShellScriptStep <a name="RunPowerShellScriptStep" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep"></a>

AutomationStep implementation for aws:runPowerShellScript https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-runPowerShellScript.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.Initializer"></a>

```typescript
import { RunPowerShellScriptStep } from '@cdklabs/cdk-ssm-documents'

new RunPowerShellScriptStep(scope: Construct, id: string, props: RunPowerShellScriptStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps">RunPowerShellScriptStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps">RunPowerShellScriptStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.listInputs">listInputs</a></code> | Inputs required for this command includes both the runCommand variables and workingDirectory if provided. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Inputs required for this command includes both the runCommand variables and workingDirectory if provided.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.isConstruct"></a>

```typescript
import { RunPowerShellScriptStep } from '@cdklabs/cdk-ssm-documents'

RunPowerShellScriptStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.runCommand">runCommand</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.workingDirectory">workingDirectory</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `runCommand`<sup>Required</sup> <a name="runCommand" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.runCommand"></a>

```typescript
public readonly runCommand: IStringVariable[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `workingDirectory`<sup>Optional</sup> <a name="workingDirectory" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep.property.workingDirectory"></a>

```typescript
public readonly workingDirectory: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### RunShellScriptStep <a name="RunShellScriptStep" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep"></a>

AutomationStep implemenation for aws:runShellScript https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-sleep.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.Initializer"></a>

```typescript
import { RunShellScriptStep } from '@cdklabs/cdk-ssm-documents'

new RunShellScriptStep(scope: Construct, id: string, props: RunShellScriptStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps">RunShellScriptStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps">RunShellScriptStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.listInputs">listInputs</a></code> | Inputs required for this command includes both the runCommand variables and workingDirectory if provided. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Inputs required for this command includes both the runCommand variables and workingDirectory if provided.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.isConstruct"></a>

```typescript
import { RunShellScriptStep } from '@cdklabs/cdk-ssm-documents'

RunShellScriptStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.runCommand">runCommand</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.workingDirectory">workingDirectory</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `runCommand`<sup>Required</sup> <a name="runCommand" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.runCommand"></a>

```typescript
public readonly runCommand: IStringVariable[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `workingDirectory`<sup>Optional</sup> <a name="workingDirectory" id="@cdklabs/cdk-ssm-documents.RunShellScriptStep.property.workingDirectory"></a>

```typescript
public readonly workingDirectory: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### SleepStep <a name="SleepStep" id="@cdklabs/cdk-ssm-documents.SleepStep"></a>

AutomationStep implemenation for aws:sleep https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-sleep.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.SleepStep.Initializer"></a>

```typescript
import { SleepStep } from '@cdklabs/cdk-ssm-documents'

new SleepStep(scope: Construct, id: string, props: SleepStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps">SleepStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.SleepStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.SleepStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.SleepStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SleepStepProps">SleepStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.listInputs">listInputs</a></code> | No inputs required for Sleep step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.listOutputs">listOutputs</a></code> | No outputs emitted from Sleep step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.SleepStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.SleepStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.SleepStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.SleepStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

No inputs required for Sleep step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.SleepStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

No outputs emitted from Sleep step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.SleepStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.SleepStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.SleepStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.SleepStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.SleepStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.SleepStep.isConstruct"></a>

```typescript
import { SleepStep } from '@cdklabs/cdk-ssm-documents'

SleepStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.SleepStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.sleepSeconds">sleepSeconds</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.SleepStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.SleepStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.SleepStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.SleepStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.SleepStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.SleepStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.SleepStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.SleepStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.SleepStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.SleepStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.SleepStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.SleepStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.SleepStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.SleepStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.SleepStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `sleepSeconds`<sup>Required</sup> <a name="sleepSeconds" id="@cdklabs/cdk-ssm-documents.SleepStep.property.sleepSeconds"></a>

```typescript
public readonly sleepSeconds: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.SleepStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.SleepStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### SoftwareInventoryStep <a name="SoftwareInventoryStep" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep"></a>

AutomationStep implemenation for aws:softwareInventory https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-softwareinventory.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.Initializer"></a>

```typescript
import { SoftwareInventoryStep } from '@cdklabs/cdk-ssm-documents'

new SoftwareInventoryStep(scope: Construct, id: string, props: SoftwareInventoryStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps">SoftwareInventoryStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps">SoftwareInventoryStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.listInputs">listInputs</a></code> | All Inputs for this command are optional. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

All Inputs for this command are optional.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.isConstruct"></a>

```typescript
import { SoftwareInventoryStep } from '@cdklabs/cdk-ssm-documents'

SoftwareInventoryStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.applications">applications</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.awsComponents">awsComponents</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.customInventory">customInventory</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.files">files</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.instanceDetailedInformation">instanceDetailedInformation</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.networkConfig">networkConfig</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.services">services</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.windowsRegistry">windowsRegistry</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.windowsRoles">windowsRoles</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.windowsUpdates">windowsUpdates</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `applications`<sup>Optional</sup> <a name="applications" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.applications"></a>

```typescript
public readonly applications: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `awsComponents`<sup>Optional</sup> <a name="awsComponents" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.awsComponents"></a>

```typescript
public readonly awsComponents: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `customInventory`<sup>Optional</sup> <a name="customInventory" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.customInventory"></a>

```typescript
public readonly customInventory: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `files`<sup>Optional</sup> <a name="files" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.files"></a>

```typescript
public readonly files: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `instanceDetailedInformation`<sup>Optional</sup> <a name="instanceDetailedInformation" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.instanceDetailedInformation"></a>

```typescript
public readonly instanceDetailedInformation: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `networkConfig`<sup>Optional</sup> <a name="networkConfig" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.networkConfig"></a>

```typescript
public readonly networkConfig: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `services`<sup>Optional</sup> <a name="services" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.services"></a>

```typescript
public readonly services: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `windowsRegistry`<sup>Optional</sup> <a name="windowsRegistry" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.windowsRegistry"></a>

```typescript
public readonly windowsRegistry: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `windowsRoles`<sup>Optional</sup> <a name="windowsRoles" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.windowsRoles"></a>

```typescript
public readonly windowsRoles: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `windowsUpdates`<sup>Optional</sup> <a name="windowsUpdates" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStep.property.windowsUpdates"></a>

```typescript
public readonly windowsUpdates: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### SsmDocument <a name="SsmDocument" id="@cdklabs/cdk-ssm-documents.SsmDocument"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.SsmDocument.Initializer"></a>

```typescript
import { SsmDocument } from '@cdklabs/cdk-ssm-documents'

new SsmDocument(scope: Construct, id: string, props: SsmDocumentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps">SsmDocumentProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.SsmDocument.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.SsmDocument.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.SsmDocument.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps">SsmDocumentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.documentType">documentType</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.print">print</a></code> | Synthesize before calling this function! You can use this to Synthesize: cdk.SynthUtils.synthesize(stack); |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.SsmDocument.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.SsmDocument.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.SsmDocument.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `documentType` <a name="documentType" id="@cdklabs/cdk-ssm-documents.SsmDocument.documentType"></a>

```typescript
public documentType(): string
```

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.SsmDocument.print"></a>

```typescript
public print(): string
```

Synthesize before calling this function! You can use this to Synthesize: cdk.SynthUtils.synthesize(stack);

Converts the objects define in the SSM Document (including all of the steps) to an SSM document string.
The format is dependency on the documentFormat property provided to the class.
The yaml can be used as is and will behave (or at least should behave) as was simulated in the runSimulation().

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.SsmDocument.isConstruct"></a>

```typescript
import { SsmDocument } from '@cdklabs/cdk-ssm-documents'

SsmDocument.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.SsmDocument.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.property.cfnDocument">cfnDocument</a></code> | <code>aws-cdk-lib.aws_ssm.CfnDocument</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.property.docInputs">docInputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.property.docOutputs">docOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.property.documentName">documentName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.property.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps">SsmDocumentProps</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.property.assumeRole">assumeRole</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument.property.header">header</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.SsmDocument.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cfnDocument`<sup>Required</sup> <a name="cfnDocument" id="@cdklabs/cdk-ssm-documents.SsmDocument.property.cfnDocument"></a>

```typescript
public readonly cfnDocument: CfnDocument;
```

- *Type:* aws-cdk-lib.aws_ssm.CfnDocument

---

##### `description`<sup>Required</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.SsmDocument.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `docInputs`<sup>Required</sup> <a name="docInputs" id="@cdklabs/cdk-ssm-documents.SsmDocument.property.docInputs"></a>

```typescript
public readonly docInputs: Input[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]

---

##### `docOutputs`<sup>Required</sup> <a name="docOutputs" id="@cdklabs/cdk-ssm-documents.SsmDocument.property.docOutputs"></a>

```typescript
public readonly docOutputs: DocumentOutput[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]

---

##### `documentName`<sup>Required</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.SsmDocument.property.documentName"></a>

```typescript
public readonly documentName: string;
```

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.SsmDocument.property.props"></a>

```typescript
public readonly props: SsmDocumentProps;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps">SsmDocumentProps</a>

---

##### `assumeRole`<sup>Optional</sup> <a name="assumeRole" id="@cdklabs/cdk-ssm-documents.SsmDocument.property.assumeRole"></a>

```typescript
public readonly assumeRole: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `header`<sup>Optional</sup> <a name="header" id="@cdklabs/cdk-ssm-documents.SsmDocument.property.header"></a>

```typescript
public readonly header: string;
```

- *Type:* string

---


### Step <a name="Step" id="@cdklabs/cdk-ssm-documents.Step"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.Step.Initializer"></a>

```typescript
import { Step } from '@cdklabs/cdk-ssm-documents'

new Step(scope: Construct, id: string, props: StepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepProps">StepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.Step.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.Step.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Step.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepProps">StepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.listOutputs">listOutputs</a></code> | Lists the outputs that will be returned from this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.Step.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.Step.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.Step.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.Step.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.Step.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

Lists the outputs that will be returned from this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.Step.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.Step.isConstruct"></a>

```typescript
import { Step } from '@cdklabs/cdk-ssm-documents'

Step.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.Step.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Step.property.description">description</a></code> | <code>string</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.Step.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.Step.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.Step.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.Step.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.Step.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.Step.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---


### StringStep <a name="StringStep" id="@cdklabs/cdk-ssm-documents.StringStep"></a>

StringStep allows for including a step from an existing automation document verbatim.

This is useful in that it allows developers to integrate with existing document steps.
This step can be used just as you would use any other Step including simulation and deployment.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringStep.addToDocument">addToDocument</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.StringStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.StringStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.StringStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.StringStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.StringStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringStep.fromJson">fromJson</a></code> | Builds a step object from a json declaration. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringStep.fromObject">fromObject</a></code> | Builds a step object from an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringStep.fromYaml">fromYaml</a></code> | Builds a step object from a yaml declaration. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.StringStep.isConstruct"></a>

```typescript
import { StringStep } from '@cdklabs/cdk-ssm-documents'

StringStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.StringStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

##### `fromJson` <a name="fromJson" id="@cdklabs/cdk-ssm-documents.StringStep.fromJson"></a>

```typescript
import { StringStep } from '@cdklabs/cdk-ssm-documents'

StringStep.fromJson(scope: Construct, json: string)
```

Builds a step object from a json declaration.

You may cast the step afterword to the associated Step for this action
if you wish to gain access to action specific functionality,

###### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.StringStep.fromJson.parameter.scope"></a>

- *Type:* constructs.Construct

---

###### `json`<sup>Required</sup> <a name="json" id="@cdklabs/cdk-ssm-documents.StringStep.fromJson.parameter.json"></a>

- *Type:* string

---

##### `fromObject` <a name="fromObject" id="@cdklabs/cdk-ssm-documents.StringStep.fromObject"></a>

```typescript
import { StringStep } from '@cdklabs/cdk-ssm-documents'

StringStep.fromObject(scope: Construct, props: {[ key: string ]: any})
```

Builds a step object from an object.

You may cast the step afterword to the associated Step for this action
if you wish to gain access to action specific functionality,

###### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.StringStep.fromObject.parameter.scope"></a>

- *Type:* constructs.Construct

---

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.StringStep.fromObject.parameter.props"></a>

- *Type:* {[ key: string ]: any}

---

##### `fromYaml` <a name="fromYaml" id="@cdklabs/cdk-ssm-documents.StringStep.fromYaml"></a>

```typescript
import { StringStep } from '@cdklabs/cdk-ssm-documents'

StringStep.fromYaml(scope: Construct, inputYaml: string)
```

Builds a step object from a yaml declaration.

You may cast the step afterword to the associated Step for this action
if you wish to gain access to action specific functionality,

###### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.StringStep.fromYaml.parameter.scope"></a>

- *Type:* constructs.Construct

---

###### `inputYaml`<sup>Required</sup> <a name="inputYaml" id="@cdklabs/cdk-ssm-documents.StringStep.fromYaml.parameter.inputYaml"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.StringStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---


### TimedDocument <a name="TimedDocument" id="@cdklabs/cdk-ssm-documents.TimedDocument"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.TimedDocument.Initializer"></a>

```typescript
import { TimedDocument } from '@cdklabs/cdk-ssm-documents'

new TimedDocument(stage: Construct, id: string, props: AutomationDocumentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.Initializer.parameter.stage">stage</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps">AutomationDocumentProps</a></code> | *No description.* |

---

##### `stage`<sup>Required</sup> <a name="stage" id="@cdklabs/cdk-ssm-documents.TimedDocument.Initializer.parameter.stage"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.TimedDocument.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.TimedDocument.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps">AutomationDocumentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.documentType">documentType</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.print">print</a></code> | Synthesize before calling this function! You can use this to Synthesize: cdk.SynthUtils.synthesize(stack); |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.addStep">addStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.collectedSteps">collectedSteps</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.TimedDocument.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.TimedDocument.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.TimedDocument.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `documentType` <a name="documentType" id="@cdklabs/cdk-ssm-documents.TimedDocument.documentType"></a>

```typescript
public documentType(): string
```

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.TimedDocument.print"></a>

```typescript
public print(): string
```

Synthesize before calling this function! You can use this to Synthesize: cdk.SynthUtils.synthesize(stack);

Converts the objects define in the SSM Document (including all of the steps) to an SSM document string.
The format is dependency on the documentFormat property provided to the class.
The yaml can be used as is and will behave (or at least should behave) as was simulated in the runSimulation().

##### `addStep` <a name="addStep" id="@cdklabs/cdk-ssm-documents.TimedDocument.addStep"></a>

```typescript
public addStep(component: IAutomationComponent): void
```

###### `component`<sup>Required</sup> <a name="component" id="@cdklabs/cdk-ssm-documents.TimedDocument.addStep.parameter.component"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAutomationComponent">IAutomationComponent</a>

---

##### `collectedSteps` <a name="collectedSteps" id="@cdklabs/cdk-ssm-documents.TimedDocument.collectedSteps"></a>

```typescript
public collectedSteps(): AutomationStep[]
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.TimedDocument.isConstruct"></a>

```typescript
import { TimedDocument } from '@cdklabs/cdk-ssm-documents'

TimedDocument.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.TimedDocument.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.property.cfnDocument">cfnDocument</a></code> | <code>aws-cdk-lib.aws_ssm.CfnDocument</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.property.docInputs">docInputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.property.docOutputs">docOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.property.documentName">documentName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.property.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps">SsmDocumentProps</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.property.assumeRole">assumeRole</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.property.header">header</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.property.builder">builder</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.TimedDocument.property.docVariables">docVariables</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.TimedDocument.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `cfnDocument`<sup>Required</sup> <a name="cfnDocument" id="@cdklabs/cdk-ssm-documents.TimedDocument.property.cfnDocument"></a>

```typescript
public readonly cfnDocument: CfnDocument;
```

- *Type:* aws-cdk-lib.aws_ssm.CfnDocument

---

##### `description`<sup>Required</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.TimedDocument.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `docInputs`<sup>Required</sup> <a name="docInputs" id="@cdklabs/cdk-ssm-documents.TimedDocument.property.docInputs"></a>

```typescript
public readonly docInputs: Input[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]

---

##### `docOutputs`<sup>Required</sup> <a name="docOutputs" id="@cdklabs/cdk-ssm-documents.TimedDocument.property.docOutputs"></a>

```typescript
public readonly docOutputs: DocumentOutput[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]

---

##### `documentName`<sup>Required</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.TimedDocument.property.documentName"></a>

```typescript
public readonly documentName: string;
```

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.TimedDocument.property.props"></a>

```typescript
public readonly props: SsmDocumentProps;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps">SsmDocumentProps</a>

---

##### `assumeRole`<sup>Optional</sup> <a name="assumeRole" id="@cdklabs/cdk-ssm-documents.TimedDocument.property.assumeRole"></a>

```typescript
public readonly assumeRole: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `header`<sup>Optional</sup> <a name="header" id="@cdklabs/cdk-ssm-documents.TimedDocument.property.header"></a>

```typescript
public readonly header: string;
```

- *Type:* string

---

##### `builder`<sup>Required</sup> <a name="builder" id="@cdklabs/cdk-ssm-documents.TimedDocument.property.builder"></a>

```typescript
public readonly builder: AutomationDocumentBuilder;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `docVariables`<sup>Optional</sup> <a name="docVariables" id="@cdklabs/cdk-ssm-documents.TimedDocument.property.docVariables"></a>

```typescript
public readonly docVariables: Input[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]

---


### UpdateAgentStep <a name="UpdateAgentStep" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep"></a>

CommandStep implementation for aws:UpdateAgent https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-updateagent.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.Initializer"></a>

```typescript
import { UpdateAgentStep } from '@cdklabs/cdk-ssm-documents'

new UpdateAgentStep(scope: Construct, id: string, props: UpdateAgentStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps">UpdateAgentStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps">UpdateAgentStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.listInputs">listInputs</a></code> | Inputs required for this command include agentName allowDowngrade source and targetVersion if version other than latest is desired. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Inputs required for this command include agentName allowDowngrade source and targetVersion if version other than latest is desired.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.isConstruct"></a>

```typescript
import { UpdateAgentStep } from '@cdklabs/cdk-ssm-documents'

UpdateAgentStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.agentName">agentName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.source">source</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.allowDowngrade">allowDowngrade</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.targetVersion">targetVersion</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `agentName`<sup>Required</sup> <a name="agentName" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.agentName"></a>

```typescript
public readonly agentName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `source`<sup>Required</sup> <a name="source" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.source"></a>

```typescript
public readonly source: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `allowDowngrade`<sup>Optional</sup> <a name="allowDowngrade" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.allowDowngrade"></a>

```typescript
public readonly allowDowngrade: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

---

##### `targetVersion`<sup>Optional</sup> <a name="targetVersion" id="@cdklabs/cdk-ssm-documents.UpdateAgentStep.property.targetVersion"></a>

```typescript
public readonly targetVersion: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### UpdateSSMAgentStep <a name="UpdateSSMAgentStep" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep"></a>

AutomationStep implemenation for aws:UpdateSsmAgent https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-updatessmagent.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.Initializer"></a>

```typescript
import { UpdateSSMAgentStep } from '@cdklabs/cdk-ssm-documents'

new UpdateSSMAgentStep(scope: Construct, id: string, props: UpdateSSMAgentStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps">UpdateSSMAgentStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps">UpdateSSMAgentStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.listInputs">listInputs</a></code> | Inputs required for this command include agentName allowDowngrade source and targetVersion if version other than latest is desired. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.listOutputs">listOutputs</a></code> | RunCommand Steps do not have outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Inputs required for this command include agentName allowDowngrade source and targetVersion if version other than latest is desired.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

RunCommand Steps do not have outputs.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.isConstruct"></a>

```typescript
import { UpdateSSMAgentStep } from '@cdklabs/cdk-ssm-documents'

UpdateSSMAgentStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.platforms">platforms</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.agentName">agentName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.allowDowngrade">allowDowngrade</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.source">source</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.targetVersion">targetVersion</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `exitOnFailure`<sup>Required</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean

---

##### `exitOnSuccess`<sup>Required</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean

---

##### `finallyStep`<sup>Required</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Required</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `platforms`<sup>Required</sup> <a name="platforms" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.platforms"></a>

```typescript
public readonly platforms: Platform[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>[]

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.nextStep"></a>

```typescript
public readonly nextStep: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `agentName`<sup>Required</sup> <a name="agentName" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.agentName"></a>

```typescript
public readonly agentName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `allowDowngrade`<sup>Required</sup> <a name="allowDowngrade" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.allowDowngrade"></a>

```typescript
public readonly allowDowngrade: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

---

##### `source`<sup>Required</sup> <a name="source" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.source"></a>

```typescript
public readonly source: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `targetVersion`<sup>Optional</sup> <a name="targetVersion" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep.property.targetVersion"></a>

```typescript
public readonly targetVersion: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### UpdateVariableStep <a name="UpdateVariableStep" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep"></a>

AutomationStep implementation for aws:updateVariable https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-update-variable.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.Initializer"></a>

```typescript
import { UpdateVariableStep } from '@cdklabs/cdk-ssm-documents'

new UpdateVariableStep(scope: Construct, id: string, props: UpdateVariableProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps">UpdateVariableProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps">UpdateVariableProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.listInputs">listInputs</a></code> | Lists the inputs that are required for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.listOutputs">listOutputs</a></code> | No outputs emitted from update variable step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Lists the inputs that are required for this step.

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

No outputs emitted from update variable step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.isConstruct"></a>

```typescript
import { UpdateVariableStep } from '@cdklabs/cdk-ssm-documents'

UpdateVariableStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.variableName">variableName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.variableValue">variableValue</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a></code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `variableName`<sup>Required</sup> <a name="variableName" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.variableName"></a>

```typescript
public readonly variableName: string;
```

- *Type:* string

---

##### `variableValue`<sup>Required</sup> <a name="variableValue" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.variableValue"></a>

```typescript
public readonly variableValue: IGenericVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.UpdateVariableStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

### WaitForResourceStep <a name="WaitForResourceStep" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep"></a>

AutomationStep impl for aws:waitForAwsResourceProperty https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-waitForAwsResourceProperty.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.Initializer"></a>

```typescript
import { WaitForResourceStep } from '@cdklabs/cdk-ssm-documents'

new WaitForResourceStep(scope: Construct, id: string, props: WaitForResourceStepProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps">WaitForResourceStepProps</a></code> | *No description.* |

---

##### `scope`<sup>Required</sup> <a name="scope" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.Initializer.parameter.scope"></a>

- *Type:* constructs.Construct

---

##### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.Initializer.parameter.id"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps">WaitForResourceStepProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.toString">toString</a></code> | Returns a string representation of this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.with">with</a></code> | Applies one or more mixins to this construct. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.listInputs">listInputs</a></code> | Derives the inputs by parsing the apiParams to find matches for inputs in double circle braces ("{{ INPUT }}"). |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.listOutputs">listOutputs</a></code> | There are no outputs for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.toSsmEntry">toSsmEntry</a></code> | Converts this step into an object to prepare for yaml/json representation of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.addToDocument">addToDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.listUserOutputs">listUserOutputs</a></code> | Lists the outputs defined by the user for this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.variables">variables</a></code> | *No description.* |

---

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of this construct.

##### `with` <a name="with" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.with"></a>

```typescript
public with(mixins: ...IMixin[]): IConstruct
```

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple `with()` calls if subsequent mixins should apply to added
constructs.

###### `mixins`<sup>Required</sup> <a name="mixins" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.with.parameter.mixins"></a>

- *Type:* ...constructs.IMixin[]

The mixins to apply.

---

##### `listInputs` <a name="listInputs" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.listInputs"></a>

```typescript
public listInputs(): string[]
```

Derives the inputs by parsing the apiParams to find matches for inputs in double circle braces ("{{ INPUT }}").

##### `listOutputs` <a name="listOutputs" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.listOutputs"></a>

```typescript
public listOutputs(): Output[]
```

There are no outputs for this step.

##### `toSsmEntry` <a name="toSsmEntry" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.toSsmEntry"></a>

```typescript
public toSsmEntry(): {[ key: string ]: any}
```

Converts this step into an object to prepare for yaml/json representation of this step.

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---

##### `listUserOutputs` <a name="listUserOutputs" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.listUserOutputs"></a>

```typescript
public listUserOutputs(): Output[]
```

Lists the outputs defined by the user for this step.

##### `variables` <a name="variables" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.variables"></a>

```typescript
public variables(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |

---

##### `isConstruct` <a name="isConstruct" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.isConstruct"></a>

```typescript
import { WaitForResourceStep } from '@cdklabs/cdk-ssm-documents'

WaitForResourceStep.isConstruct(x: any)
```

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct`
instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on
disk are seen as independent, completely different libraries. As a
consequence, the class `Construct` in each copy of the `constructs` library
is seen as a different class, and an instance of one class will not test as
`instanceof` the other class. `npm install` will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the `constructs`
library can be accidentally installed, and `instanceof` will behave
unpredictably. It is safest to avoid using `instanceof`, and using
this type-testing method instead.

###### `x`<sup>Required</sup> <a name="x" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.isConstruct.parameter.x"></a>

- *Type:* any

Any object.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.isEnd">isEnd</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.allStepsInExecution">allStepsInExecution</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.nextStep">nextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.apiParams">apiParams</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DictFormat">DictFormat</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.javaScriptApi">javaScriptApi</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.outputs">outputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.pascalCaseApi">pascalCaseApi</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.service">service</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.desiredValues">desiredValues</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.selector">selector</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.sleepIntervalMillis">sleepIntervalMillis</a></code> | <code>number</code> | *No description.* |

---

##### `node`<sup>Required</sup> <a name="node" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.node"></a>

```typescript
public readonly node: Node;
```

- *Type:* constructs.Node

The tree node.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `isEnd`<sup>Required</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean

---

##### `maxAttempts`<sup>Required</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number

---

##### `onCancel`<sup>Required</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>

---

##### `onFailure`<sup>Required</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>

---

##### `timeoutSeconds`<sup>Required</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `allStepsInExecution`<sup>Optional</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.allStepsInExecution"></a>

```typescript
public readonly allStepsInExecution: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

##### `nextStep`<sup>Optional</sup> <a name="nextStep" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.nextStep"></a>

```typescript
public readonly nextStep: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `apiParams`<sup>Required</sup> <a name="apiParams" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.apiParams"></a>

```typescript
public readonly apiParams: DictFormat;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DictFormat">DictFormat</a>

---

##### `javaScriptApi`<sup>Required</sup> <a name="javaScriptApi" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.javaScriptApi"></a>

```typescript
public readonly javaScriptApi: string;
```

- *Type:* string

---

##### `outputs`<sup>Required</sup> <a name="outputs" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.outputs"></a>

```typescript
public readonly outputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

---

##### `pascalCaseApi`<sup>Required</sup> <a name="pascalCaseApi" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.pascalCaseApi"></a>

```typescript
public readonly pascalCaseApi: string;
```

- *Type:* string

---

##### `service`<sup>Required</sup> <a name="service" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.service"></a>

```typescript
public readonly service: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `desiredValues`<sup>Required</sup> <a name="desiredValues" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.desiredValues"></a>

```typescript
public readonly desiredValues: string[];
```

- *Type:* string[]

---

##### `selector`<sup>Required</sup> <a name="selector" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.selector"></a>

```typescript
public readonly selector: string;
```

- *Type:* string

---

##### `sleepIntervalMillis`<sup>Required</sup> <a name="sleepIntervalMillis" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.sleepIntervalMillis"></a>

```typescript
public readonly sleepIntervalMillis: number;
```

- *Type:* number

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.DEFAULT_MAX_ATTEMPTS">DEFAULT_MAX_ATTEMPTS</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></code> | <code>number</code> | *No description.* |

---

##### `DEFAULT_MAX_ATTEMPTS`<sup>Required</sup> <a name="DEFAULT_MAX_ATTEMPTS" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.DEFAULT_MAX_ATTEMPTS"></a>

```typescript
public readonly DEFAULT_MAX_ATTEMPTS: number;
```

- *Type:* number

---

##### `DEFAULT_TIMEOUT`<sup>Required</sup> <a name="DEFAULT_TIMEOUT" id="@cdklabs/cdk-ssm-documents.WaitForResourceStep.property.DEFAULT_TIMEOUT"></a>

```typescript
public readonly DEFAULT_TIMEOUT: number;
```

- *Type:* number

---

## Structs <a name="Structs" id="Structs"></a>

### ApiExecuteAutomationProps <a name="ApiExecuteAutomationProps" id="@cdklabs/cdk-ssm-documents.ApiExecuteAutomationProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ApiExecuteAutomationProps.Initializer"></a>

```typescript
import { ApiExecuteAutomationProps } from '@cdklabs/cdk-ssm-documents'

const apiExecuteAutomationProps: ApiExecuteAutomationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiExecuteAutomationProps.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiExecuteAutomationProps.property.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | *No description.* |

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.ApiExecuteAutomationProps.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

---

##### `sleepHook`<sup>Required</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.ApiExecuteAutomationProps.property.sleepHook"></a>

```typescript
public readonly sleepHook: ISleepHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>

---

### ApiRunCommandProps <a name="ApiRunCommandProps" id="@cdklabs/cdk-ssm-documents.ApiRunCommandProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ApiRunCommandProps.Initializer"></a>

```typescript
import { ApiRunCommandProps } from '@cdklabs/cdk-ssm-documents'

const apiRunCommandProps: ApiRunCommandProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiRunCommandProps.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiRunCommandProps.property.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | *No description.* |

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.ApiRunCommandProps.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

---

##### `sleepHook`<sup>Required</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.ApiRunCommandProps.property.sleepHook"></a>

```typescript
public readonly sleepHook: ISleepHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>

---

### ApplicationsStepProps <a name="ApplicationsStepProps" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.Initializer"></a>

```typescript
import { ApplicationsStepProps } from '@cdklabs/cdk-ssm-documents'

const applicationsStepProps: ApplicationsStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.action">action</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IInstallUninstallRepairVariable">IInstallUninstallRepairVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.source">source</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.parameters">parameters</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.sourceHash">sourceHash</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.action"></a>

```typescript
public readonly action: IInstallUninstallRepairVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IInstallUninstallRepairVariable">IInstallUninstallRepairVariable</a>

---

##### `source`<sup>Required</sup> <a name="source" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.source"></a>

```typescript
public readonly source: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `parameters`<sup>Optional</sup> <a name="parameters" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.parameters"></a>

```typescript
public readonly parameters: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `sourceHash`<sup>Optional</sup> <a name="sourceHash" id="@cdklabs/cdk-ssm-documents.ApplicationsStepProps.property.sourceHash"></a>

```typescript
public readonly sourceHash: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

### ApproveSimulationProps <a name="ApproveSimulationProps" id="@cdklabs/cdk-ssm-documents.ApproveSimulationProps"></a>

Properties for ApproveStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ApproveSimulationProps.Initializer"></a>

```typescript
import { ApproveSimulationProps } from '@cdklabs/cdk-ssm-documents'

const approveSimulationProps: ApproveSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveSimulationProps.property.approveHook">approveHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a></code> | (Optional) Approve hook to be called to pause the execution. |

---

##### `approveHook`<sup>Required</sup> <a name="approveHook" id="@cdklabs/cdk-ssm-documents.ApproveSimulationProps.property.approveHook"></a>

```typescript
public readonly approveHook: IApproveHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a>
- *Default:* ApproveHook instance. ApproveHook may not work in exported JSII languages. Override interface as needed.

(Optional) Approve hook to be called to pause the execution.

To mock this implementation either inject an instance of IApproveHook or use the provided MockApprove class.

---

### ApproveStepProps <a name="ApproveStepProps" id="@cdklabs/cdk-ssm-documents.ApproveStepProps"></a>

Properties for ApproveStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.Initializer"></a>

```typescript
import { ApproveStepProps } from '@cdklabs/cdk-ssm-documents'

const approveStepProps: ApproveStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.approvers">approvers</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | A list of AWS authenticated principals who are able to either approve or reject the action. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.message">message</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The information you want to include in the Amazon SNS topic when the approval request is sent. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.minRequiredApprovals">minRequiredApprovals</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | (Optional) The minimum number of approvals required to resume the automation. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStepProps.property.notificationArn">notificationArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The Amazon Resource Name (ARN of an Amazon Simple Notification Service (Amazon SNS) topic for Automation approvals. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `approvers`<sup>Required</sup> <a name="approvers" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.approvers"></a>

```typescript
public readonly approvers: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

A list of AWS authenticated principals who are able to either approve or reject the action.

The maximum number of approvers is 10.

You can specify principals by using any of the following formats:
* An AWS Identity and Access Management (IAM) user name
* An IAM user ARN
* An IAM role ARN
* An IAM assume role user ARN

---

##### `message`<sup>Optional</sup> <a name="message" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.message"></a>

```typescript
public readonly message: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The information you want to include in the Amazon SNS topic when the approval request is sent.

The maximum message length is 4096 characters.

---

##### `minRequiredApprovals`<sup>Optional</sup> <a name="minRequiredApprovals" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.minRequiredApprovals"></a>

```typescript
public readonly minRequiredApprovals: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

(Optional) The minimum number of approvals required to resume the automation.

If you don't specify a value, the system defaults to one. The value for this parameter must be a positive number. The value for this parameter can't exceed the number of approvers defined by the Approvers parameter.

---

##### `notificationArn`<sup>Optional</sup> <a name="notificationArn" id="@cdklabs/cdk-ssm-documents.ApproveStepProps.property.notificationArn"></a>

```typescript
public readonly notificationArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The Amazon Resource Name (ARN of an Amazon Simple Notification Service (Amazon SNS) topic for Automation approvals.

When you specify an aws:approve step in a runbook, Automation sends a message to this topic letting principals know that they must either approve or reject an Automation step. The title of the Amazon SNS topic must be prefixed with "Automation".

---

### AssertAwsResourceStepProps <a name="AssertAwsResourceStepProps" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps"></a>

Properties for AssertAwsResourceStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.Initializer"></a>

```typescript
import { AssertAwsResourceStepProps } from '@cdklabs/cdk-ssm-documents'

const assertAwsResourceStepProps: AssertAwsResourceStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.apiParams">apiParams</a></code> | <code>{[ key: string ]: any}</code> | (Required) API Params to submit with the request to the api. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.pascalCaseApi">pascalCaseApi</a></code> | <code>string</code> | (Required) The AWS api represented in PascalCase. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.service">service</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | (Required) The AWS service to be invoked. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.javaScriptApi">javaScriptApi</a></code> | <code>string</code> | (Optional) The api as represented the AWS JavaScript API. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.desiredValues">desiredValues</a></code> | <code>string[]</code> | (Required) Value extracted from AWS response desired to be one of these desired values. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.selector">selector</a></code> | <code>string</code> | (Required) Json path selector to extract value from AWS response. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `apiParams`<sup>Required</sup> <a name="apiParams" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.apiParams"></a>

```typescript
public readonly apiParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

(Required) API Params to submit with the request to the api.

You may include variables which will be substitued for inputs during step execution as such {{ INPUT }}

---

*Example*

```typescript
{ 'VolumeIds': ['{{ EbsDescribeInstance.VolumeId }}'] }
```


##### `pascalCaseApi`<sup>Required</sup> <a name="pascalCaseApi" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.pascalCaseApi"></a>

```typescript
public readonly pascalCaseApi: string;
```

- *Type:* string

(Required) The AWS api represented in PascalCase.

This value is used as-is in the SSM yaml/json.
This is used as the default for javaScriptApi (see that param).

---

*Example*

```typescript
DescribeInstances
```


##### `service`<sup>Required</sup> <a name="service" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.service"></a>

```typescript
public readonly service: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

(Required) The AWS service to be invoked.

---

*Example*

```typescript
AwsService.S3
```


##### `javaScriptApi`<sup>Optional</sup> <a name="javaScriptApi" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.javaScriptApi"></a>

```typescript
public readonly javaScriptApi: string;
```

- *Type:* string
- *Default:* will use the camelCaseApi param and substitute the first character for lowercase by default.

(Optional) The api as represented the AWS JavaScript API.

This is usually lowerCamelCase.
This is used in the simulation run to execute the AWS API against the JavaScript SDK.

---

*Example*

```typescript
describeInstances
```


##### `desiredValues`<sup>Required</sup> <a name="desiredValues" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.desiredValues"></a>

```typescript
public readonly desiredValues: string[];
```

- *Type:* string[]

(Required) Value extracted from AWS response desired to be one of these desired values.

---

##### `selector`<sup>Required</sup> <a name="selector" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceStepProps.property.selector"></a>

```typescript
public readonly selector: string;
```

- *Type:* string

(Required) Json path selector to extract value from AWS response.

---

### AutomationDocumentProps <a name="AutomationDocumentProps" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps"></a>

Options for AutomationDocument.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.Initializer"></a>

```typescript
import { AutomationDocumentProps } from '@cdklabs/cdk-ssm-documents'

const automationDocumentProps: AutomationDocumentProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.assumeRole">assumeRole</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Assume role to use for this document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.description">description</a></code> | <code>string</code> | (Optional) Description of the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.docInputs">docInputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]</code> | (Optional) Inputs required by the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.docOutputs">docOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]</code> | (Optional) Outputs to be emitted from the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.documentFormat">documentFormat</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentFormat">DocumentFormat</a></code> | (Optional) Specifies whether this document should be written as YAML or JSON. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.documentName">documentName</a></code> | <code>string</code> | (Optional) Name of the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.header">header</a></code> | <code>string</code> | (Optional) A Header/comment to include at the start of a YAML document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.requires">requires</a></code> | <code>aws-cdk-lib.IResolvable \| aws-cdk-lib.aws_ssm.CfnDocument.DocumentRequiresProperty \| aws-cdk-lib.IResolvable[]</code> | `AWS::SSM::Document.Requires`. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.tags">tags</a></code> | <code>aws-cdk-lib.CfnTag[]</code> | `AWS::SSM::Document.Tags`. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.targetType">targetType</a></code> | <code>string</code> | `AWS::SSM::Document.TargetType`. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.updateMethod">updateMethod</a></code> | <code>string</code> | If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.versionName">versionName</a></code> | <code>string</code> | `AWS::SSM::Document.VersionName`. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.docVariables">docVariables</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]</code> | (Optional) Custom document variables. |

---

##### `assumeRole`<sup>Optional</sup> <a name="assumeRole" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.assumeRole"></a>

```typescript
public readonly assumeRole: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Assume role to use for this document.

If provided, this value MUST be included as one of the documentInput names.

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

(Optional) Description of the document.

Defaults to the document name.

---

##### `docInputs`<sup>Optional</sup> <a name="docInputs" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.docInputs"></a>

```typescript
public readonly docInputs: Input[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]

(Optional) Inputs required by the document.

---

##### `docOutputs`<sup>Optional</sup> <a name="docOutputs" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.docOutputs"></a>

```typescript
public readonly docOutputs: DocumentOutput[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]
- *Default:* []

(Optional) Outputs to be emitted from the document.

The outputs are placed in a StringSet called outputs (as is done in SSM).

---

##### `documentFormat`<sup>Optional</sup> <a name="documentFormat" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.documentFormat"></a>

```typescript
public readonly documentFormat: DocumentFormat;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentFormat">DocumentFormat</a>
- *Default:* JSON

(Optional) Specifies whether this document should be written as YAML or JSON.

---

##### `documentName`<sup>Optional</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.documentName"></a>

```typescript
public readonly documentName: string;
```

- *Type:* string

(Optional) Name of the document.

Will default to the id provided for the CDK node.

---

##### `header`<sup>Optional</sup> <a name="header" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.header"></a>

```typescript
public readonly header: string;
```

- *Type:* string

(Optional) A Header/comment to include at the start of a YAML document.

JSON documents do not support headers.

---

##### `requires`<sup>Optional</sup> <a name="requires" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.requires"></a>

```typescript
public readonly requires: IResolvable | (DocumentRequiresProperty | IResolvable)[];
```

- *Type:* aws-cdk-lib.IResolvable | aws-cdk-lib.aws_ssm.CfnDocument.DocumentRequiresProperty | aws-cdk-lib.IResolvable[]

`AWS::SSM::Document.Requires`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-requires](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-requires)

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.tags"></a>

```typescript
public readonly tags: CfnTag[];
```

- *Type:* aws-cdk-lib.CfnTag[]

`AWS::SSM::Document.Tags`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-tags](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-tags)

---

##### `targetType`<sup>Optional</sup> <a name="targetType" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.targetType"></a>

```typescript
public readonly targetType: string;
```

- *Type:* string

`AWS::SSM::Document.TargetType`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-targettype](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-targettype)

---

##### `updateMethod`<sup>Optional</sup> <a name="updateMethod" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.updateMethod"></a>

```typescript
public readonly updateMethod: string;
```

- *Type:* string

If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced.

`Replace` is the default method. If you specify `NewVersion` for the `UpdateMethod` parameter, and the `Name` of the document does not match an existing resource, a new document is created. When you specify `NewVersion` , the default version of the document is changed to the newly created version.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-updatemethod](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-updatemethod)

---

##### `versionName`<sup>Optional</sup> <a name="versionName" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.versionName"></a>

```typescript
public readonly versionName: string;
```

- *Type:* string

`AWS::SSM::Document.VersionName`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-versionname](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-versionname)

---

##### `docVariables`<sup>Optional</sup> <a name="docVariables" id="@cdklabs/cdk-ssm-documents.AutomationDocumentProps.property.docVariables"></a>

```typescript
public readonly docVariables: Input[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]

(Optional) Custom document variables.

---

### AutomationSimulationProps <a name="AutomationSimulationProps" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps.Initializer"></a>

```typescript
import { AutomationSimulationProps } from '@cdklabs/cdk-ssm-documents'

const automationSimulationProps: AutomationSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.approveHook">approveHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a></code> | (Optional) Approve hook to be called to pause the execution. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | (Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call). |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.executeAutomationHook">executeAutomationHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IExecuteAutomationHook">IExecuteAutomationHook</a></code> | Hook for simulating aws:executeAutomation. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.parameterResolver">parameterResolver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IParameterResolver">IParameterResolver</a></code> | (Optional) Resolver for secure strings in parameters. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.pauseHook">pauseHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IPauseHook">IPauseHook</a></code> | (Optional) Pause hook to be called to pause the execution. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.runCommandHook">runCommandHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IRunCommandHook">IRunCommandHook</a></code> | Hook for simulating aws:runCommand. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | (Optional) Hook to inject alternate ISleeper (to mock the sleep between failed invocations). |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.webhook">webhook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IWebhook">IWebhook</a></code> | (Optional) Hook for simulating aws:invokeWebhook. |

---

##### `approveHook`<sup>Optional</sup> <a name="approveHook" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.approveHook"></a>

```typescript
public readonly approveHook: IApproveHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a>
- *Default:* ApproveHook instance. ApproveHook may not work in exported JSII languages. Override interface as needed.

(Optional) Approve hook to be called to pause the execution.

To mock this implementation either inject an instance of IApproveHook or use the provided MockApprove class.

---

##### `awsInvoker`<sup>Optional</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>
- *Default:* will perform a real invocation of the JavaScript AWS SDK using ReflectiveAwsInvoker class.

(Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call).

---

##### `executeAutomationHook`<sup>Optional</sup> <a name="executeAutomationHook" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.executeAutomationHook"></a>

```typescript
public readonly executeAutomationHook: IExecuteAutomationHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IExecuteAutomationHook">IExecuteAutomationHook</a>
- *Default:* Uses AWS API to execute the document remotely.

Hook for simulating aws:executeAutomation.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `parameterResolver`<sup>Optional</sup> <a name="parameterResolver" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.parameterResolver"></a>

```typescript
public readonly parameterResolver: IParameterResolver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IParameterResolver">IParameterResolver</a>
- *Default:* Treats parameters as literal

(Optional) Resolver for secure strings in parameters.

Required to simulate if using tokens in parameters input.

---

##### `pauseHook`<sup>Optional</sup> <a name="pauseHook" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.pauseHook"></a>

```typescript
public readonly pauseHook: IPauseHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IPauseHook">IPauseHook</a>
- *Default:* PauseHook instance. PauseHook may not work in exported JSII languages. Override interface as needed.

(Optional) Pause hook to be called to pause the execution.

To mock this implemenation either inject an instance of IPauseHook or use the provided MockPause class.

---

##### `runCommandHook`<sup>Optional</sup> <a name="runCommandHook" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.runCommandHook"></a>

```typescript
public readonly runCommandHook: IRunCommandHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IRunCommandHook">IRunCommandHook</a>
- *Default:* Uses AWS API to execute the document remotely.

Hook for simulating aws:runCommand.

---

##### `sleepHook`<sup>Optional</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.sleepHook"></a>

```typescript
public readonly sleepHook: ISleepHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>
- *Default:* really perform sleep using SleeperImpl class.

(Optional) Hook to inject alternate ISleeper (to mock the sleep between failed invocations).

---

##### `webhook`<sup>Optional</sup> <a name="webhook" id="@cdklabs/cdk-ssm-documents.AutomationSimulationProps.property.webhook"></a>

```typescript
public readonly webhook: IWebhook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IWebhook">IWebhook</a>
- *Default:* Returns 204 with an empty response

(Optional) Hook for simulating aws:invokeWebhook.

---

### AutomationStepProps <a name="AutomationStepProps" id="@cdklabs/cdk-ssm-documents.AutomationStepProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.Initializer"></a>

```typescript
import { AutomationStepProps } from '@cdklabs/cdk-ssm-documents'

const automationStepProps: AutomationStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.AutomationStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

### AwsApiStepProps <a name="AwsApiStepProps" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps"></a>

Properties for AwsInvocation.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.Initializer"></a>

```typescript
import { AwsApiStepProps } from '@cdklabs/cdk-ssm-documents'

const awsApiStepProps: AwsApiStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.apiParams">apiParams</a></code> | <code>{[ key: string ]: any}</code> | (Required) API Params to submit with the request to the api. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.pascalCaseApi">pascalCaseApi</a></code> | <code>string</code> | (Required) The AWS api represented in PascalCase. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.service">service</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | (Required) The AWS service to be invoked. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.javaScriptApi">javaScriptApi</a></code> | <code>string</code> | (Optional) The api as represented the AWS JavaScript API. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.outputs">outputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Required) specify the outputs to extract from the JavaScript JSON response. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `apiParams`<sup>Required</sup> <a name="apiParams" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.apiParams"></a>

```typescript
public readonly apiParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

(Required) API Params to submit with the request to the api.

You may include variables which will be substitued for inputs during step execution as such {{ INPUT }}

---

*Example*

```typescript
{ 'VolumeIds': ['{{ EbsDescribeInstance.VolumeId }}'] }
```


##### `pascalCaseApi`<sup>Required</sup> <a name="pascalCaseApi" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.pascalCaseApi"></a>

```typescript
public readonly pascalCaseApi: string;
```

- *Type:* string

(Required) The AWS api represented in PascalCase.

This value is used as-is in the SSM yaml/json.
This is used as the default for javaScriptApi (see that param).

---

*Example*

```typescript
DescribeInstances
```


##### `service`<sup>Required</sup> <a name="service" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.service"></a>

```typescript
public readonly service: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

(Required) The AWS service to be invoked.

---

*Example*

```typescript
AwsService.S3
```


##### `javaScriptApi`<sup>Optional</sup> <a name="javaScriptApi" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.javaScriptApi"></a>

```typescript
public readonly javaScriptApi: string;
```

- *Type:* string
- *Default:* will use the camelCaseApi param and substitute the first character for lowercase by default.

(Optional) The api as represented the AWS JavaScript API.

This is usually lowerCamelCase.
This is used in the simulation run to execute the AWS API against the JavaScript SDK.

---

*Example*

```typescript
describeInstances
```


##### `outputs`<sup>Required</sup> <a name="outputs" id="@cdklabs/cdk-ssm-documents.AwsApiStepProps.property.outputs"></a>

```typescript
public readonly outputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]

(Required) specify the outputs to extract from the JavaScript JSON response.

---

### AwsInvocationProps <a name="AwsInvocationProps" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.Initializer"></a>

```typescript
import { AwsInvocationProps } from '@cdklabs/cdk-ssm-documents'

const awsInvocationProps: AwsInvocationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.apiParams">apiParams</a></code> | <code>{[ key: string ]: any}</code> | (Required) API Params to submit with the request to the api. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.pascalCaseApi">pascalCaseApi</a></code> | <code>string</code> | (Required) The AWS api represented in PascalCase. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.service">service</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | (Required) The AWS service to be invoked. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.javaScriptApi">javaScriptApi</a></code> | <code>string</code> | (Optional) The api as represented the AWS JavaScript API. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `apiParams`<sup>Required</sup> <a name="apiParams" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.apiParams"></a>

```typescript
public readonly apiParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

(Required) API Params to submit with the request to the api.

You may include variables which will be substitued for inputs during step execution as such {{ INPUT }}

---

*Example*

```typescript
{ 'VolumeIds': ['{{ EbsDescribeInstance.VolumeId }}'] }
```


##### `pascalCaseApi`<sup>Required</sup> <a name="pascalCaseApi" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.pascalCaseApi"></a>

```typescript
public readonly pascalCaseApi: string;
```

- *Type:* string

(Required) The AWS api represented in PascalCase.

This value is used as-is in the SSM yaml/json.
This is used as the default for javaScriptApi (see that param).

---

*Example*

```typescript
DescribeInstances
```


##### `service`<sup>Required</sup> <a name="service" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.service"></a>

```typescript
public readonly service: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

(Required) The AWS service to be invoked.

---

*Example*

```typescript
AwsService.S3
```


##### `javaScriptApi`<sup>Optional</sup> <a name="javaScriptApi" id="@cdklabs/cdk-ssm-documents.AwsInvocationProps.property.javaScriptApi"></a>

```typescript
public readonly javaScriptApi: string;
```

- *Type:* string
- *Default:* will use the camelCaseApi param and substitute the first character for lowercase by default.

(Optional) The api as represented the AWS JavaScript API.

This is usually lowerCamelCase.
This is used in the simulation run to execute the AWS API against the JavaScript SDK.

---

*Example*

```typescript
describeInstances
```


### AwsInvocationSimulationProps <a name="AwsInvocationSimulationProps" id="@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps.Initializer"></a>

```typescript
import { AwsInvocationSimulationProps } from '@cdklabs/cdk-ssm-documents'

const awsInvocationSimulationProps: AwsInvocationSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | (Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call). |

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>
- *Default:* will perform a real invocation of the JavaScript AWS SDK using ReflectiveAwsInvoker class.

(Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call).

---

### BodyOrUrlProp <a name="BodyOrUrlProp" id="@cdklabs/cdk-ssm-documents.BodyOrUrlProp"></a>

Allow passing in a body or URL version of the property value.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.BodyOrUrlProp.Initializer"></a>

```typescript
import { BodyOrUrlProp } from '@cdklabs/cdk-ssm-documents'

const bodyOrUrlProp: BodyOrUrlProp = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BodyOrUrlProp.property.propType">propType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.BodyOrUrlType">BodyOrUrlType</a></code> | Whether the body or URL was provided. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BodyOrUrlProp.property.value">value</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | Body or URL string. |

---

##### `propType`<sup>Required</sup> <a name="propType" id="@cdklabs/cdk-ssm-documents.BodyOrUrlProp.property.propType"></a>

```typescript
public readonly propType: BodyOrUrlType;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.BodyOrUrlType">BodyOrUrlType</a>

Whether the body or URL was provided.

---

##### `value`<sup>Required</sup> <a name="value" id="@cdklabs/cdk-ssm-documents.BodyOrUrlProp.property.value"></a>

```typescript
public readonly value: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

Body or URL string.

---

### BooleanInputProps <a name="BooleanInputProps" id="@cdklabs/cdk-ssm-documents.BooleanInputProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.BooleanInputProps.Initializer"></a>

```typescript
import { BooleanInputProps } from '@cdklabs/cdk-ssm-documents'

const booleanInputProps: BooleanInputProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BooleanInputProps.property.defaultValue">defaultValue</a></code> | <code>boolean</code> | (Optional) Default value to use for this input if not specified when invoking the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BooleanInputProps.property.description">description</a></code> | <code>string</code> | (Optional) The description of the input. |

---

##### `defaultValue`<sup>Optional</sup> <a name="defaultValue" id="@cdklabs/cdk-ssm-documents.BooleanInputProps.property.defaultValue"></a>

```typescript
public readonly defaultValue: boolean;
```

- *Type:* boolean
- *Default:* undefined

(Optional) Default value to use for this input if not specified when invoking the document.

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.BooleanInputProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* name

(Optional) The description of the input.

---

### BranchStepProps <a name="BranchStepProps" id="@cdklabs/cdk-ssm-documents.BranchStepProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.BranchStepProps.Initializer"></a>

```typescript
import { BranchStepProps } from '@cdklabs/cdk-ssm-documents'

const branchStepProps: BranchStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.choices">choices</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Choice">Choice</a>[]</code> | (Required) list of choices. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchStepProps.property.defaultStepName">defaultStepName</a></code> | <code>string</code> | (Optional) default step in all of the choices evaluate to false. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `choices`<sup>Required</sup> <a name="choices" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.choices"></a>

```typescript
public readonly choices: Choice[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Choice">Choice</a>[]

(Required) list of choices.

The first matched choice will be used to jump to the step specified in the choice.

---

##### `defaultStepName`<sup>Optional</sup> <a name="defaultStepName" id="@cdklabs/cdk-ssm-documents.BranchStepProps.property.defaultStepName"></a>

```typescript
public readonly defaultStepName: string;
```

- *Type:* string
- *Default:* undefined - the next step in the chain will be invoked. See AWS Documentation for branch below.

(Optional) default step in all of the choices evaluate to false.

---

### ChangeInstanceStateSimulationProps <a name="ChangeInstanceStateSimulationProps" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps"></a>

Properties for ChangeInstanceStateStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.Initializer"></a>

```typescript
import { ChangeInstanceStateSimulationProps } from '@cdklabs/cdk-ssm-documents'

const changeInstanceStateSimulationProps: ChangeInstanceStateSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | (Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call). |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulationProps.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>
- *Default:* will perform a real invocation of the JavaScript AWS SDK using ReflectiveAwsInvoker class.

(Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call).

---

### ChangeInstanceStateStepProps <a name="ChangeInstanceStateStepProps" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps"></a>

Properties for ChangeInstanceStateStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.Initializer"></a>

```typescript
import { ChangeInstanceStateStepProps } from '@cdklabs/cdk-ssm-documents'

const changeInstanceStateStepProps: ChangeInstanceStateStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.desiredState">desiredState</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IDesiredStateVariable">IDesiredStateVariable</a></code> | The desired state. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.instanceIds">instanceIds</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | The IDs of the instances. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.additionalInfo">additionalInfo</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Reserved. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.checkStateOnly">checkStateOnly</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | (Optional) If false, sets the instance state to the desired state. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.force">force</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | (Optional) If set, forces the instances to stop. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `desiredState`<sup>Required</sup> <a name="desiredState" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.desiredState"></a>

```typescript
public readonly desiredState: IDesiredStateVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IDesiredStateVariable">IDesiredStateVariable</a>

The desired state.

When set to running, this action waits for the Amazon EC2 state to be Running, the Instance Status to be OK,
and the System Status to be OK before completing.

---

##### `instanceIds`<sup>Required</sup> <a name="instanceIds" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.instanceIds"></a>

```typescript
public readonly instanceIds: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

The IDs of the instances.

---

##### `additionalInfo`<sup>Optional</sup> <a name="additionalInfo" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.additionalInfo"></a>

```typescript
public readonly additionalInfo: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Reserved.

---

##### `checkStateOnly`<sup>Optional</sup> <a name="checkStateOnly" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.checkStateOnly"></a>

```typescript
public readonly checkStateOnly: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>
- *Default:* false

(Optional) If false, sets the instance state to the desired state.

If true, asserts the desired state using polling.

---

##### `force`<sup>Optional</sup> <a name="force" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateStepProps.property.force"></a>

```typescript
public readonly force: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

(Optional) If set, forces the instances to stop.

The instances don't have an opportunity to flush file system caches or file system metadata.
If you use this option, you must perform file system check and repair procedures.
This option isn't recommended for EC2 instances for Windows Server.

---

### ChoiceProps <a name="ChoiceProps" id="@cdklabs/cdk-ssm-documents.ChoiceProps"></a>

Properties for a Choice used by the BranchStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ChoiceProps.Initializer"></a>

```typescript
import { ChoiceProps } from '@cdklabs/cdk-ssm-documents'

const choiceProps: ChoiceProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChoiceProps.property.constant">constant</a></code> | <code>any</code> | (Required) the constant to test against the inputToTest. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChoiceProps.property.jumpToStepName">jumpToStepName</a></code> | <code>string</code> | A step to jump to if this choice is evaluated to true. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChoiceProps.property.operation">operation</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a></code> | (Required) The operation used to compare the inputToTest with the constant. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChoiceProps.property.variable">variable</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a> \| <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a> \| <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Required) the input used to test using the operation with the constant. |

---

##### `constant`<sup>Required</sup> <a name="constant" id="@cdklabs/cdk-ssm-documents.ChoiceProps.property.constant"></a>

```typescript
public readonly constant: any;
```

- *Type:* any

(Required) the constant to test against the inputToTest.

---

##### `jumpToStepName`<sup>Required</sup> <a name="jumpToStepName" id="@cdklabs/cdk-ssm-documents.ChoiceProps.property.jumpToStepName"></a>

```typescript
public readonly jumpToStepName: string;
```

- *Type:* string

A step to jump to if this choice is evaluated to true.

Must reference another step in the currently executing AutomationDocument.

---

##### `operation`<sup>Required</sup> <a name="operation" id="@cdklabs/cdk-ssm-documents.ChoiceProps.property.operation"></a>

```typescript
public readonly operation: Operation;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a>

(Required) The operation used to compare the inputToTest with the constant.

---

##### `variable`<sup>Required</sup> <a name="variable" id="@cdklabs/cdk-ssm-documents.ChoiceProps.property.variable"></a>

```typescript
public readonly variable: IBooleanVariable | INumberVariable | IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a> | <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a> | <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Required) the input used to test using the operation with the constant.

---

### CommandDocumentProps <a name="CommandDocumentProps" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.Initializer"></a>

```typescript
import { CommandDocumentProps } from '@cdklabs/cdk-ssm-documents'

const commandDocumentProps: CommandDocumentProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.assumeRole">assumeRole</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Assume role to use for this document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.description">description</a></code> | <code>string</code> | (Optional) Description of the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.docInputs">docInputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]</code> | (Optional) Inputs required by the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.docOutputs">docOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]</code> | (Optional) Outputs to be emitted from the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.documentFormat">documentFormat</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentFormat">DocumentFormat</a></code> | (Optional) Specifies whether this document should be written as YAML or JSON. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.documentName">documentName</a></code> | <code>string</code> | (Optional) Name of the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.header">header</a></code> | <code>string</code> | (Optional) A Header/comment to include at the start of a YAML document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.requires">requires</a></code> | <code>aws-cdk-lib.IResolvable \| aws-cdk-lib.aws_ssm.CfnDocument.DocumentRequiresProperty \| aws-cdk-lib.IResolvable[]</code> | `AWS::SSM::Document.Requires`. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.tags">tags</a></code> | <code>aws-cdk-lib.CfnTag[]</code> | `AWS::SSM::Document.Tags`. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.targetType">targetType</a></code> | <code>string</code> | `AWS::SSM::Document.TargetType`. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.updateMethod">updateMethod</a></code> | <code>string</code> | If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.versionName">versionName</a></code> | <code>string</code> | `AWS::SSM::Document.VersionName`. |

---

##### `assumeRole`<sup>Optional</sup> <a name="assumeRole" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.assumeRole"></a>

```typescript
public readonly assumeRole: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Assume role to use for this document.

If provided, this value MUST be included as one of the documentInput names.

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

(Optional) Description of the document.

Defaults to the document name.

---

##### `docInputs`<sup>Optional</sup> <a name="docInputs" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.docInputs"></a>

```typescript
public readonly docInputs: Input[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]

(Optional) Inputs required by the document.

---

##### `docOutputs`<sup>Optional</sup> <a name="docOutputs" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.docOutputs"></a>

```typescript
public readonly docOutputs: DocumentOutput[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]
- *Default:* []

(Optional) Outputs to be emitted from the document.

The outputs are placed in a StringSet called outputs (as is done in SSM).

---

##### `documentFormat`<sup>Optional</sup> <a name="documentFormat" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.documentFormat"></a>

```typescript
public readonly documentFormat: DocumentFormat;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentFormat">DocumentFormat</a>
- *Default:* JSON

(Optional) Specifies whether this document should be written as YAML or JSON.

---

##### `documentName`<sup>Optional</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.documentName"></a>

```typescript
public readonly documentName: string;
```

- *Type:* string

(Optional) Name of the document.

Will default to the id provided for the CDK node.

---

##### `header`<sup>Optional</sup> <a name="header" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.header"></a>

```typescript
public readonly header: string;
```

- *Type:* string

(Optional) A Header/comment to include at the start of a YAML document.

JSON documents do not support headers.

---

##### `requires`<sup>Optional</sup> <a name="requires" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.requires"></a>

```typescript
public readonly requires: IResolvable | (DocumentRequiresProperty | IResolvable)[];
```

- *Type:* aws-cdk-lib.IResolvable | aws-cdk-lib.aws_ssm.CfnDocument.DocumentRequiresProperty | aws-cdk-lib.IResolvable[]

`AWS::SSM::Document.Requires`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-requires](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-requires)

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.tags"></a>

```typescript
public readonly tags: CfnTag[];
```

- *Type:* aws-cdk-lib.CfnTag[]

`AWS::SSM::Document.Tags`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-tags](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-tags)

---

##### `targetType`<sup>Optional</sup> <a name="targetType" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.targetType"></a>

```typescript
public readonly targetType: string;
```

- *Type:* string

`AWS::SSM::Document.TargetType`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-targettype](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-targettype)

---

##### `updateMethod`<sup>Optional</sup> <a name="updateMethod" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.updateMethod"></a>

```typescript
public readonly updateMethod: string;
```

- *Type:* string

If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced.

`Replace` is the default method. If you specify `NewVersion` for the `UpdateMethod` parameter, and the `Name` of the document does not match an existing resource, a new document is created. When you specify `NewVersion` , the default version of the document is changed to the newly created version.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-updatemethod](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-updatemethod)

---

##### `versionName`<sup>Optional</sup> <a name="versionName" id="@cdklabs/cdk-ssm-documents.CommandDocumentProps.property.versionName"></a>

```typescript
public readonly versionName: string;
```

- *Type:* string

`AWS::SSM::Document.VersionName`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-versionname](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-versionname)

---

### CommandSimulationProps <a name="CommandSimulationProps" id="@cdklabs/cdk-ssm-documents.CommandSimulationProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.CommandSimulationProps.Initializer"></a>

```typescript
import { CommandSimulationProps } from '@cdklabs/cdk-ssm-documents'

const commandSimulationProps: CommandSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandSimulationProps.property.simulationPlatform">simulationPlatform</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a></code> | The Platform used in executing the command step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandSimulationProps.property.environment">environment</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a></code> | (Optional) Specify here the environment in which to execute the scripts. |

---

##### `simulationPlatform`<sup>Required</sup> <a name="simulationPlatform" id="@cdklabs/cdk-ssm-documents.CommandSimulationProps.property.simulationPlatform"></a>

```typescript
public readonly simulationPlatform: Platform;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>

The Platform used in executing the command step.

---

##### `environment`<sup>Optional</sup> <a name="environment" id="@cdklabs/cdk-ssm-documents.CommandSimulationProps.property.environment"></a>

```typescript
public readonly environment: IEnvironment;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a>
- *Default:* LoggingEnvironment

(Optional) Specify here the environment in which to execute the scripts.

Use the DockerEnvironment to execute the commands inside the docker.
You can alternatively use the LoggingEnvironment which simply logs the commands
or MockEnvironment which saves them for validation.

---

### CommandStepProps <a name="CommandStepProps" id="@cdklabs/cdk-ssm-documents.CommandStepProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.CommandStepProps.Initializer"></a>

```typescript
import { CommandStepProps } from '@cdklabs/cdk-ssm-documents'

const commandStepProps: CommandStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CommandStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.CommandStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.CommandStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.CommandStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.CommandStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.CommandStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.CommandStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.CommandStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.CommandStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.CommandStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

### ConfigureDockerStepProps <a name="ConfigureDockerStepProps" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps"></a>

Properties for ConfigureDocker step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.Initializer"></a>

```typescript
import { ConfigureDockerStepProps } from '@cdklabs/cdk-ssm-documents'

const configureDockerStepProps: ConfigureDockerStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.action">action</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a></code> | The type of action to perform. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ConfigureDockerStepProps.property.action"></a>

```typescript
public readonly action: IActionVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a>

The type of action to perform.

True correlates to "Install" false correlates to "Uninstall"

---

### ConfigurePackageStepProps <a name="ConfigurePackageStepProps" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps"></a>

Properties ConfigurePackage step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.Initializer"></a>

```typescript
import { ConfigurePackageStepProps } from '@cdklabs/cdk-ssm-documents'

const configurePackageStepProps: ConfigurePackageStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.packageAction">packageAction</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a></code> | Install or uninstall a package. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.packageName">packageName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IPackageNameVariable">IPackageNameVariable</a></code> | The name of the AWS package to install or uninstall. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.additionalArguments">additionalArguments</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | The additional parameters to provide to your install, uninstall, or update scripts. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.installationType">installationType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IInstallationTypeVariable">IInstallationTypeVariable</a></code> | The type of installation to perform. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.version">version</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | A specific version of the package to install or uninstall. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `packageAction`<sup>Required</sup> <a name="packageAction" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.packageAction"></a>

```typescript
public readonly packageAction: IActionVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a>

Install or uninstall a package.

---

##### `packageName`<sup>Required</sup> <a name="packageName" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.packageName"></a>

```typescript
public readonly packageName: IPackageNameVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IPackageNameVariable">IPackageNameVariable</a>

The name of the AWS package to install or uninstall.

---

##### `additionalArguments`<sup>Optional</sup> <a name="additionalArguments" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.additionalArguments"></a>

```typescript
public readonly additionalArguments: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

The additional parameters to provide to your install, uninstall, or update scripts.

Each parameter must be prefixed with SSM_.
You can reference a Parameter Store parameter in your additional arguments by using the convention {{ ssm:parameter-name }}.
To use the additional parameter in your install, uninstall, or update script,
you must reference the parameter as an environment variable using the syntax appropriate for the operating system.
For example, in PowerShell, you reference the SSM_arg argument as $Env:SSM_arg.
There is no limit to the number of arguments you define, but the additional argument input has a 4096 character limit.
This limit includes all of the keys and values you define.

---

##### `installationType`<sup>Optional</sup> <a name="installationType" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.installationType"></a>

```typescript
public readonly installationType: IInstallationTypeVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IInstallationTypeVariable">IInstallationTypeVariable</a>

The type of installation to perform.

If you specify Uninstall and reinstall, the package is completely uninstalled, and then reinstalled.
The application is unavailable until the reinstallation is complete.
If you specify In-place update, only new or changed files are added to the existing installation according you instructions you provide in an update script.
The application remains available throughout the update process.
The In-place update option isn't supported for AWS-published packages. Uninstall and reinstall is the default value.

---

##### `version`<sup>Optional</sup> <a name="version" id="@cdklabs/cdk-ssm-documents.ConfigurePackageStepProps.property.version"></a>

```typescript
public readonly version: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

A specific version of the package to install or uninstall.

If installing, the system installs the latest published version, by default.
If uninstalling, the system uninstalls the currently installed version, by default.
If no installed version is found, the latest published version is downloaded, and the uninstall action is run.

---

### CopyImageStepProps <a name="CopyImageStepProps" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps"></a>

Properties for CopyImageStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.Initializer"></a>

```typescript
import { CopyImageStepProps } from '@cdklabs/cdk-ssm-documents'

const copyImageStepProps: CopyImageStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.imageName">imageName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The name for the image. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.sourceImageId">sourceImageId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The AMI ID to copy from the source Region. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.sourceRegion">sourceRegion</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The region where the source AMI exists. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.clientToken">clientToken</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) A unique, case-sensitive identifier that you provide to ensure request idempotency. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.encrypted">encrypted</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | (Optional) Encrypt the target AMI. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.imageDescription">imageDescription</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) A description of the image. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.kmsKeyId">kmsKeyId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The full Amazon Resource Name (ARN) of the AWS KMS key to use when encrypting the snapshots of an image during a copy operation. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `imageName`<sup>Required</sup> <a name="imageName" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.imageName"></a>

```typescript
public readonly imageName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The name for the image.

---

##### `sourceImageId`<sup>Required</sup> <a name="sourceImageId" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.sourceImageId"></a>

```typescript
public readonly sourceImageId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The AMI ID to copy from the source Region.

---

##### `sourceRegion`<sup>Required</sup> <a name="sourceRegion" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.sourceRegion"></a>

```typescript
public readonly sourceRegion: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The region where the source AMI exists.

---

##### `clientToken`<sup>Optional</sup> <a name="clientToken" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.clientToken"></a>

```typescript
public readonly clientToken: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) A unique, case-sensitive identifier that you provide to ensure request idempotency.

---

##### `encrypted`<sup>Optional</sup> <a name="encrypted" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.encrypted"></a>

```typescript
public readonly encrypted: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

(Optional) Encrypt the target AMI.

---

##### `imageDescription`<sup>Optional</sup> <a name="imageDescription" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.imageDescription"></a>

```typescript
public readonly imageDescription: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) A description of the image.

---

##### `kmsKeyId`<sup>Optional</sup> <a name="kmsKeyId" id="@cdklabs/cdk-ssm-documents.CopyImageStepProps.property.kmsKeyId"></a>

```typescript
public readonly kmsKeyId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The full Amazon Resource Name (ARN) of the AWS KMS key to use when encrypting the snapshots of an image during a copy operation.

---

### CreateImageStepProps <a name="CreateImageStepProps" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps"></a>

Properties for CreateImageStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.Initializer"></a>

```typescript
import { CreateImageStepProps } from '@cdklabs/cdk-ssm-documents'

const createImageStepProps: CreateImageStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.imageName">imageName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The name for the image. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.instanceId">instanceId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The ID of the instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.blockDeviceMappings">blockDeviceMappings</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | (Optional) The block devices for the instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.imageDescription">imageDescription</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) A description of the image. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.noReboot">noReboot</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | (Optional) By default, Amazon Elastic Compute Cloud (Amazon EC2) attempts to shut down and reboot the instance before creating the image. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `imageName`<sup>Required</sup> <a name="imageName" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.imageName"></a>

```typescript
public readonly imageName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The name for the image.

---

##### `instanceId`<sup>Required</sup> <a name="instanceId" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.instanceId"></a>

```typescript
public readonly instanceId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The ID of the instance.

---

##### `blockDeviceMappings`<sup>Optional</sup> <a name="blockDeviceMappings" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.blockDeviceMappings"></a>

```typescript
public readonly blockDeviceMappings: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

(Optional) The block devices for the instance.

---

##### `imageDescription`<sup>Optional</sup> <a name="imageDescription" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.imageDescription"></a>

```typescript
public readonly imageDescription: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) A description of the image.

---

##### `noReboot`<sup>Optional</sup> <a name="noReboot" id="@cdklabs/cdk-ssm-documents.CreateImageStepProps.property.noReboot"></a>

```typescript
public readonly noReboot: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

(Optional) By default, Amazon Elastic Compute Cloud (Amazon EC2) attempts to shut down and reboot the instance before creating the image.

If the No Reboot option is set to true, Amazon EC2 doesn't shut down the instance before creating the image. When this option is used, file system integrity on the created image can't be guaranteed.
If you don't want the instance to run after you create an AMI from it, first use the aws:changeInstanceState – Change or assert instance state action to stop the instance, and then use this aws:createImage action with the NoReboot option set to true.

---

### CreateStackSimulationProps <a name="CreateStackSimulationProps" id="@cdklabs/cdk-ssm-documents.CreateStackSimulationProps"></a>

Properties for CreateStackStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.CreateStackSimulationProps.Initializer"></a>

```typescript
import { CreateStackSimulationProps } from '@cdklabs/cdk-ssm-documents'

const createStackSimulationProps: CreateStackSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackSimulationProps.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | (Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call). |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackSimulationProps.property.parameterResolver">parameterResolver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IParameterResolver">IParameterResolver</a></code> | (Optional) Resolver for secure strings in parameters. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackSimulationProps.property.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | (Optional) Whether to really perform a pause of the runtime. |

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.CreateStackSimulationProps.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>
- *Default:* will perform a real invocation of the JavaScript AWS SDK using ReflectiveAwsInvoker class.

(Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call).

---

##### `parameterResolver`<sup>Required</sup> <a name="parameterResolver" id="@cdklabs/cdk-ssm-documents.CreateStackSimulationProps.property.parameterResolver"></a>

```typescript
public readonly parameterResolver: IParameterResolver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IParameterResolver">IParameterResolver</a>
- *Default:* Treats parameters as literal

(Optional) Resolver for secure strings in parameters.

Required to simulate if using tokens in parameters input.

---

##### `sleepHook`<sup>Required</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.CreateStackSimulationProps.property.sleepHook"></a>

```typescript
public readonly sleepHook: ISleepHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>
- *Default:* SleeperImpl

(Optional) Whether to really perform a pause of the runtime.

To override sleep behavior, inject an ISleepHook impl or use the provided MockSleep class.

---

### CreateStackStepProps <a name="CreateStackStepProps" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps"></a>

Properties for CreateStackStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.Initializer"></a>

```typescript
import { CreateStackStepProps } from '@cdklabs/cdk-ssm-documents'

const createStackStepProps: CreateStackStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.stackName">stackName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The name that is associated with the stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.template">template</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.BodyOrUrlProp">BodyOrUrlProp</a></code> | Template body or URL. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.capabilities">capabilities</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | (Optional) A list of values that you specify before CloudFormation can create certain stacks. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.clientRequestToken">clientRequestToken</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) A unique identifier for this CreateStack request. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.notificationARNs">notificationARNs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | (Optional) The Amazon Simple Notification Service (Amazon SNS) topic ARNs for publishing stack-related events. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.onStackFailure">onStackFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IOnFailureVariable">IOnFailureVariable</a></code> | (Optional) Determines the action to take if stack creation failed. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.parameters">parameters</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | (Optional) A list of Parameter structures that specify input parameters for the stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.resourceTypes">resourceTypes</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | (Optional) The template resource types that you have permissions to work with for this create stack action. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.roleArn">roleArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that CloudFormation assumes to create the stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.stackPolicy">stackPolicy</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.BodyOrUrlProp">BodyOrUrlProp</a></code> | (Optional) Stack policy body or URL. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.tags">tags</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | (Optional) Key-value pairs to associate with this stack. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.timeoutInMinutes">timeoutInMinutes</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | (Optional) The amount of time that can pass before the stack status becomes CREATE_FAILED. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `stackName`<sup>Required</sup> <a name="stackName" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.stackName"></a>

```typescript
public readonly stackName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The name that is associated with the stack.

The name must be unique in the Region in which you're creating the stack.

---

##### `template`<sup>Required</sup> <a name="template" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.template"></a>

```typescript
public readonly template: BodyOrUrlProp;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.BodyOrUrlProp">BodyOrUrlProp</a>

Template body or URL.

For more information, see [Template Anatomy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html).

---

##### `capabilities`<sup>Optional</sup> <a name="capabilities" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.capabilities"></a>

```typescript
public readonly capabilities: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

(Optional) A list of values that you specify before CloudFormation can create certain stacks.

Some stack templates include resources that can affect permissions in your AWS account.
For example, creating new AWS Identity and Access Management (IAM) users can affect permissions in your account.
For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

Valid values include CAPABILITY_IAM, CAPABILITY_NAMED_IAM, and CAPABILITY_AUTO_EXPAND.

---

##### `clientRequestToken`<sup>Optional</sup> <a name="clientRequestToken" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.clientRequestToken"></a>

```typescript
public readonly clientRequestToken: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) A unique identifier for this CreateStack request.

Specify this token if you set maxAttempts in this step to a value greater than 1.
By specifying this token, CloudFormation knows that you aren't attempting to create a new stack with the same name.

---

##### `notificationARNs`<sup>Optional</sup> <a name="notificationARNs" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.notificationARNs"></a>

```typescript
public readonly notificationARNs: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

(Optional) The Amazon Simple Notification Service (Amazon SNS) topic ARNs for publishing stack-related events.

---

##### `onStackFailure`<sup>Optional</sup> <a name="onStackFailure" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.onStackFailure"></a>

```typescript
public readonly onStackFailure: IOnFailureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IOnFailureVariable">IOnFailureVariable</a>
- *Default:* Rollback on failure

(Optional) Determines the action to take if stack creation failed.

---

##### `parameters`<sup>Optional</sup> <a name="parameters" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.parameters"></a>

```typescript
public readonly parameters: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

(Optional) A list of Parameter structures that specify input parameters for the stack.

For more information, see the [Parameter](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html) data type.

---

##### `resourceTypes`<sup>Optional</sup> <a name="resourceTypes" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.resourceTypes"></a>

```typescript
public readonly resourceTypes: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

(Optional) The template resource types that you have permissions to work with for this create stack action.

For example: AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

---

##### `roleArn`<sup>Optional</sup> <a name="roleArn" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.roleArn"></a>

```typescript
public readonly roleArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that CloudFormation assumes to create the stack.

CloudFormation uses the role's credentials to make calls on your behalf.
CloudFormation always uses this role for all future operations on the stack.
As long as users have permission to operate on the stack, CloudFormation uses this role even
if the users don't have permission to pass it. Ensure that the role grants the least amount of privileges.

If you don't specify a value, CloudFormation uses the role that was previously associated with the stack.
If no role is available, CloudFormation uses a temporary session that is generated from your user credentials.

---

##### `stackPolicy`<sup>Optional</sup> <a name="stackPolicy" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.stackPolicy"></a>

```typescript
public readonly stackPolicy: BodyOrUrlProp;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.BodyOrUrlProp">BodyOrUrlProp</a>

(Optional) Stack policy body or URL.

For more information, see [Prevent Updates to Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html).

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.tags"></a>

```typescript
public readonly tags: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

(Optional) Key-value pairs to associate with this stack.

CloudFormation also propagates these tags to the resources created in the stack. You can specify a maximum number of 10 tags.

---

##### `timeoutInMinutes`<sup>Optional</sup> <a name="timeoutInMinutes" id="@cdklabs/cdk-ssm-documents.CreateStackStepProps.property.timeoutInMinutes"></a>

```typescript
public readonly timeoutInMinutes: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

(Optional) The amount of time that can pass before the stack status becomes CREATE_FAILED.

If DisableRollback isn't set or is set to false, the stack will be rolled back.

---

### CreateTagsSimulationProps <a name="CreateTagsSimulationProps" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulationProps"></a>

Properties for CreateTagStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulationProps.Initializer"></a>

```typescript
import { CreateTagsSimulationProps } from '@cdklabs/cdk-ssm-documents'

const createTagsSimulationProps: CreateTagsSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsSimulationProps.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | (Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call). |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsSimulationProps.property.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | (Optional) Whether to really perform a pause of the runtime. |

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulationProps.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>
- *Default:* will perform a real invocation of the JavaScript AWS SDK using ReflectiveAwsInvoker class.

(Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call).

---

##### `sleepHook`<sup>Required</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulationProps.property.sleepHook"></a>

```typescript
public readonly sleepHook: ISleepHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>
- *Default:* SleeperImpl

(Optional) Whether to really perform a pause of the runtime.

To override sleep behavior, inject an ISleepHook impl or use the provided MockSleep class.

---

### CreateTagsStepProps <a name="CreateTagsStepProps" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps"></a>

Properties for CreateTagStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.Initializer"></a>

```typescript
import { CreateTagsStepProps } from '@cdklabs/cdk-ssm-documents'

const createTagsStepProps: CreateTagsStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.resourceIds">resourceIds</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | The IDs of the resource(s) to be tagged. |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.tags">tags</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | The tags to associate with the resource(s). |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.resourceType">resourceType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IResourceTypeVariable">IResourceTypeVariable</a></code> | (Optional) The type of resource(s) to be tagged. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `resourceIds`<sup>Required</sup> <a name="resourceIds" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.resourceIds"></a>

```typescript
public readonly resourceIds: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

The IDs of the resource(s) to be tagged.

If resource type isn't “EC2”, this field can contain only a single item.

---

##### `tags`<sup>Required</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.tags"></a>

```typescript
public readonly tags: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

The tags to associate with the resource(s).

---

##### `resourceType`<sup>Optional</sup> <a name="resourceType" id="@cdklabs/cdk-ssm-documents.CreateTagsStepProps.property.resourceType"></a>

```typescript
public readonly resourceType: IResourceTypeVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IResourceTypeVariable">IResourceTypeVariable</a>
- *Default:* EC2

(Optional) The type of resource(s) to be tagged.

Valid values: EC2 | ManagedInstance | MaintenanceWindow | Parameter

---

### DeleteImageSimulationProps <a name="DeleteImageSimulationProps" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulationProps"></a>

Properties for DeleteImageStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulationProps.Initializer"></a>

```typescript
import { DeleteImageSimulationProps } from '@cdklabs/cdk-ssm-documents'

const deleteImageSimulationProps: DeleteImageSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageSimulationProps.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | (Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call). |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageSimulationProps.property.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | (Optional) Whether to really perform a pause of the runtime. |

---

##### `awsInvoker`<sup>Optional</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulationProps.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>
- *Default:* will perform a real invocation of the JavaScript AWS SDK using ReflectiveAwsInvoker class.

(Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call).

---

##### `sleepHook`<sup>Optional</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulationProps.property.sleepHook"></a>

```typescript
public readonly sleepHook: ISleepHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>
- *Default:* SleeperImpl

(Optional) Whether to really perform a pause of the runtime.

To override sleep behavior, inject an ISleepHook impl or use the provided MockSleep class.

---

### DeleteImageStepProps <a name="DeleteImageStepProps" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps"></a>

Properties for DeleteImageStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.Initializer"></a>

```typescript
import { DeleteImageStepProps } from '@cdklabs/cdk-ssm-documents'

const deleteImageStepProps: DeleteImageStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.imageId">imageId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The ID of the image to be deleted. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `imageId`<sup>Required</sup> <a name="imageId" id="@cdklabs/cdk-ssm-documents.DeleteImageStepProps.property.imageId"></a>

```typescript
public readonly imageId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The ID of the image to be deleted.

---

### DeleteStackStepProps <a name="DeleteStackStepProps" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps"></a>

Properties for DeleteStackStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.Initializer"></a>

```typescript
import { DeleteStackStepProps } from '@cdklabs/cdk-ssm-documents'

const deleteStackStepProps: DeleteStackStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.stackNameVariable">stackNameVariable</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Variable that is fed into this step declaring which stack to delete. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.roleArn">roleArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that CloudFormation assumes to create the stack. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `stackNameVariable`<sup>Required</sup> <a name="stackNameVariable" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.stackNameVariable"></a>

```typescript
public readonly stackNameVariable: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>
- *Default:* StackName is the default value.

(Optional) Variable that is fed into this step declaring which stack to delete.

---

##### `roleArn`<sup>Optional</sup> <a name="roleArn" id="@cdklabs/cdk-ssm-documents.DeleteStackStepProps.property.roleArn"></a>

```typescript
public readonly roleArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that CloudFormation assumes to create the stack.

CloudFormation uses the role's credentials to make calls on your behalf.
CloudFormation always uses this role for all future operations on the stack.
As long as users have permission to operate on the stack, CloudFormation uses this role even
if the users don't have permission to pass it. Ensure that the role grants the least amount of privileges.

If you don't specify a value, CloudFormation uses the role that was previously associated with the stack.
If no role is available, CloudFormation uses a temporary session that is generated from your user credentials.

---

### DocumentOutput <a name="DocumentOutput" id="@cdklabs/cdk-ssm-documents.DocumentOutput"></a>

Outputs from a document via one of the steps.

The outputs are available for use in other documents calling this document via aws:executeAutomation.
The outputs returned from an automation document are returned as a String list named "ouptuts".

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.DocumentOutput.Initializer"></a>

```typescript
import { DocumentOutput } from '@cdklabs/cdk-ssm-documents'

const documentOutput: DocumentOutput = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentOutput.property.name">name</a></code> | <code>string</code> | The step and name (in STEP.NAME format) to identify an output expected from one of the document steps. The name must therefore identify a step and an output or will fail validation. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentOutput.property.outputType">outputType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a></code> | The DataType expected by this output. |

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.DocumentOutput.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The step and name (in STEP.NAME format) to identify an output expected from one of the document steps. The name must therefore identify a step and an output or will fail validation.

---

*Example*

```typescript
MyStep.MyOutput
```


##### `outputType`<sup>Required</sup> <a name="outputType" id="@cdklabs/cdk-ssm-documents.DocumentOutput.property.outputType"></a>

```typescript
public readonly outputType: DataTypeEnum;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a>

The DataType expected by this output.

This will be validated in simulation mode and will also be used when printing to yaml/json.

---

### DocumentResult <a name="DocumentResult" id="@cdklabs/cdk-ssm-documents.DocumentResult"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.DocumentResult.Initializer"></a>

```typescript
import { DocumentResult } from '@cdklabs/cdk-ssm-documents'

const documentResult: DocumentResult = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentResult.property.executedSteps">executedSteps</a></code> | <code>string[]</code> | All the steps that were executed in this Simulation. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentResult.property.responseCode">responseCode</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ResponseCode">ResponseCode</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentResult.property.outputs">outputs</a></code> | <code>{[ key: string ]: any}</code> | May be empty if responseCode is FAILED/CANCELLED. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentResult.property.stackTrace">stackTrace</a></code> | <code>string</code> | undefined if responseCode is SUCCESS. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentResult.property.documentOutputs">documentOutputs</a></code> | <code>string[]</code> | *No description.* |

---

##### `executedSteps`<sup>Required</sup> <a name="executedSteps" id="@cdklabs/cdk-ssm-documents.DocumentResult.property.executedSteps"></a>

```typescript
public readonly executedSteps: string[];
```

- *Type:* string[]

All the steps that were executed in this Simulation.

---

##### `responseCode`<sup>Required</sup> <a name="responseCode" id="@cdklabs/cdk-ssm-documents.DocumentResult.property.responseCode"></a>

```typescript
public readonly responseCode: ResponseCode;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ResponseCode">ResponseCode</a>

---

##### `outputs`<sup>Optional</sup> <a name="outputs" id="@cdklabs/cdk-ssm-documents.DocumentResult.property.outputs"></a>

```typescript
public readonly outputs: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

May be empty if responseCode is FAILED/CANCELLED.

There are no outputs provided for Command steps or documents.

---

##### `stackTrace`<sup>Optional</sup> <a name="stackTrace" id="@cdklabs/cdk-ssm-documents.DocumentResult.property.stackTrace"></a>

```typescript
public readonly stackTrace: string;
```

- *Type:* string

undefined if responseCode is SUCCESS.

---

##### `documentOutputs`<sup>Required</sup> <a name="documentOutputs" id="@cdklabs/cdk-ssm-documents.DocumentResult.property.documentOutputs"></a>

```typescript
public readonly documentOutputs: string[];
```

- *Type:* string[]

---

### DomainJoinStepProps <a name="DomainJoinStepProps" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps"></a>

Properties of DomainJoin step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.Initializer"></a>

```typescript
import { DomainJoinStepProps } from '@cdklabs/cdk-ssm-documents'

const domainJoinStepProps: DomainJoinStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.directoryId">directoryId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The ID of the directory. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.directoryName">directoryName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The name of the domain. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.dnsIpAddresses">dnsIpAddresses</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | The IP addresses of the DNS servers. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.directoryOU">directoryOU</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The organizational unit (OU). |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `directoryId`<sup>Required</sup> <a name="directoryId" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.directoryId"></a>

```typescript
public readonly directoryId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The ID of the directory.

---

*Example*

```typescript
"d-1234567890"
```


##### `directoryName`<sup>Required</sup> <a name="directoryName" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.directoryName"></a>

```typescript
public readonly directoryName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The name of the domain.

---

*Example*

```typescript
"example.com"
```


##### `dnsIpAddresses`<sup>Required</sup> <a name="dnsIpAddresses" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.dnsIpAddresses"></a>

```typescript
public readonly dnsIpAddresses: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

The IP addresses of the DNS servers.

---

*Example*

```typescript
["198.51.100.1","198.51.100.2"]
```


##### `directoryOU`<sup>Optional</sup> <a name="directoryOU" id="@cdklabs/cdk-ssm-documents.DomainJoinStepProps.property.directoryOU"></a>

```typescript
public readonly directoryOU: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The organizational unit (OU).

---

*Example*

```typescript
"OU=test,DC=example,DC=com"
```


### DownloadContentStepProps <a name="DownloadContentStepProps" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps"></a>

Properties.json for ps Module step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.Initializer"></a>

```typescript
import { DownloadContentStepProps } from '@cdklabs/cdk-ssm-documents'

const downloadContentStepProps: DownloadContentStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.downloadableContent">downloadableContent</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent">IDownloadableContent</a></code> | The information required to retrieve the content from the required source. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.destinationPath">destinationPath</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) An optional local path on the instance where you want to download the file. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `downloadableContent`<sup>Required</sup> <a name="downloadableContent" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.downloadableContent"></a>

```typescript
public readonly downloadableContent: IDownloadableContent;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent">IDownloadableContent</a>

The information required to retrieve the content from the required source.

This is a dictionary whose format changes based on the sourceType
See the aws documentation for more info
https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#aws-downloadContent

---

##### `destinationPath`<sup>Optional</sup> <a name="destinationPath" id="@cdklabs/cdk-ssm-documents.DownloadContentStepProps.property.destinationPath"></a>

```typescript
public readonly destinationPath: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) An optional local path on the instance where you want to download the file.

If you don't specify a path, the content is downloaded to a path relative to your command ID.

---

### EnvironmentProps <a name="EnvironmentProps" id="@cdklabs/cdk-ssm-documents.EnvironmentProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.EnvironmentProps.Initializer"></a>

```typescript
import { EnvironmentProps } from '@cdklabs/cdk-ssm-documents'

const environmentProps: EnvironmentProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.EnvironmentProps.property.environment">environment</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a></code> | (Optional) Specify here the environment in which to execute the scripts. |

---

##### `environment`<sup>Required</sup> <a name="environment" id="@cdklabs/cdk-ssm-documents.EnvironmentProps.property.environment"></a>

```typescript
public readonly environment: IEnvironment;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a>
- *Default:* LoggingEnvironment

(Optional) Specify here the environment in which to execute the scripts.

Use the DockerEnvironment to execute the commands inside the docker.
You can alternatively use the LoggingEnvironment which simply logs the commands
or MockEnvironment which saves them for validation.

---

### ExecuteAutomationOutputs <a name="ExecuteAutomationOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationOutputs"></a>

Outputs for aws:executeAutomation.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationOutputs.Initializer"></a>

```typescript
import { ExecuteAutomationOutputs } from '@cdklabs/cdk-ssm-documents'

const executeAutomationOutputs: ExecuteAutomationOutputs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationOutputs.property.executionId">executionId</a></code> | <code>string</code> | The ID of the secondary automation. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationOutputs.property.status">status</a></code> | <code>string</code> | The status of the secondary automation. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationOutputs.property.output">output</a></code> | <code>string[]</code> | The output generated by the secondary automation. |

---

##### `executionId`<sup>Required</sup> <a name="executionId" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationOutputs.property.executionId"></a>

```typescript
public readonly executionId: string;
```

- *Type:* string

The ID of the secondary automation.

---

##### `status`<sup>Required</sup> <a name="status" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationOutputs.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

The status of the secondary automation.

---

##### `output`<sup>Optional</sup> <a name="output" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationOutputs.property.output"></a>

```typescript
public readonly output: string[];
```

- *Type:* string[]

The output generated by the secondary automation.

---

### ExecuteAutomationProps <a name="ExecuteAutomationProps" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps"></a>

Inputs for aws:executeAutomation.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.Initializer"></a>

```typescript
import { ExecuteAutomationProps } from '@cdklabs/cdk-ssm-documents'

const executeAutomationProps: ExecuteAutomationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.documentName">documentName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.documentVersion">documentVersion</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.maxConcurrency">maxConcurrency</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.maxErrors">maxErrors</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.runtimeParameters">runtimeParameters</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.tags">tags</a></code> | <code>{[ key: string ]: any}[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.targetLocations">targetLocations</a></code> | <code>{[ key: string ]: any}[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.targetMaps">targetMaps</a></code> | <code>{[ key: string ]: any}[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.targetParameterName">targetParameterName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.targets">targets</a></code> | <code>{[ key: string ]: any}[]</code> | *No description.* |

---

##### `documentName`<sup>Required</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.documentName"></a>

```typescript
public readonly documentName: string;
```

- *Type:* string

---

##### `documentVersion`<sup>Optional</sup> <a name="documentVersion" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.documentVersion"></a>

```typescript
public readonly documentVersion: string;
```

- *Type:* string

---

##### `maxConcurrency`<sup>Optional</sup> <a name="maxConcurrency" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.maxConcurrency"></a>

```typescript
public readonly maxConcurrency: string;
```

- *Type:* string

---

##### `maxErrors`<sup>Optional</sup> <a name="maxErrors" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.maxErrors"></a>

```typescript
public readonly maxErrors: string;
```

- *Type:* string

---

##### `runtimeParameters`<sup>Optional</sup> <a name="runtimeParameters" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.runtimeParameters"></a>

```typescript
public readonly runtimeParameters: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.tags"></a>

```typescript
public readonly tags: {[ key: string ]: any}[];
```

- *Type:* {[ key: string ]: any}[]

---

##### `targetLocations`<sup>Optional</sup> <a name="targetLocations" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.targetLocations"></a>

```typescript
public readonly targetLocations: {[ key: string ]: any}[];
```

- *Type:* {[ key: string ]: any}[]

---

##### `targetMaps`<sup>Optional</sup> <a name="targetMaps" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.targetMaps"></a>

```typescript
public readonly targetMaps: {[ key: string ]: any}[];
```

- *Type:* {[ key: string ]: any}[]

---

##### `targetParameterName`<sup>Optional</sup> <a name="targetParameterName" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.targetParameterName"></a>

```typescript
public readonly targetParameterName: string;
```

- *Type:* string

---

##### `targets`<sup>Optional</sup> <a name="targets" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationProps.property.targets"></a>

```typescript
public readonly targets: {[ key: string ]: any}[];
```

- *Type:* {[ key: string ]: any}[]

---

### ExecuteAutomationStepProps <a name="ExecuteAutomationStepProps" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.Initializer"></a>

```typescript
import { ExecuteAutomationStepProps } from '@cdklabs/cdk-ssm-documents'

const executeAutomationStepProps: ExecuteAutomationStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.documentName">documentName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.documentVersion">documentVersion</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.maxConcurrency">maxConcurrency</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.maxErrors">maxErrors</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.runtimeParameters">runtimeParameters</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.tags">tags</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.targetLocations">targetLocations</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.targetMaps">targetMaps</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.targetParameterName">targetParameterName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.targets">targets</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | *No description.* |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `documentName`<sup>Required</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.documentName"></a>

```typescript
public readonly documentName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `documentVersion`<sup>Optional</sup> <a name="documentVersion" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.documentVersion"></a>

```typescript
public readonly documentVersion: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `maxConcurrency`<sup>Optional</sup> <a name="maxConcurrency" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.maxConcurrency"></a>

```typescript
public readonly maxConcurrency: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `maxErrors`<sup>Optional</sup> <a name="maxErrors" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.maxErrors"></a>

```typescript
public readonly maxErrors: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `runtimeParameters`<sup>Optional</sup> <a name="runtimeParameters" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.runtimeParameters"></a>

```typescript
public readonly runtimeParameters: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.tags"></a>

```typescript
public readonly tags: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `targetLocations`<sup>Optional</sup> <a name="targetLocations" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.targetLocations"></a>

```typescript
public readonly targetLocations: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `targetMaps`<sup>Optional</sup> <a name="targetMaps" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.targetMaps"></a>

```typescript
public readonly targetMaps: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

##### `targetParameterName`<sup>Optional</sup> <a name="targetParameterName" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.targetParameterName"></a>

```typescript
public readonly targetParameterName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `targets`<sup>Optional</sup> <a name="targets" id="@cdklabs/cdk-ssm-documents.ExecuteAutomationStepProps.property.targets"></a>

```typescript
public readonly targets: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

---

### ExecuteScriptStepProps <a name="ExecuteScriptStepProps" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps"></a>

Properties for ExecuteScriptStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.Initializer"></a>

```typescript
import { ExecuteScriptStepProps } from '@cdklabs/cdk-ssm-documents'

const executeScriptStepProps: ExecuteScriptStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.code">code</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ScriptCode">ScriptCode</a></code> | Inline code to be executed. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.inputPayload">inputPayload</a></code> | <code>{[ key: string ]: <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>}</code> | InputPayload that will be passed to the first parameter of the handler. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.language">language</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ScriptLanguage">ScriptLanguage</a></code> | (Required) Language used to execute the script. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.outputs">outputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Outputs that the function is expected to return. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `code`<sup>Required</sup> <a name="code" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.code"></a>

```typescript
public readonly code: ScriptCode;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ScriptCode">ScriptCode</a>

Inline code to be executed.

String will be used to produce function in yaml/json.
Simulation will execute the function in this code using the language specified.

---

##### `inputPayload`<sup>Required</sup> <a name="inputPayload" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.inputPayload"></a>

```typescript
public readonly inputPayload: {[ key: string ]: IGenericVariable};
```

- *Type:* {[ key: string ]: <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>}

InputPayload that will be passed to the first parameter of the handler.

This can be used to pass input data to the script.
The key of this dict is the variable name that will be available to the code.
The value is the Variable object.

---

##### `language`<sup>Required</sup> <a name="language" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.language"></a>

```typescript
public readonly language: ScriptLanguage;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ScriptLanguage">ScriptLanguage</a>

(Required) Language used to execute the script.

---

##### `outputs`<sup>Optional</sup> <a name="outputs" id="@cdklabs/cdk-ssm-documents.ExecuteScriptStepProps.property.outputs"></a>

```typescript
public readonly outputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* []

(Optional) Outputs that the function is expected to return.

Be sure to prefix the selector for these outputs with "$.Payload." for executeScript step outputs.

---

### ExecuteStateMachineStepProps <a name="ExecuteStateMachineStepProps" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps"></a>

Props for ExecuteStateMachine step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.Initializer"></a>

```typescript
import { ExecuteStateMachineStepProps } from '@cdklabs/cdk-ssm-documents'

const executeStateMachineStepProps: ExecuteStateMachineStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.stateMachineArn">stateMachineArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The Amazon Resource Name (ARN) of the Step Functions state machine. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.executionName">executionName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The name of the execution. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.input">input</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) A string that contains the JSON input data for the execution. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `stateMachineArn`<sup>Required</sup> <a name="stateMachineArn" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.stateMachineArn"></a>

```typescript
public readonly stateMachineArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The Amazon Resource Name (ARN) of the Step Functions state machine.

---

##### `executionName`<sup>Optional</sup> <a name="executionName" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.executionName"></a>

```typescript
public readonly executionName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The name of the execution.

---

##### `input`<sup>Optional</sup> <a name="input" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineStepProps.property.input"></a>

```typescript
public readonly input: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) A string that contains the JSON input data for the execution.

---

### GitContentProps <a name="GitContentProps" id="@cdklabs/cdk-ssm-documents.GitContentProps"></a>

Properties for sourceType Git.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.GitContentProps.Initializer"></a>

```typescript
import { GitContentProps } from '@cdklabs/cdk-ssm-documents'

const gitContentProps: GitContentProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContentProps.property.repository">repository</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The Git repository URL to the file or directory you want to download. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContentProps.property.branch">branch</a></code> | <code>string</code> | The default is master. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContentProps.property.commitId">commitId</a></code> | <code>string</code> | The default is head. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContentProps.property.password">password</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | The password to use when connecting to the repository you specify using HTTP. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContentProps.property.privateSshKey">privateSshKey</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | The SSH key to use when connecting to the repository you specify. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContentProps.property.skipHostKeyChecking">skipHostKeyChecking</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | Determines the value of the StrictHostKeyChecking option when connecting to the repository you specify. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContentProps.property.userName">userName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | The username to use when connecting to the repository you specify using HTTP. |

---

##### `repository`<sup>Required</sup> <a name="repository" id="@cdklabs/cdk-ssm-documents.GitContentProps.property.repository"></a>

```typescript
public readonly repository: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The Git repository URL to the file or directory you want to download.

---

##### `branch`<sup>Optional</sup> <a name="branch" id="@cdklabs/cdk-ssm-documents.GitContentProps.property.branch"></a>

```typescript
public readonly branch: string;
```

- *Type:* string

The default is master.

branch parameter is required only if your SSM document is stored in a branch other than master.
Supply either commitId or branch (or neither).

---

*Example*

```typescript
main
```


##### `commitId`<sup>Optional</sup> <a name="commitId" id="@cdklabs/cdk-ssm-documents.GitContentProps.property.commitId"></a>

```typescript
public readonly commitId: string;
```

- *Type:* string

The default is head.

To use the version of your SSM document in a commit other than the latest, specify the full commit ID.
For example: "bbc1ddb94...b76d3bEXAMPLE".
Supply either commitId or branch (or neither).

---

##### `password`<sup>Optional</sup> <a name="password" id="@cdklabs/cdk-ssm-documents.GitContentProps.property.password"></a>

```typescript
public readonly password: SecureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

The password to use when connecting to the repository you specify using HTTP.

---

##### `privateSshKey`<sup>Optional</sup> <a name="privateSshKey" id="@cdklabs/cdk-ssm-documents.GitContentProps.property.privateSshKey"></a>

```typescript
public readonly privateSshKey: SecureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

The SSH key to use when connecting to the repository you specify.

---

##### `skipHostKeyChecking`<sup>Optional</sup> <a name="skipHostKeyChecking" id="@cdklabs/cdk-ssm-documents.GitContentProps.property.skipHostKeyChecking"></a>

```typescript
public readonly skipHostKeyChecking: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

Determines the value of the StrictHostKeyChecking option when connecting to the repository you specify.

The default value is false.

---

##### `userName`<sup>Optional</sup> <a name="userName" id="@cdklabs/cdk-ssm-documents.GitContentProps.property.userName"></a>

```typescript
public readonly userName: SecureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

The username to use when connecting to the repository you specify using HTTP.

---

### GitHubContentProps <a name="GitHubContentProps" id="@cdklabs/cdk-ssm-documents.GitHubContentProps"></a>

Properties for sourceType GitHub.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.GitHubContentProps.Initializer"></a>

```typescript
import { GitHubContentProps } from '@cdklabs/cdk-ssm-documents'

const gitHubContentProps: GitHubContentProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContentProps.property.owner">owner</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The repository owner. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContentProps.property.path">path</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The path to the file or directory you want to download. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContentProps.property.repository">repository</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The name of the repository. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContentProps.property.tokenInfo">tokenInfo</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | The Systems Manager parameter (a SecureString parameter) where you store your GitHub access token information. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContentProps.property.branch">branch</a></code> | <code>string</code> | The default is master. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContentProps.property.commitId">commitId</a></code> | <code>string</code> | The default is head. |

---

##### `owner`<sup>Required</sup> <a name="owner" id="@cdklabs/cdk-ssm-documents.GitHubContentProps.property.owner"></a>

```typescript
public readonly owner: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The repository owner.

---

##### `path`<sup>Required</sup> <a name="path" id="@cdklabs/cdk-ssm-documents.GitHubContentProps.property.path"></a>

```typescript
public readonly path: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The path to the file or directory you want to download.

---

##### `repository`<sup>Required</sup> <a name="repository" id="@cdklabs/cdk-ssm-documents.GitHubContentProps.property.repository"></a>

```typescript
public readonly repository: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The name of the repository.

---

##### `tokenInfo`<sup>Required</sup> <a name="tokenInfo" id="@cdklabs/cdk-ssm-documents.GitHubContentProps.property.tokenInfo"></a>

```typescript
public readonly tokenInfo: SecureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

The Systems Manager parameter (a SecureString parameter) where you store your GitHub access token information.

---

##### `branch`<sup>Optional</sup> <a name="branch" id="@cdklabs/cdk-ssm-documents.GitHubContentProps.property.branch"></a>

```typescript
public readonly branch: string;
```

- *Type:* string

The default is master.

branch parameter is required only if your SSM document is stored in a branch other than master.
Supply either commitId or branch (or neither).

---

*Example*

```typescript
main
```


##### `commitId`<sup>Optional</sup> <a name="commitId" id="@cdklabs/cdk-ssm-documents.GitHubContentProps.property.commitId"></a>

```typescript
public readonly commitId: string;
```

- *Type:* string

The default is head.

To use the version of your SSM document in a commit other than the latest, specify the full commit ID.
For example: "bbc1ddb94...b76d3bEXAMPLE".
Supply either commitId or branch (or neither).

---

### HttpContentProps <a name="HttpContentProps" id="@cdklabs/cdk-ssm-documents.HttpContentProps"></a>

Properties for sourceType HTTP.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.HttpContentProps.Initializer"></a>

```typescript
import { HttpContentProps } from '@cdklabs/cdk-ssm-documents'

const httpContentProps: HttpContentProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HttpContentProps.property.url">url</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The URL to the file or directory you want to download. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HttpContentProps.property.allowInsecureDownload">allowInsecureDownload</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | Determines whether a download can be performed over a connection that isn't encrypted with Secure Socket Layer (SSL) or Transport Layer Security (TLS). |
| <code><a href="#@cdklabs/cdk-ssm-documents.HttpContentProps.property.authMethod">authMethod</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AuthMethod">AuthMethod</a></code> | Determines whether a username and password are used for authentication when connecting to the url you specify. |

---

##### `url`<sup>Required</sup> <a name="url" id="@cdklabs/cdk-ssm-documents.HttpContentProps.property.url"></a>

```typescript
public readonly url: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The URL to the file or directory you want to download.

---

##### `allowInsecureDownload`<sup>Optional</sup> <a name="allowInsecureDownload" id="@cdklabs/cdk-ssm-documents.HttpContentProps.property.allowInsecureDownload"></a>

```typescript
public readonly allowInsecureDownload: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

Determines whether a download can be performed over a connection that isn't encrypted with Secure Socket Layer (SSL) or Transport Layer Security (TLS).

The default value is false. We don't recommend performing downloads without encryption. If you choose to do so, you assume all associated risks.
Security is a shared responsibility between AWS and you. This is described as the shared responsibility model. To learn more, see the shared responsibility model.

---

##### `authMethod`<sup>Optional</sup> <a name="authMethod" id="@cdklabs/cdk-ssm-documents.HttpContentProps.property.authMethod"></a>

```typescript
public readonly authMethod: AuthMethod;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AuthMethod">AuthMethod</a>

Determines whether a username and password are used for authentication when connecting to the url you specify.

If you specify Basic or Digest, you must provide values for the username and password parameters.
To use the Digest method, SSM Agent version 3.0.1181.0 or later must be installed on your instance. The Digest method supports MD5 and SHA256 encryption.

---

### IncidentResponseProps <a name="IncidentResponseProps" id="@cdklabs/cdk-ssm-documents.IncidentResponseProps"></a>

Provides props IncidentResponse.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.IncidentResponseProps.Initializer"></a>

```typescript
import { IncidentResponseProps } from '@cdklabs/cdk-ssm-documents'

const incidentResponseProps: IncidentResponseProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.actions">actions</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseAction">IncidentResponseAction</a>[]</code> | The actions that the response plan starts at the beginning of an incident. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.incidentTemplate">incidentTemplate</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplate">IncidentTemplate</a></code> | Details used to create an incident when using this response plan. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.chatChannel">chatChannel</a></code> | <code>aws-cdk-lib.IResolvable \| aws-cdk-lib.aws_ssmincidents.CfnResponsePlan.ChatChannelProperty</code> | The AWS Chatbot chat channel used for collaboration during an incident. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.displayName">displayName</a></code> | <code>string</code> | The human readable name of the response plan. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.engagements">engagements</a></code> | <code>string[]</code> | The contacts and escalation plans that the response plan engages during an incident. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.tags">tags</a></code> | <code>aws-cdk-lib.CfnTag[]</code> | An array of key-value pairs to apply to this resource. |

---

##### `actions`<sup>Required</sup> <a name="actions" id="@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.actions"></a>

```typescript
public readonly actions: IncidentResponseAction[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IncidentResponseAction">IncidentResponseAction</a>[]

The actions that the response plan starts at the beginning of an incident.

---

##### `incidentTemplate`<sup>Required</sup> <a name="incidentTemplate" id="@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.incidentTemplate"></a>

```typescript
public readonly incidentTemplate: IncidentTemplate;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IncidentTemplate">IncidentTemplate</a>

Details used to create an incident when using this response plan.

---

##### `chatChannel`<sup>Optional</sup> <a name="chatChannel" id="@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.chatChannel"></a>

```typescript
public readonly chatChannel: IResolvable | ChatChannelProperty;
```

- *Type:* aws-cdk-lib.IResolvable | aws-cdk-lib.aws_ssmincidents.CfnResponsePlan.ChatChannelProperty

The AWS Chatbot chat channel used for collaboration during an incident.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html#cfn-ssmincidents-responseplan-chatchannel](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html#cfn-ssmincidents-responseplan-chatchannel)

---

##### `displayName`<sup>Optional</sup> <a name="displayName" id="@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.displayName"></a>

```typescript
public readonly displayName: string;
```

- *Type:* string

The human readable name of the response plan.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html#cfn-ssmincidents-responseplan-displayname](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html#cfn-ssmincidents-responseplan-displayname)

---

##### `engagements`<sup>Optional</sup> <a name="engagements" id="@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.engagements"></a>

```typescript
public readonly engagements: string[];
```

- *Type:* string[]

The contacts and escalation plans that the response plan engages during an incident.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html#cfn-ssmincidents-responseplan-engagements](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html#cfn-ssmincidents-responseplan-engagements)

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.IncidentResponseProps.property.tags"></a>

```typescript
public readonly tags: CfnTag[];
```

- *Type:* aws-cdk-lib.CfnTag[]

An array of key-value pairs to apply to this resource.

For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html#cfn-ssmincidents-responseplan-tags](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html#cfn-ssmincidents-responseplan-tags)

---

### IncidentTemplateProps <a name="IncidentTemplateProps" id="@cdklabs/cdk-ssm-documents.IncidentTemplateProps"></a>

Provides L2 construct for https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-incidenttemplate.html.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.IncidentTemplateProps.Initializer"></a>

```typescript
import { IncidentTemplateProps } from '@cdklabs/cdk-ssm-documents'

const incidentTemplateProps: IncidentTemplateProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplateProps.property.dedupeString">dedupeString</a></code> | <code>string</code> | Used to create only one incident record for an incident. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplateProps.property.incidentTags">incidentTags</a></code> | <code>aws-cdk-lib.IResolvable \| aws-cdk-lib.IResolvable \| aws-cdk-lib.CfnTag[]</code> | `CfnResponsePlan.IncidentTemplateProperty.IncidentTags`. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplateProps.property.notificationTargets">notificationTargets</a></code> | <code>aws-cdk-lib.IResolvable \| aws-cdk-lib.IResolvable \| aws-cdk-lib.aws_ssmincidents.CfnResponsePlan.NotificationTargetItemProperty[]</code> | The SNS targets that AWS Chatbot uses to notify the chat channel of updates to an incident. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplateProps.property.summary">summary</a></code> | <code>string</code> | The summary describes what has happened during the incident. |

---

##### `dedupeString`<sup>Optional</sup> <a name="dedupeString" id="@cdklabs/cdk-ssm-documents.IncidentTemplateProps.property.dedupeString"></a>

```typescript
public readonly dedupeString: string;
```

- *Type:* string

Used to create only one incident record for an incident.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-incidenttemplate.html#cfn-ssmincidents-responseplan-incidenttemplate-dedupestring](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-incidenttemplate.html#cfn-ssmincidents-responseplan-incidenttemplate-dedupestring)

---

##### `incidentTags`<sup>Optional</sup> <a name="incidentTags" id="@cdklabs/cdk-ssm-documents.IncidentTemplateProps.property.incidentTags"></a>

```typescript
public readonly incidentTags: IResolvable | (IResolvable | CfnTag)[];
```

- *Type:* aws-cdk-lib.IResolvable | aws-cdk-lib.IResolvable | aws-cdk-lib.CfnTag[]

`CfnResponsePlan.IncidentTemplateProperty.IncidentTags`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-incidenttemplate.html#cfn-ssmincidents-responseplan-incidenttemplate-incidenttags](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-incidenttemplate.html#cfn-ssmincidents-responseplan-incidenttemplate-incidenttags)

---

##### `notificationTargets`<sup>Optional</sup> <a name="notificationTargets" id="@cdklabs/cdk-ssm-documents.IncidentTemplateProps.property.notificationTargets"></a>

```typescript
public readonly notificationTargets: IResolvable | (IResolvable | NotificationTargetItemProperty)[];
```

- *Type:* aws-cdk-lib.IResolvable | aws-cdk-lib.IResolvable | aws-cdk-lib.aws_ssmincidents.CfnResponsePlan.NotificationTargetItemProperty[]

The SNS targets that AWS Chatbot uses to notify the chat channel of updates to an incident.

You can also make updates to the incident through the chat channel using the SNS topics.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-incidenttemplate.html#cfn-ssmincidents-responseplan-incidenttemplate-notificationtargets](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-incidenttemplate.html#cfn-ssmincidents-responseplan-incidenttemplate-notificationtargets)

---

##### `summary`<sup>Optional</sup> <a name="summary" id="@cdklabs/cdk-ssm-documents.IncidentTemplateProps.property.summary"></a>

```typescript
public readonly summary: string;
```

- *Type:* string

The summary describes what has happened during the incident.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-incidenttemplate.html#cfn-ssmincidents-responseplan-incidenttemplate-summary](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-incidenttemplate.html#cfn-ssmincidents-responseplan-incidenttemplate-summary)

---

### InputProps <a name="InputProps" id="@cdklabs/cdk-ssm-documents.InputProps"></a>

Properties of inputs supported by SSM documents.

These are NOT used for declaring step inputs, rather only for document inputs.
See https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-doc-syntax.html

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.InputProps.Initializer"></a>

```typescript
import { InputProps } from '@cdklabs/cdk-ssm-documents'

const inputProps: InputProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InputProps.property.inputType">inputType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a></code> | (Required) The DataTypeEnum of the input. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InputProps.property.name">name</a></code> | <code>string</code> | (Required) The name of the input by which to be referenced by steps in the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InputProps.property.allowedPattern">allowedPattern</a></code> | <code>string</code> | (Optional) Pattern that this input value must match. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InputProps.property.allowedValues">allowedValues</a></code> | <code>any[]</code> | (Optional) List of allowed values that this input may be. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InputProps.property.defaultValue">defaultValue</a></code> | <code>any</code> | (Optional) Default value to use for this input if not specified when invoking the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InputProps.property.description">description</a></code> | <code>string</code> | (Optional) The description of the input. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InputProps.property.maxChars">maxChars</a></code> | <code>number</code> | (Optional) Maximum number of chars that this input value (string) must contain. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InputProps.property.maxItems">maxItems</a></code> | <code>number</code> | (Optional) Maximum number of items that this input value (list) must contain. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InputProps.property.minChars">minChars</a></code> | <code>number</code> | (Optional) Minimum number of chars that this input value (string) must contain. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InputProps.property.minItems">minItems</a></code> | <code>number</code> | (Optional) Minimum number of items that this input value (list) must contain. |

---

##### `inputType`<sup>Required</sup> <a name="inputType" id="@cdklabs/cdk-ssm-documents.InputProps.property.inputType"></a>

```typescript
public readonly inputType: DataTypeEnum;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a>

(Required) The DataTypeEnum of the input.

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.InputProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Required) The name of the input by which to be referenced by steps in the document.

---

##### `allowedPattern`<sup>Optional</sup> <a name="allowedPattern" id="@cdklabs/cdk-ssm-documents.InputProps.property.allowedPattern"></a>

```typescript
public readonly allowedPattern: string;
```

- *Type:* string
- *Default:* undefined

(Optional) Pattern that this input value must match.

---

##### `allowedValues`<sup>Optional</sup> <a name="allowedValues" id="@cdklabs/cdk-ssm-documents.InputProps.property.allowedValues"></a>

```typescript
public readonly allowedValues: any[];
```

- *Type:* any[]
- *Default:* undefined

(Optional) List of allowed values that this input may be.

---

##### `defaultValue`<sup>Optional</sup> <a name="defaultValue" id="@cdklabs/cdk-ssm-documents.InputProps.property.defaultValue"></a>

```typescript
public readonly defaultValue: any;
```

- *Type:* any
- *Default:* undefined

(Optional) Default value to use for this input if not specified when invoking the document.

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.InputProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* name

(Optional) The description of the input.

---

##### `maxChars`<sup>Optional</sup> <a name="maxChars" id="@cdklabs/cdk-ssm-documents.InputProps.property.maxChars"></a>

```typescript
public readonly maxChars: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Maximum number of chars that this input value (string) must contain.

---

##### `maxItems`<sup>Optional</sup> <a name="maxItems" id="@cdklabs/cdk-ssm-documents.InputProps.property.maxItems"></a>

```typescript
public readonly maxItems: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Maximum number of items that this input value (list) must contain.

---

##### `minChars`<sup>Optional</sup> <a name="minChars" id="@cdklabs/cdk-ssm-documents.InputProps.property.minChars"></a>

```typescript
public readonly minChars: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Minimum number of chars that this input value (string) must contain.

---

##### `minItems`<sup>Optional</sup> <a name="minItems" id="@cdklabs/cdk-ssm-documents.InputProps.property.minItems"></a>

```typescript
public readonly minItems: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Minimum number of items that this input value (list) must contain.

---

### IntegerInputProps <a name="IntegerInputProps" id="@cdklabs/cdk-ssm-documents.IntegerInputProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.IntegerInputProps.Initializer"></a>

```typescript
import { IntegerInputProps } from '@cdklabs/cdk-ssm-documents'

const integerInputProps: IntegerInputProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IntegerInputProps.property.allowedValues">allowedValues</a></code> | <code>number[]</code> | (Optional) List of allowed values that this input may be. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IntegerInputProps.property.defaultValue">defaultValue</a></code> | <code>number</code> | (Optional) Default value to use for this input if not specified when invoking the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IntegerInputProps.property.description">description</a></code> | <code>string</code> | (Optional) The description of the input. |

---

##### `allowedValues`<sup>Optional</sup> <a name="allowedValues" id="@cdklabs/cdk-ssm-documents.IntegerInputProps.property.allowedValues"></a>

```typescript
public readonly allowedValues: number[];
```

- *Type:* number[]
- *Default:* undefined

(Optional) List of allowed values that this input may be.

---

##### `defaultValue`<sup>Optional</sup> <a name="defaultValue" id="@cdklabs/cdk-ssm-documents.IntegerInputProps.property.defaultValue"></a>

```typescript
public readonly defaultValue: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Default value to use for this input if not specified when invoking the document.

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.IntegerInputProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* name

(Optional) The description of the input.

---

### Invocation <a name="Invocation" id="@cdklabs/cdk-ssm-documents.Invocation"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.Invocation.Initializer"></a>

```typescript
import { Invocation } from '@cdklabs/cdk-ssm-documents'

const invocation: Invocation = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Invocation.property.awsApi">awsApi</a></code> | <code>string</code> | (Required) AWS api to invoke; |
| <code><a href="#@cdklabs/cdk-ssm-documents.Invocation.property.awsParams">awsParams</a></code> | <code>{[ key: string ]: any}</code> | (Required )AWS params. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Invocation.property.service">service</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | (Required) AWS service to invoke. |

---

##### `awsApi`<sup>Required</sup> <a name="awsApi" id="@cdklabs/cdk-ssm-documents.Invocation.property.awsApi"></a>

```typescript
public readonly awsApi: string;
```

- *Type:* string

(Required) AWS api to invoke;

should be referenced using lowerCamelCase.

---

*Example*

```typescript
describeInstance
```


##### `awsParams`<sup>Required</sup> <a name="awsParams" id="@cdklabs/cdk-ssm-documents.Invocation.property.awsParams"></a>

```typescript
public readonly awsParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

(Required )AWS params.

---

*Example*

```typescript
{ 'Filters': [{'Name': 'instance-id', 'Values': ['{{ InstanceId }}'] }] }
```


##### `service`<sup>Required</sup> <a name="service" id="@cdklabs/cdk-ssm-documents.Invocation.property.service"></a>

```typescript
public readonly service: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

(Required) AWS service to invoke.

---

*Example*

```typescript
AwsService.EC2
```


### InvokeLambdaFunctionStepProps <a name="InvokeLambdaFunctionStepProps" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps"></a>

Properties for InvokeLambdaFunctionStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.Initializer"></a>

```typescript
import { InvokeLambdaFunctionStepProps } from '@cdklabs/cdk-ssm-documents'

const invokeLambdaFunctionStepProps: InvokeLambdaFunctionStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.functionName">functionName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The name of the Lambda function. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.clientContext">clientContext</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The client-specific information. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.invocationType">invocationType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The invocation type. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.logType">logType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) If the default value is Tail, the invocation type must be RequestResponse. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.payload">payload</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | (Optional) The JSON input for your Lambda function. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.qualifier">qualifier</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The function version or alias name. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `functionName`<sup>Required</sup> <a name="functionName" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.functionName"></a>

```typescript
public readonly functionName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The name of the Lambda function.

This function must exist.

---

##### `clientContext`<sup>Optional</sup> <a name="clientContext" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.clientContext"></a>

```typescript
public readonly clientContext: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The client-specific information.

---

##### `invocationType`<sup>Optional</sup> <a name="invocationType" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.invocationType"></a>

```typescript
public readonly invocationType: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The invocation type.

The default value is RequestResponse.

---

##### `logType`<sup>Optional</sup> <a name="logType" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.logType"></a>

```typescript
public readonly logType: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) If the default value is Tail, the invocation type must be RequestResponse.

Lambda returns the last 4 KB of log data produced by your Lambda function, base64-encoded.

---

##### `payload`<sup>Optional</sup> <a name="payload" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.payload"></a>

```typescript
public readonly payload: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

(Optional) The JSON input for your Lambda function.

---

##### `qualifier`<sup>Optional</sup> <a name="qualifier" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStepProps.property.qualifier"></a>

```typescript
public readonly qualifier: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The function version or alias name.

---

### InvokeWebhookProps <a name="InvokeWebhookProps" id="@cdklabs/cdk-ssm-documents.InvokeWebhookProps"></a>

The properties for IWebhook.Invoke.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.InvokeWebhookProps.Initializer"></a>

```typescript
import { InvokeWebhookProps } from '@cdklabs/cdk-ssm-documents'

const invokeWebhookProps: InvokeWebhookProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookProps.property.integrationName">integrationName</a></code> | <code>string</code> | The name of the Automation integration. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookProps.property.body">body</a></code> | <code>string</code> | (Optional) The payload you want to send when your webhook integration is invoked. |

---

##### `integrationName`<sup>Required</sup> <a name="integrationName" id="@cdklabs/cdk-ssm-documents.InvokeWebhookProps.property.integrationName"></a>

```typescript
public readonly integrationName: string;
```

- *Type:* string

The name of the Automation integration.

For example, exampleIntegration. The integration you specify must already exist.

---

##### `body`<sup>Optional</sup> <a name="body" id="@cdklabs/cdk-ssm-documents.InvokeWebhookProps.property.body"></a>

```typescript
public readonly body: string;
```

- *Type:* string

(Optional) The payload you want to send when your webhook integration is invoked.

---

### InvokeWebhookResult <a name="InvokeWebhookResult" id="@cdklabs/cdk-ssm-documents.InvokeWebhookResult"></a>

Response from IWebhook.Invoke.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.InvokeWebhookResult.Initializer"></a>

```typescript
import { InvokeWebhookResult } from '@cdklabs/cdk-ssm-documents'

const invokeWebhookResult: InvokeWebhookResult = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookResult.property.response">response</a></code> | <code>string</code> | The text received from the webhook provider response. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookResult.property.responseCode">responseCode</a></code> | <code>number</code> | The HTTP status code received from the webhook provider response. |

---

##### `response`<sup>Required</sup> <a name="response" id="@cdklabs/cdk-ssm-documents.InvokeWebhookResult.property.response"></a>

```typescript
public readonly response: string;
```

- *Type:* string

The text received from the webhook provider response.

---

##### `responseCode`<sup>Required</sup> <a name="responseCode" id="@cdklabs/cdk-ssm-documents.InvokeWebhookResult.property.responseCode"></a>

```typescript
public readonly responseCode: number;
```

- *Type:* number

The HTTP status code received from the webhook provider response.

---

### InvokeWebhookSimulationProps <a name="InvokeWebhookSimulationProps" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulationProps"></a>

Properties for InvokeWebhookStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulationProps.Initializer"></a>

```typescript
import { InvokeWebhookSimulationProps } from '@cdklabs/cdk-ssm-documents'

const invokeWebhookSimulationProps: InvokeWebhookSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookSimulationProps.property.webhook">webhook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IWebhook">IWebhook</a></code> | (Optional) Hook for simulating aws:invokeWebhook. |

---

##### `webhook`<sup>Required</sup> <a name="webhook" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulationProps.property.webhook"></a>

```typescript
public readonly webhook: IWebhook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IWebhook">IWebhook</a>
- *Default:* Returns 204 with an empty response

(Optional) Hook for simulating aws:invokeWebhook.

---

### InvokeWebhookStepProps <a name="InvokeWebhookStepProps" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps"></a>

Properties for InvokeWebhookStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.Initializer"></a>

```typescript
import { InvokeWebhookStepProps } from '@cdklabs/cdk-ssm-documents'

const invokeWebhookStepProps: InvokeWebhookStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.integrationName">integrationName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The name of the Automation integration. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.body">body</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The payload you want to send when your webhook integration is invoked. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `integrationName`<sup>Required</sup> <a name="integrationName" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.integrationName"></a>

```typescript
public readonly integrationName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The name of the Automation integration.

For example, exampleIntegration. The integration you specify must already exist.

---

##### `body`<sup>Optional</sup> <a name="body" id="@cdklabs/cdk-ssm-documents.InvokeWebhookStepProps.property.body"></a>

```typescript
public readonly body: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The payload you want to send when your webhook integration is invoked.

---

### MapListInputProps <a name="MapListInputProps" id="@cdklabs/cdk-ssm-documents.MapListInputProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.MapListInputProps.Initializer"></a>

```typescript
import { MapListInputProps } from '@cdklabs/cdk-ssm-documents'

const mapListInputProps: MapListInputProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListInputProps.property.allowedValues">allowedValues</a></code> | <code>any[]</code> | (Optional) List of allowed values that this input may be. |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListInputProps.property.defaultValue">defaultValue</a></code> | <code>any</code> | (Optional) Default value to use for this input if not specified when invoking the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListInputProps.property.description">description</a></code> | <code>string</code> | (Optional) The description of the input. |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListInputProps.property.maxItems">maxItems</a></code> | <code>number</code> | (Optional) Maximum number of items that this input value (list) must contain. |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListInputProps.property.minItems">minItems</a></code> | <code>number</code> | (Optional) Minimum number of items that this input value (list) must contain. |

---

##### `allowedValues`<sup>Optional</sup> <a name="allowedValues" id="@cdklabs/cdk-ssm-documents.MapListInputProps.property.allowedValues"></a>

```typescript
public readonly allowedValues: any[];
```

- *Type:* any[]
- *Default:* undefined

(Optional) List of allowed values that this input may be.

---

##### `defaultValue`<sup>Optional</sup> <a name="defaultValue" id="@cdklabs/cdk-ssm-documents.MapListInputProps.property.defaultValue"></a>

```typescript
public readonly defaultValue: any;
```

- *Type:* any
- *Default:* undefined

(Optional) Default value to use for this input if not specified when invoking the document.

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.MapListInputProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* name

(Optional) The description of the input.

---

##### `maxItems`<sup>Optional</sup> <a name="maxItems" id="@cdklabs/cdk-ssm-documents.MapListInputProps.property.maxItems"></a>

```typescript
public readonly maxItems: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Maximum number of items that this input value (list) must contain.

---

##### `minItems`<sup>Optional</sup> <a name="minItems" id="@cdklabs/cdk-ssm-documents.MapListInputProps.property.minItems"></a>

```typescript
public readonly minItems: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Minimum number of items that this input value (list) must contain.

---

### Output <a name="Output" id="@cdklabs/cdk-ssm-documents.Output"></a>

Object used to specify step output.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.Output.Initializer"></a>

```typescript
import { Output } from '@cdklabs/cdk-ssm-documents'

const output: Output = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Output.property.name">name</a></code> | <code>string</code> | The name that can be used by subsequent steps to refernce the stored value. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Output.property.outputType">outputType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a></code> | The DataType expected by this output. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Output.property.selector">selector</a></code> | <code>string</code> | Json selector for locating the value in the json step response. |

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.Output.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

The name that can be used by subsequent steps to refernce the stored value.

Note that Outputs will be PREPENDED with the step name.

---

##### `outputType`<sup>Required</sup> <a name="outputType" id="@cdklabs/cdk-ssm-documents.Output.property.outputType"></a>

```typescript
public readonly outputType: DataTypeEnum;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a>

The DataType expected by this output.

This will be validated in simulation mode and will also be used when printing to yaml/json.

---

##### `selector`<sup>Required</sup> <a name="selector" id="@cdklabs/cdk-ssm-documents.Output.property.selector"></a>

```typescript
public readonly selector: string;
```

- *Type:* string

Json selector for locating the value in the json step response.

---

### PauseSimulationProps <a name="PauseSimulationProps" id="@cdklabs/cdk-ssm-documents.PauseSimulationProps"></a>

Properties for PauseStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.PauseSimulationProps.Initializer"></a>

```typescript
import { PauseSimulationProps } from '@cdklabs/cdk-ssm-documents'

const pauseSimulationProps: PauseSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseSimulationProps.property.pauseHook">pauseHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IPauseHook">IPauseHook</a></code> | (Optional) Pause hook to be called to pause the execution. |

---

##### `pauseHook`<sup>Required</sup> <a name="pauseHook" id="@cdklabs/cdk-ssm-documents.PauseSimulationProps.property.pauseHook"></a>

```typescript
public readonly pauseHook: IPauseHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IPauseHook">IPauseHook</a>
- *Default:* PauseHook instance. PauseHook may not work in exported JSII languages. Override interface as needed.

(Optional) Pause hook to be called to pause the execution.

To mock this implementation either inject an instance of IPauseHook or use the provided MockPause class.

---

### PreconditionProps <a name="PreconditionProps" id="@cdklabs/cdk-ssm-documents.PreconditionProps"></a>

The precondition parameter is used as a comparator of SSM documents inputs to determine whether a command step would be executed or not.

See https://docs.aws.amazon.com/systems-manager/latest/userguide/document-schemas-features.html

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.PreconditionProps.Initializer"></a>

```typescript
import { PreconditionProps } from '@cdklabs/cdk-ssm-documents'

const preconditionProps: PreconditionProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PreconditionProps.property.operationType">operationType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a></code> | (Required) the operation used to compare the parameter with the variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PreconditionProps.property.variable1">variable1</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a></code> | (Required) the variable to compare against the constant. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PreconditionProps.property.variable2">variable2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a></code> | (Required) the being compared against the variable. |

---

##### `operationType`<sup>Required</sup> <a name="operationType" id="@cdklabs/cdk-ssm-documents.PreconditionProps.property.operationType"></a>

```typescript
public readonly operationType: Operation;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a>

(Required) the operation used to compare the parameter with the variable.

---

##### `variable1`<sup>Required</sup> <a name="variable1" id="@cdklabs/cdk-ssm-documents.PreconditionProps.property.variable1"></a>

```typescript
public readonly variable1: IGenericVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

(Required) the variable to compare against the constant.

---

##### `variable2`<sup>Required</sup> <a name="variable2" id="@cdklabs/cdk-ssm-documents.PreconditionProps.property.variable2"></a>

```typescript
public readonly variable2: IGenericVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

(Required) the being compared against the variable.

---

### PsModuleStepProps <a name="PsModuleStepProps" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps"></a>

Properties for ps Module step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.Initializer"></a>

```typescript
import { PsModuleStepProps } from '@cdklabs/cdk-ssm-documents'

const psModuleStepProps: PsModuleStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.source">source</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The URL or local path on the instance to the application .zip file. The name of the zip file must be the name of the module to be installed. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.runCommand">runCommand</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]</code> | Specify the commands to run or the path to an existing script on the instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.sourceHash">sourceHash</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The SHA256 hash of the .zip file. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) The time in seconds for a command to be completed before it's considered to have failed. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.workingDirectory">workingDirectory</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The path to the working directory on your instance. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `source`<sup>Required</sup> <a name="source" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.source"></a>

```typescript
public readonly source: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The URL or local path on the instance to the application .zip file. The name of the zip file must be the name of the module to be installed.

---

##### `runCommand`<sup>Optional</sup> <a name="runCommand" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.runCommand"></a>

```typescript
public readonly runCommand: IStringVariable[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]

Specify the commands to run or the path to an existing script on the instance.

---

##### `sourceHash`<sup>Optional</sup> <a name="sourceHash" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.sourceHash"></a>

```typescript
public readonly sourceHash: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The SHA256 hash of the .zip file.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

(Optional) The time in seconds for a command to be completed before it's considered to have failed.

When the timeout is reached, Systems Manager stops the command execution.

---

##### `workingDirectory`<sup>Optional</sup> <a name="workingDirectory" id="@cdklabs/cdk-ssm-documents.PsModuleStepProps.property.workingDirectory"></a>

```typescript
public readonly workingDirectory: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The path to the working directory on your instance.

---

### RequiredAutomationSimulationProps <a name="RequiredAutomationSimulationProps" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps"></a>

The same interface as AutomationSimulationProps but all fields are required.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.Initializer"></a>

```typescript
import { RequiredAutomationSimulationProps } from '@cdklabs/cdk-ssm-documents'

const requiredAutomationSimulationProps: RequiredAutomationSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.approveHook">approveHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.executeAutomationHook">executeAutomationHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IExecuteAutomationHook">IExecuteAutomationHook</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.parameterResolver">parameterResolver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IParameterResolver">IParameterResolver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.pauseHook">pauseHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IPauseHook">IPauseHook</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.runCommandHook">runCommandHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IRunCommandHook">IRunCommandHook</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.webhook">webhook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IWebhook">IWebhook</a></code> | *No description.* |

---

##### `approveHook`<sup>Required</sup> <a name="approveHook" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.approveHook"></a>

```typescript
public readonly approveHook: IApproveHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a>

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

---

##### `executeAutomationHook`<sup>Required</sup> <a name="executeAutomationHook" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.executeAutomationHook"></a>

```typescript
public readonly executeAutomationHook: IExecuteAutomationHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IExecuteAutomationHook">IExecuteAutomationHook</a>

---

##### `inputObserver`<sup>Required</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `outputObserver`<sup>Required</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `parameterResolver`<sup>Required</sup> <a name="parameterResolver" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.parameterResolver"></a>

```typescript
public readonly parameterResolver: IParameterResolver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IParameterResolver">IParameterResolver</a>

---

##### `pauseHook`<sup>Required</sup> <a name="pauseHook" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.pauseHook"></a>

```typescript
public readonly pauseHook: IPauseHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IPauseHook">IPauseHook</a>

---

##### `runCommandHook`<sup>Required</sup> <a name="runCommandHook" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.runCommandHook"></a>

```typescript
public readonly runCommandHook: IRunCommandHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IRunCommandHook">IRunCommandHook</a>

---

##### `sleepHook`<sup>Required</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.sleepHook"></a>

```typescript
public readonly sleepHook: ISleepHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>

---

##### `webhook`<sup>Required</sup> <a name="webhook" id="@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps.property.webhook"></a>

```typescript
public readonly webhook: IWebhook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IWebhook">IWebhook</a>

---

### RequiredCommandSimulationProps <a name="RequiredCommandSimulationProps" id="@cdklabs/cdk-ssm-documents.RequiredCommandSimulationProps"></a>

The same interface as CommandSimulationProps but all fields are required.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.RequiredCommandSimulationProps.Initializer"></a>

```typescript
import { RequiredCommandSimulationProps } from '@cdklabs/cdk-ssm-documents'

const requiredCommandSimulationProps: RequiredCommandSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredCommandSimulationProps.property.environment">environment</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RequiredCommandSimulationProps.property.simulationPlatform">simulationPlatform</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a></code> | *No description.* |

---

##### `environment`<sup>Required</sup> <a name="environment" id="@cdklabs/cdk-ssm-documents.RequiredCommandSimulationProps.property.environment"></a>

```typescript
public readonly environment: IEnvironment;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a>

---

##### `simulationPlatform`<sup>Required</sup> <a name="simulationPlatform" id="@cdklabs/cdk-ssm-documents.RequiredCommandSimulationProps.property.simulationPlatform"></a>

```typescript
public readonly simulationPlatform: Platform;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>

---

### RunCommandOutputs <a name="RunCommandOutputs" id="@cdklabs/cdk-ssm-documents.RunCommandOutputs"></a>

Outputs for aws:runCommand.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.RunCommandOutputs.Initializer"></a>

```typescript
import { RunCommandOutputs } from '@cdklabs/cdk-ssm-documents'

const runCommandOutputs: RunCommandOutputs = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandOutputs.property.commandId">commandId</a></code> | <code>string</code> | The ID of the command. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandOutputs.property.status">status</a></code> | <code>string</code> | The status of the command. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandOutputs.property.output">output</a></code> | <code>string</code> | The output of the command. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandOutputs.property.responseCode">responseCode</a></code> | <code>number</code> | The response code of the command. |

---

##### `commandId`<sup>Required</sup> <a name="commandId" id="@cdklabs/cdk-ssm-documents.RunCommandOutputs.property.commandId"></a>

```typescript
public readonly commandId: string;
```

- *Type:* string

The ID of the command.

---

##### `status`<sup>Required</sup> <a name="status" id="@cdklabs/cdk-ssm-documents.RunCommandOutputs.property.status"></a>

```typescript
public readonly status: string;
```

- *Type:* string

The status of the command.

---

##### `output`<sup>Optional</sup> <a name="output" id="@cdklabs/cdk-ssm-documents.RunCommandOutputs.property.output"></a>

```typescript
public readonly output: string;
```

- *Type:* string

The output of the command.

---

##### `responseCode`<sup>Optional</sup> <a name="responseCode" id="@cdklabs/cdk-ssm-documents.RunCommandOutputs.property.responseCode"></a>

```typescript
public readonly responseCode: number;
```

- *Type:* number

The response code of the command.

---

### RunCommandProps <a name="RunCommandProps" id="@cdklabs/cdk-ssm-documents.RunCommandProps"></a>

Inputs for aws:runCommand.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.RunCommandProps.Initializer"></a>

```typescript
import { RunCommandProps } from '@cdklabs/cdk-ssm-documents'

const runCommandProps: RunCommandProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.documentName">documentName</a></code> | <code>string</code> | If the Command type document is owned by you or AWS, specify the name of the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.targets">targets</a></code> | <code>string[]</code> | The instance IDs where you want the command to run. You can specify a maximum of 50 IDs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.cloudWatchOutputConfig">cloudWatchOutputConfig</a></code> | <code>{[ key: string ]: any}</code> | (Optional) Configuration options for sending command output to Amazon CloudWatch Logs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.comment">comment</a></code> | <code>string</code> | (Optional) User-defined information about the command. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.documentHash">documentHash</a></code> | <code>string</code> | (Optional) The hash for the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.documentHashType">documentHashType</a></code> | <code>string</code> | (Optional) The type of the hash. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.maxConcurrency">maxConcurrency</a></code> | <code>number</code> | (Optional) The maximum concurrency. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.maxErrors">maxErrors</a></code> | <code>number</code> | (Optional) The maximum errors. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.notificationConfig">notificationConfig</a></code> | <code>{[ key: string ]: any}</code> | (Optional) The configurations for sending notifications. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.outputS3BucketName">outputS3BucketName</a></code> | <code>string</code> | (Optional) The name of the S3 bucket for command output responses. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.outputS3KeyPrefix">outputS3KeyPrefix</a></code> | <code>string</code> | (Optional) The prefix. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.parameters">parameters</a></code> | <code>{[ key: string ]: any}</code> | (Optional) The required and optional parameters specified in the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.serviceRoleArn">serviceRoleArn</a></code> | <code>string</code> | (Optional) The ARN of the AWS Identity and Access Management (IAM) role. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) The amount of time in seconds to wait for a command to deliver to the AWS Systems Manager SSM Agent on an instance. |

---

##### `documentName`<sup>Required</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.documentName"></a>

```typescript
public readonly documentName: string;
```

- *Type:* string

If the Command type document is owned by you or AWS, specify the name of the document.

If you're using a document shared with you by a different AWS account, specify the Amazon Resource Name (ARN) of the document.

---

##### `targets`<sup>Required</sup> <a name="targets" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.targets"></a>

```typescript
public readonly targets: string[];
```

- *Type:* string[]

The instance IDs where you want the command to run. You can specify a maximum of 50 IDs.

You can also use the pseudo parameter {{ RESOURCE_ID }} in place of instance IDs to run the command on all instances in the target group. For more information about pseudo parameters, see [About pseudo parameters](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-register-tasks-parameters.html).

Another alternative is to send commands to a fleet of instances by using the Targets parameter. The Targets parameter accepts Amazon Elastic Compute Cloud (Amazon EC2) tags. For more information about how to use the Targets parameter, see [Using targets and rate controls to send commands to a fleet](https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html).

---

##### `cloudWatchOutputConfig`<sup>Optional</sup> <a name="cloudWatchOutputConfig" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.cloudWatchOutputConfig"></a>

```typescript
public readonly cloudWatchOutputConfig: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

(Optional) Configuration options for sending command output to Amazon CloudWatch Logs.

For more information about sending command output to CloudWatch Logs, see [Configuring Amazon CloudWatch Logs for Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-rc-setting-up-cwlogs.html).

---

##### `comment`<sup>Optional</sup> <a name="comment" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.comment"></a>

```typescript
public readonly comment: string;
```

- *Type:* string

(Optional) User-defined information about the command.

---

##### `documentHash`<sup>Optional</sup> <a name="documentHash" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.documentHash"></a>

```typescript
public readonly documentHash: string;
```

- *Type:* string

(Optional) The hash for the document.

---

##### `documentHashType`<sup>Optional</sup> <a name="documentHashType" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.documentHashType"></a>

```typescript
public readonly documentHashType: string;
```

- *Type:* string

(Optional) The type of the hash.

---

##### `maxConcurrency`<sup>Optional</sup> <a name="maxConcurrency" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.maxConcurrency"></a>

```typescript
public readonly maxConcurrency: number;
```

- *Type:* number

(Optional) The maximum concurrency.

---

##### `maxErrors`<sup>Optional</sup> <a name="maxErrors" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.maxErrors"></a>

```typescript
public readonly maxErrors: number;
```

- *Type:* number

(Optional) The maximum errors.

---

##### `notificationConfig`<sup>Optional</sup> <a name="notificationConfig" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

(Optional) The configurations for sending notifications.

---

##### `outputS3BucketName`<sup>Optional</sup> <a name="outputS3BucketName" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.outputS3BucketName"></a>

```typescript
public readonly outputS3BucketName: string;
```

- *Type:* string

(Optional) The name of the S3 bucket for command output responses.

---

##### `outputS3KeyPrefix`<sup>Optional</sup> <a name="outputS3KeyPrefix" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.outputS3KeyPrefix"></a>

```typescript
public readonly outputS3KeyPrefix: string;
```

- *Type:* string

(Optional) The prefix.

---

##### `parameters`<sup>Optional</sup> <a name="parameters" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.parameters"></a>

```typescript
public readonly parameters: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

(Optional) The required and optional parameters specified in the document.

---

##### `serviceRoleArn`<sup>Optional</sup> <a name="serviceRoleArn" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.serviceRoleArn"></a>

```typescript
public readonly serviceRoleArn: string;
```

- *Type:* string

(Optional) The ARN of the AWS Identity and Access Management (IAM) role.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.RunCommandProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

(Optional) The amount of time in seconds to wait for a command to deliver to the AWS Systems Manager SSM Agent on an instance.

If the command isn't received by the SSM Agent on the instance before the value specified is reached, then the status of the command changes to Delivery Timed Out.

---

### RunCommandSimulationProps <a name="RunCommandSimulationProps" id="@cdklabs/cdk-ssm-documents.RunCommandSimulationProps"></a>

Properties for RunCommandStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.RunCommandSimulationProps.Initializer"></a>

```typescript
import { RunCommandSimulationProps } from '@cdklabs/cdk-ssm-documents'

const runCommandSimulationProps: RunCommandSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandSimulationProps.property.runCommandHook">runCommandHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IRunCommandHook">IRunCommandHook</a></code> | Hook for simulating aws:runCommand. |

---

##### `runCommandHook`<sup>Required</sup> <a name="runCommandHook" id="@cdklabs/cdk-ssm-documents.RunCommandSimulationProps.property.runCommandHook"></a>

```typescript
public readonly runCommandHook: IRunCommandHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IRunCommandHook">IRunCommandHook</a>
- *Default:* Uses AWS API to execute the document remotely.

Hook for simulating aws:runCommand.

---

### RunCommandStepProps <a name="RunCommandStepProps" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps"></a>

Properties for RunCommandStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.Initializer"></a>

```typescript
import { RunCommandStepProps } from '@cdklabs/cdk-ssm-documents'

const runCommandStepProps: RunCommandStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.documentName">documentName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | If the Command type document is owned by you or AWS, specify the name of the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.targets">targets</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a> \| <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | The instance IDs where you want the command to run. You can specify a maximum of 50 IDs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.cloudWatchOutputConfig">cloudWatchOutputConfig</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | (Optional) Configuration options for sending command output to Amazon CloudWatch Logs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.commandTimeoutSeconds">commandTimeoutSeconds</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | (Optional) The amount of time in seconds to wait for a command to deliver to the AWS Systems Manager SSM Agent on an instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.comment">comment</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) User-defined information about the command. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.documentHash">documentHash</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The hash for the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.documentHashType">documentHashType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IDocumentHashTypeVariable">IDocumentHashTypeVariable</a></code> | (Optional) The type of the hash. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.maxConcurrency">maxConcurrency</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | (Optional) The maximum concurrency. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.maxErrors">maxErrors</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | (Optional) The maximum errors. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.notificationConfig">notificationConfig</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | (Optional) The configurations for sending notifications. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.outputS3BucketName">outputS3BucketName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The name of the S3 bucket for command output responses. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.outputS3KeyPrefix">outputS3KeyPrefix</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The prefix. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.parameters">parameters</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | (Optional) The required and optional parameters specified in the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.serviceRoleArn">serviceRoleArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The ARN of the AWS Identity and Access Management (IAM) role. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `documentName`<sup>Required</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.documentName"></a>

```typescript
public readonly documentName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

If the Command type document is owned by you or AWS, specify the name of the document.

If you're using a document shared with you by a different AWS account, specify the Amazon Resource Name (ARN) of the document.

---

##### `targets`<sup>Required</sup> <a name="targets" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.targets"></a>

```typescript
public readonly targets: IMapListVariable | IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a> | <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

The instance IDs where you want the command to run. You can specify a maximum of 50 IDs.

You can also use the pseudo parameter {{ RESOURCE_ID }} in place of instance IDs to run the command on all instances in the target group. For more information about pseudo parameters, see [About pseudo parameters](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-register-tasks-parameters.html).

Another alternative is to send commands to a fleet of instances by using the Targets parameter. The Targets parameter accepts Amazon Elastic Compute Cloud (Amazon EC2) tags. For more information about how to use the Targets parameter, see [Using targets and rate controls to send commands to a fleet](https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html).

---

##### `cloudWatchOutputConfig`<sup>Optional</sup> <a name="cloudWatchOutputConfig" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.cloudWatchOutputConfig"></a>

```typescript
public readonly cloudWatchOutputConfig: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

(Optional) Configuration options for sending command output to Amazon CloudWatch Logs.

For more information about sending command output to CloudWatch Logs, see [Configuring Amazon CloudWatch Logs for Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-rc-setting-up-cwlogs.html).

---

##### `commandTimeoutSeconds`<sup>Optional</sup> <a name="commandTimeoutSeconds" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.commandTimeoutSeconds"></a>

```typescript
public readonly commandTimeoutSeconds: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

(Optional) The amount of time in seconds to wait for a command to deliver to the AWS Systems Manager SSM Agent on an instance.

If the command isn't received by the SSM Agent on the instance before the value specified is reached, then the status of the command changes to Delivery Timed Out.

---

##### `comment`<sup>Optional</sup> <a name="comment" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.comment"></a>

```typescript
public readonly comment: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) User-defined information about the command.

---

##### `documentHash`<sup>Optional</sup> <a name="documentHash" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.documentHash"></a>

```typescript
public readonly documentHash: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The hash for the document.

---

##### `documentHashType`<sup>Optional</sup> <a name="documentHashType" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.documentHashType"></a>

```typescript
public readonly documentHashType: IDocumentHashTypeVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IDocumentHashTypeVariable">IDocumentHashTypeVariable</a>

(Optional) The type of the hash.

---

##### `maxConcurrency`<sup>Optional</sup> <a name="maxConcurrency" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.maxConcurrency"></a>

```typescript
public readonly maxConcurrency: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

(Optional) The maximum concurrency.

---

##### `maxErrors`<sup>Optional</sup> <a name="maxErrors" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.maxErrors"></a>

```typescript
public readonly maxErrors: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

(Optional) The maximum errors.

---

##### `notificationConfig`<sup>Optional</sup> <a name="notificationConfig" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.notificationConfig"></a>

```typescript
public readonly notificationConfig: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

(Optional) The configurations for sending notifications.

---

##### `outputS3BucketName`<sup>Optional</sup> <a name="outputS3BucketName" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.outputS3BucketName"></a>

```typescript
public readonly outputS3BucketName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The name of the S3 bucket for command output responses.

---

##### `outputS3KeyPrefix`<sup>Optional</sup> <a name="outputS3KeyPrefix" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.outputS3KeyPrefix"></a>

```typescript
public readonly outputS3KeyPrefix: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The prefix.

---

##### `parameters`<sup>Optional</sup> <a name="parameters" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.parameters"></a>

```typescript
public readonly parameters: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

(Optional) The required and optional parameters specified in the document.

---

##### `serviceRoleArn`<sup>Optional</sup> <a name="serviceRoleArn" id="@cdklabs/cdk-ssm-documents.RunCommandStepProps.property.serviceRoleArn"></a>

```typescript
public readonly serviceRoleArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The ARN of the AWS Identity and Access Management (IAM) role.

---

### RunDockerActionStepProps <a name="RunDockerActionStepProps" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.Initializer"></a>

```typescript
import { RunDockerActionStepProps } from '@cdklabs/cdk-ssm-documents'

const runDockerActionStepProps: RunDockerActionStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.action">action</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.cmd">cmd</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.container">container</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.cpuShares">cpuShares</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.env">env</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.image">image</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.memory">memory</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.publish">publish</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.user">user</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.volume">volume</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | *No description.* |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.action"></a>

```typescript
public readonly action: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `cmd`<sup>Optional</sup> <a name="cmd" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.cmd"></a>

```typescript
public readonly cmd: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `container`<sup>Optional</sup> <a name="container" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.container"></a>

```typescript
public readonly container: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `cpuShares`<sup>Optional</sup> <a name="cpuShares" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.cpuShares"></a>

```typescript
public readonly cpuShares: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `env`<sup>Optional</sup> <a name="env" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.env"></a>

```typescript
public readonly env: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `image`<sup>Optional</sup> <a name="image" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.image"></a>

```typescript
public readonly image: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `memory`<sup>Optional</sup> <a name="memory" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.memory"></a>

```typescript
public readonly memory: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `publish`<sup>Optional</sup> <a name="publish" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.publish"></a>

```typescript
public readonly publish: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `user`<sup>Optional</sup> <a name="user" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.user"></a>

```typescript
public readonly user: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `volume`<sup>Optional</sup> <a name="volume" id="@cdklabs/cdk-ssm-documents.RunDockerActionStepProps.property.volume"></a>

```typescript
public readonly volume: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

---

### RunDocumentStepProps <a name="RunDocumentStepProps" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps"></a>

Properties for Run Document step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.Initializer"></a>

```typescript
import { RunDocumentStepProps } from '@cdklabs/cdk-ssm-documents'

const runDocumentStepProps: RunDocumentStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.stepDocument">stepDocument</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IRunDocumentLocation">IRunDocumentLocation</a></code> | Document info containing document type and document path. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.documentParameters">documentParameters</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | Parameters for the document. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `stepDocument`<sup>Required</sup> <a name="stepDocument" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.stepDocument"></a>

```typescript
public readonly stepDocument: IRunDocumentLocation;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IRunDocumentLocation">IRunDocumentLocation</a>

Document info containing document type and document path.

Can be of type LocalRunDocument or SsmRunDocument.

---

##### `documentParameters`<sup>Optional</sup> <a name="documentParameters" id="@cdklabs/cdk-ssm-documents.RunDocumentStepProps.property.documentParameters"></a>

```typescript
public readonly documentParameters: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

Parameters for the document.

---

### RunInstanceStepProps <a name="RunInstanceStepProps" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps"></a>

Properties for RunInstanceStep.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.Initializer"></a>

```typescript
import { RunInstanceStepProps } from '@cdklabs/cdk-ssm-documents'

const runInstanceStepProps: RunInstanceStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.imageId">imageId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The ID of the Amazon Machine Image (AMI). |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.additionalInfo">additionalInfo</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Reserved. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.blockDeviceMappings">blockDeviceMappings</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | (Optional) The block devices for the instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.clientToken">clientToken</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The identifier to ensure idempotency of the request. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.disableApiTermination">disableApiTermination</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | (Optional) Turns on or turns off instance API termination. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.ebsOptimized">ebsOptimized</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | (Optional) Turns on or turns off Amazon Elastic Block Store (Amazon EBS) optimization. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.iamInstanceProfileArn">iamInstanceProfileArn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) instance profile for the instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.iamInstanceProfileName">iamInstanceProfileName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The name of the IAM instance profile for the instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.instanceInitiatedShutdownBehavior">instanceInitiatedShutdownBehavior</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Indicates whether the instance stops or terminates on system shutdown. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.instanceType">instanceType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The instance type. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.kernelId">kernelId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The ID of the kernel. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.keyName">keyName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The name of the key pair. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.maxInstanceCount">maxInstanceCount</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | (Optional) The maximum number of instances to be launched. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.minInstanceCount">minInstanceCount</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a></code> | (Optional) The minimum number of instances to be launched. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.monitoring">monitoring</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | (Optional) Turns on or turns off detailed monitoring. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.networkInterfaces">networkInterfaces</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | (Optional) The network interfaces. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.placement">placement</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a></code> | (Optional) The placement for the instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.privateIpAddress">privateIpAddress</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The primary IPv4 address. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.ramdiskId">ramdiskId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The ID of the RAM disk. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.securityGroupIds">securityGroupIds</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | (Optional) The IDs of the security groups for the instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.securityGroups">securityGroups</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a></code> | (Optional) The names of the security groups for the instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.subnetId">subnetId</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The subnet ID. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.tagSpecifications">tagSpecifications</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a></code> | (Optional) The tags to apply to the resources during launch. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.userData">userData</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) A script provided as a string literal value. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `imageId`<sup>Required</sup> <a name="imageId" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.imageId"></a>

```typescript
public readonly imageId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The ID of the Amazon Machine Image (AMI).

---

##### `additionalInfo`<sup>Optional</sup> <a name="additionalInfo" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.additionalInfo"></a>

```typescript
public readonly additionalInfo: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Reserved.

---

##### `blockDeviceMappings`<sup>Optional</sup> <a name="blockDeviceMappings" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.blockDeviceMappings"></a>

```typescript
public readonly blockDeviceMappings: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

(Optional) The block devices for the instance.

---

##### `clientToken`<sup>Optional</sup> <a name="clientToken" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.clientToken"></a>

```typescript
public readonly clientToken: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The identifier to ensure idempotency of the request.

---

##### `disableApiTermination`<sup>Optional</sup> <a name="disableApiTermination" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.disableApiTermination"></a>

```typescript
public readonly disableApiTermination: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

(Optional) Turns on or turns off instance API termination.

---

##### `ebsOptimized`<sup>Optional</sup> <a name="ebsOptimized" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.ebsOptimized"></a>

```typescript
public readonly ebsOptimized: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

(Optional) Turns on or turns off Amazon Elastic Block Store (Amazon EBS) optimization.

---

##### `iamInstanceProfileArn`<sup>Optional</sup> <a name="iamInstanceProfileArn" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.iamInstanceProfileArn"></a>

```typescript
public readonly iamInstanceProfileArn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) instance profile for the instance.

---

##### `iamInstanceProfileName`<sup>Optional</sup> <a name="iamInstanceProfileName" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.iamInstanceProfileName"></a>

```typescript
public readonly iamInstanceProfileName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The name of the IAM instance profile for the instance.

---

##### `instanceInitiatedShutdownBehavior`<sup>Optional</sup> <a name="instanceInitiatedShutdownBehavior" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.instanceInitiatedShutdownBehavior"></a>

```typescript
public readonly instanceInitiatedShutdownBehavior: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Indicates whether the instance stops or terminates on system shutdown.

---

##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.instanceType"></a>

```typescript
public readonly instanceType: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The instance type.

---

##### `kernelId`<sup>Optional</sup> <a name="kernelId" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.kernelId"></a>

```typescript
public readonly kernelId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The ID of the kernel.

---

##### `keyName`<sup>Optional</sup> <a name="keyName" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.keyName"></a>

```typescript
public readonly keyName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The name of the key pair.

---

##### `maxInstanceCount`<sup>Optional</sup> <a name="maxInstanceCount" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.maxInstanceCount"></a>

```typescript
public readonly maxInstanceCount: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

(Optional) The maximum number of instances to be launched.

---

##### `minInstanceCount`<sup>Optional</sup> <a name="minInstanceCount" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.minInstanceCount"></a>

```typescript
public readonly minInstanceCount: INumberVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

(Optional) The minimum number of instances to be launched.

---

##### `monitoring`<sup>Optional</sup> <a name="monitoring" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.monitoring"></a>

```typescript
public readonly monitoring: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

(Optional) Turns on or turns off detailed monitoring.

---

##### `networkInterfaces`<sup>Optional</sup> <a name="networkInterfaces" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.networkInterfaces"></a>

```typescript
public readonly networkInterfaces: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

(Optional) The network interfaces.

---

##### `placement`<sup>Optional</sup> <a name="placement" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.placement"></a>

```typescript
public readonly placement: IStringMapVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

(Optional) The placement for the instance.

---

##### `privateIpAddress`<sup>Optional</sup> <a name="privateIpAddress" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.privateIpAddress"></a>

```typescript
public readonly privateIpAddress: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The primary IPv4 address.

---

##### `ramdiskId`<sup>Optional</sup> <a name="ramdiskId" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.ramdiskId"></a>

```typescript
public readonly ramdiskId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The ID of the RAM disk.

---

##### `securityGroupIds`<sup>Optional</sup> <a name="securityGroupIds" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.securityGroupIds"></a>

```typescript
public readonly securityGroupIds: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

(Optional) The IDs of the security groups for the instance.

---

##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.securityGroups"></a>

```typescript
public readonly securityGroups: IStringListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

(Optional) The names of the security groups for the instance.

---

##### `subnetId`<sup>Optional</sup> <a name="subnetId" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.subnetId"></a>

```typescript
public readonly subnetId: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The subnet ID.

---

##### `tagSpecifications`<sup>Optional</sup> <a name="tagSpecifications" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.tagSpecifications"></a>

```typescript
public readonly tagSpecifications: IMapListVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

(Optional) The tags to apply to the resources during launch.

You can only tag instances and volumes at launch. The specified tags are applied to all instances or volumes that are created during launch.
To tag an instance after it has been launched, use the aws:createTags – Create tags for AWS resources action.

---

##### `userData`<sup>Optional</sup> <a name="userData" id="@cdklabs/cdk-ssm-documents.RunInstanceStepProps.property.userData"></a>

```typescript
public readonly userData: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) A script provided as a string literal value.

If a literal value is entered, then it must be Base64-encoded.

---

### RunPowerShellScriptStepProps <a name="RunPowerShellScriptStepProps" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps"></a>

Properties for runPowerShellScript step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.Initializer"></a>

```typescript
import { RunPowerShellScriptStepProps } from '@cdklabs/cdk-ssm-documents'

const runPowerShellScriptStepProps: RunPowerShellScriptStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.runCommand">runCommand</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]</code> | Specify the commands to run or the path to an existing script on the instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) The time in seconds for a command to be completed before it's considered to have failed. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.workingDirectory">workingDirectory</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The path to the working directory on your instance. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `runCommand`<sup>Required</sup> <a name="runCommand" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.runCommand"></a>

```typescript
public readonly runCommand: IStringVariable[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]

Specify the commands to run or the path to an existing script on the instance.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

(Optional) The time in seconds for a command to be completed before it's considered to have failed.

When the timeout is reached, Systems Manager stops the command execution.

---

##### `workingDirectory`<sup>Optional</sup> <a name="workingDirectory" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptStepProps.property.workingDirectory"></a>

```typescript
public readonly workingDirectory: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The path to the working directory on your instance.

---

### RunShellScriptStepProps <a name="RunShellScriptStepProps" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps"></a>

Properties for sleep step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.Initializer"></a>

```typescript
import { RunShellScriptStepProps } from '@cdklabs/cdk-ssm-documents'

const runShellScriptStepProps: RunShellScriptStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.runCommand">runCommand</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]</code> | Specify the commands to run or the path to an existing script on the instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) The time in seconds for a command to be completed before it's considered to have failed. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.workingDirectory">workingDirectory</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) The path to the working directory on your instance. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `runCommand`<sup>Required</sup> <a name="runCommand" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.runCommand"></a>

```typescript
public readonly runCommand: IStringVariable[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>[]

Specify the commands to run or the path to an existing script on the instance.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number

(Optional) The time in seconds for a command to be completed before it's considered to have failed.

When the timeout is reached, Systems Manager stops the command execution.

---

##### `workingDirectory`<sup>Optional</sup> <a name="workingDirectory" id="@cdklabs/cdk-ssm-documents.RunShellScriptStepProps.property.workingDirectory"></a>

```typescript
public readonly workingDirectory: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) The path to the working directory on your instance.

---

### S3ContentProps <a name="S3ContentProps" id="@cdklabs/cdk-ssm-documents.S3ContentProps"></a>

Properties.json for sourceType GitHub.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.S3ContentProps.Initializer"></a>

```typescript
import { S3ContentProps } from '@cdklabs/cdk-ssm-documents'

const s3ContentProps: S3ContentProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.S3ContentProps.property.path">path</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | The URL to the file or directory you want to download. |

---

##### `path`<sup>Required</sup> <a name="path" id="@cdklabs/cdk-ssm-documents.S3ContentProps.property.path"></a>

```typescript
public readonly path: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

The URL to the file or directory you want to download.

---

### SimulationProps <a name="SimulationProps" id="@cdklabs/cdk-ssm-documents.SimulationProps"></a>

Universe of Automation and Command simulation props.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.SimulationProps.Initializer"></a>

```typescript
import { SimulationProps } from '@cdklabs/cdk-ssm-documents'

const simulationProps: SimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps.property.approveHook">approveHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps.property.environment">environment</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps.property.parameterResolver">parameterResolver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IParameterResolver">IParameterResolver</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps.property.pauseHook">pauseHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IPauseHook">IPauseHook</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps.property.runCommandHook">runCommandHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IRunCommandHook">IRunCommandHook</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps.property.simulationPlatform">simulationPlatform</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps.property.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps.property.webhook">webhook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IWebhook">IWebhook</a></code> | *No description.* |

---

##### `approveHook`<sup>Optional</sup> <a name="approveHook" id="@cdklabs/cdk-ssm-documents.SimulationProps.property.approveHook"></a>

```typescript
public readonly approveHook: IApproveHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a>

---

##### `awsInvoker`<sup>Optional</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.SimulationProps.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

---

##### `environment`<sup>Optional</sup> <a name="environment" id="@cdklabs/cdk-ssm-documents.SimulationProps.property.environment"></a>

```typescript
public readonly environment: IEnvironment;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a>

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.SimulationProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.SimulationProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

---

##### `parameterResolver`<sup>Optional</sup> <a name="parameterResolver" id="@cdklabs/cdk-ssm-documents.SimulationProps.property.parameterResolver"></a>

```typescript
public readonly parameterResolver: IParameterResolver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IParameterResolver">IParameterResolver</a>

---

##### `pauseHook`<sup>Optional</sup> <a name="pauseHook" id="@cdklabs/cdk-ssm-documents.SimulationProps.property.pauseHook"></a>

```typescript
public readonly pauseHook: IPauseHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IPauseHook">IPauseHook</a>

---

##### `runCommandHook`<sup>Optional</sup> <a name="runCommandHook" id="@cdklabs/cdk-ssm-documents.SimulationProps.property.runCommandHook"></a>

```typescript
public readonly runCommandHook: IRunCommandHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IRunCommandHook">IRunCommandHook</a>

---

##### `simulationPlatform`<sup>Optional</sup> <a name="simulationPlatform" id="@cdklabs/cdk-ssm-documents.SimulationProps.property.simulationPlatform"></a>

```typescript
public readonly simulationPlatform: Platform;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>

---

##### `sleepHook`<sup>Optional</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.SimulationProps.property.sleepHook"></a>

```typescript
public readonly sleepHook: ISleepHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>

---

##### `webhook`<sup>Optional</sup> <a name="webhook" id="@cdklabs/cdk-ssm-documents.SimulationProps.property.webhook"></a>

```typescript
public readonly webhook: IWebhook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IWebhook">IWebhook</a>

---

### SimulationResult <a name="SimulationResult" id="@cdklabs/cdk-ssm-documents.SimulationResult"></a>

Response object returned from steps.

A successful response will contain the outputs expected.
A failed/canceled response will contain the stackTrace.
A failure will propagate up the stack unless the step is marked to succeed on failure.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.SimulationResult.Initializer"></a>

```typescript
import { SimulationResult } from '@cdklabs/cdk-ssm-documents'

const simulationResult: SimulationResult = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationResult.property.executedSteps">executedSteps</a></code> | <code>string[]</code> | All the steps that were executed in this Simulation. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationResult.property.responseCode">responseCode</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ResponseCode">ResponseCode</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationResult.property.outputs">outputs</a></code> | <code>{[ key: string ]: any}</code> | May be empty if responseCode is FAILED/CANCELLED. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SimulationResult.property.stackTrace">stackTrace</a></code> | <code>string</code> | undefined if responseCode is SUCCESS. |

---

##### `executedSteps`<sup>Required</sup> <a name="executedSteps" id="@cdklabs/cdk-ssm-documents.SimulationResult.property.executedSteps"></a>

```typescript
public readonly executedSteps: string[];
```

- *Type:* string[]

All the steps that were executed in this Simulation.

---

##### `responseCode`<sup>Required</sup> <a name="responseCode" id="@cdklabs/cdk-ssm-documents.SimulationResult.property.responseCode"></a>

```typescript
public readonly responseCode: ResponseCode;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ResponseCode">ResponseCode</a>

---

##### `outputs`<sup>Optional</sup> <a name="outputs" id="@cdklabs/cdk-ssm-documents.SimulationResult.property.outputs"></a>

```typescript
public readonly outputs: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

May be empty if responseCode is FAILED/CANCELLED.

There are no outputs provided for Command steps or documents.

---

##### `stackTrace`<sup>Optional</sup> <a name="stackTrace" id="@cdklabs/cdk-ssm-documents.SimulationResult.property.stackTrace"></a>

```typescript
public readonly stackTrace: string;
```

- *Type:* string

undefined if responseCode is SUCCESS.

---

### SleepSimulationProps <a name="SleepSimulationProps" id="@cdklabs/cdk-ssm-documents.SleepSimulationProps"></a>

Properties for sleep step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.SleepSimulationProps.Initializer"></a>

```typescript
import { SleepSimulationProps } from '@cdklabs/cdk-ssm-documents'

const sleepSimulationProps: SleepSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepSimulationProps.property.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | (Optional) Whether to really perform a pause of the runtime. |

---

##### `sleepHook`<sup>Required</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.SleepSimulationProps.property.sleepHook"></a>

```typescript
public readonly sleepHook: ISleepHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>
- *Default:* SleeperImpl

(Optional) Whether to really perform a pause of the runtime.

To override sleep behavior, inject an ISleepHook impl or use the provided MockSleep class.

---

### SleepStepProps <a name="SleepStepProps" id="@cdklabs/cdk-ssm-documents.SleepStepProps"></a>

Properties for sleep step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.SleepStepProps.Initializer"></a>

```typescript
import { SleepStepProps } from '@cdklabs/cdk-ssm-documents'

const sleepStepProps: SleepStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepStepProps.property.sleepSeconds">sleepSeconds</a></code> | <code>number</code> | (Required) The amount of seconds to sleep for. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `sleepSeconds`<sup>Required</sup> <a name="sleepSeconds" id="@cdklabs/cdk-ssm-documents.SleepStepProps.property.sleepSeconds"></a>

```typescript
public readonly sleepSeconds: number;
```

- *Type:* number

(Required) The amount of seconds to sleep for.

May not exceed 604800.
This will be used in the SSM doc as well as how long to indicate sleep to the sleepHook.

---

### SoftwareInventoryStepProps <a name="SoftwareInventoryStepProps" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps"></a>

Properties of SoftwareInventory step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.Initializer"></a>

```typescript
import { SoftwareInventoryStepProps } from '@cdklabs/cdk-ssm-documents'

const softwareInventoryStepProps: SoftwareInventoryStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.applications">applications</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Collect metadata for installed applications. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.awsComponents">awsComponents</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Collect metadata for AWS components like amazon-ssm-agent. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.customInventory">customInventory</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Collect custom inventory data. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.files">files</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional, requires SSM Agent version 2.2.64.0 or later) Collect metadata for files, including file names, the time files were created, the time files were last modified and accessed, and file sizes, to name a few. For more information about collecting file inventory, see Working with file and Windows registry. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.instanceDetailedInformation">instanceDetailedInformation</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Collect more instance information than is provided by the default inventory plugin (aws:instanceInformation), including CPU model, speed, and the number of cores, to name a few. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.networkConfig">networkConfig</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Collect metadata for network configurations. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.services">services</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional, Windows OS only, requires SSM Agent version 2.2.64.0 or later) Collect metadata for service configurations. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.windowsRegistry">windowsRegistry</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional, Windows OS only, requires SSM Agent version 2.2.64.0 or later) Collect Windows Registry keys and values. You can choose a key path and collect all keys and values recursively. You can also collect a specific registry key and its value for a specific path. Inventory collects the key path, name, type, and the value. For more information about collecting Windows Registry inventory, see Working with file and Windows registry inventory. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.windowsRoles">windowsRoles</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional, Windows OS only, requires SSM Agent version 2.2.64.0 or later) Collect metadata for Microsoft Windows role configurations. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.windowsUpdates">windowsUpdates</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Collect metadata for all Windows updates. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `applications`<sup>Optional</sup> <a name="applications" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.applications"></a>

```typescript
public readonly applications: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Collect metadata for installed applications.

---

##### `awsComponents`<sup>Optional</sup> <a name="awsComponents" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.awsComponents"></a>

```typescript
public readonly awsComponents: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Collect metadata for AWS components like amazon-ssm-agent.

---

##### `customInventory`<sup>Optional</sup> <a name="customInventory" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.customInventory"></a>

```typescript
public readonly customInventory: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Collect custom inventory data.

For more information about custom inventory, see Working with custom inventory

---

##### `files`<sup>Optional</sup> <a name="files" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.files"></a>

```typescript
public readonly files: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional, requires SSM Agent version 2.2.64.0 or later) Collect metadata for files, including file names, the time files were created, the time files were last modified and accessed, and file sizes, to name a few. For more information about collecting file inventory, see Working with file and Windows registry.

---

##### `instanceDetailedInformation`<sup>Optional</sup> <a name="instanceDetailedInformation" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.instanceDetailedInformation"></a>

```typescript
public readonly instanceDetailedInformation: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Collect more instance information than is provided by the default inventory plugin (aws:instanceInformation), including CPU model, speed, and the number of cores, to name a few.

---

##### `networkConfig`<sup>Optional</sup> <a name="networkConfig" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.networkConfig"></a>

```typescript
public readonly networkConfig: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Collect metadata for network configurations.

---

##### `services`<sup>Optional</sup> <a name="services" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.services"></a>

```typescript
public readonly services: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional, Windows OS only, requires SSM Agent version 2.2.64.0 or later) Collect metadata for service configurations.

---

##### `windowsRegistry`<sup>Optional</sup> <a name="windowsRegistry" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.windowsRegistry"></a>

```typescript
public readonly windowsRegistry: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional, Windows OS only, requires SSM Agent version 2.2.64.0 or later) Collect Windows Registry keys and values. You can choose a key path and collect all keys and values recursively. You can also collect a specific registry key and its value for a specific path. Inventory collects the key path, name, type, and the value. For more information about collecting Windows Registry inventory, see Working with file and Windows registry inventory.

---

##### `windowsRoles`<sup>Optional</sup> <a name="windowsRoles" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.windowsRoles"></a>

```typescript
public readonly windowsRoles: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional, Windows OS only, requires SSM Agent version 2.2.64.0 or later) Collect metadata for Microsoft Windows role configurations.

---

##### `windowsUpdates`<sup>Optional</sup> <a name="windowsUpdates" id="@cdklabs/cdk-ssm-documents.SoftwareInventoryStepProps.property.windowsUpdates"></a>

```typescript
public readonly windowsUpdates: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Collect metadata for all Windows updates.

---

### SsmAutomationProps <a name="SsmAutomationProps" id="@cdklabs/cdk-ssm-documents.SsmAutomationProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.SsmAutomationProps.Initializer"></a>

```typescript
import { SsmAutomationProps } from '@cdklabs/cdk-ssm-documents'

const ssmAutomationProps: SsmAutomationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmAutomationProps.property.parameters">parameters</a></code> | <code>{[ key: string ]: <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>}</code> | Specify either StringVariables or HardCodedValues. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmAutomationProps.property.targetAccount">targetAccount</a></code> | <code>string</code> | The account that the automation document will be run in. |

---

##### `parameters`<sup>Required</sup> <a name="parameters" id="@cdklabs/cdk-ssm-documents.SsmAutomationProps.property.parameters"></a>

```typescript
public readonly parameters: {[ key: string ]: IGenericVariable};
```

- *Type:* {[ key: string ]: <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>}

Specify either StringVariables or HardCodedValues.

> [: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-ssmparameter.html](: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-ssmparameter.html)

---

##### `targetAccount`<sup>Optional</sup> <a name="targetAccount" id="@cdklabs/cdk-ssm-documents.SsmAutomationProps.property.targetAccount"></a>

```typescript
public readonly targetAccount: string;
```

- *Type:* string

The account that the automation document will be run in.

This can be in either the management account or an application account.

> [: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-ssmautomation.html#cfn-ssmincidents-responseplan-ssmautomation-targetaccount](: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-ssmautomation.html#cfn-ssmincidents-responseplan-ssmautomation-targetaccount)

---

### SsmDocumentContentProps <a name="SsmDocumentContentProps" id="@cdklabs/cdk-ssm-documents.SsmDocumentContentProps"></a>

Properties.json for sourceType SsmDocument.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.SsmDocumentContentProps.Initializer"></a>

```typescript
import { SsmDocumentContentProps } from '@cdklabs/cdk-ssm-documents'

const ssmDocumentContentProps: SsmDocumentContentProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentContentProps.property.documentSource">documentSource</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentSource">DocumentSource</a></code> | specify one of the following The name and version of the document in the following format: name:version. |

---

##### `documentSource`<sup>Required</sup> <a name="documentSource" id="@cdklabs/cdk-ssm-documents.SsmDocumentContentProps.property.documentSource"></a>

```typescript
public readonly documentSource: DocumentSource;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentSource">DocumentSource</a>

specify one of the following The name and version of the document in the following format: name:version.

Version is optional.
or The ARN for the document in the following format: arn:aws:ssm:region:account_id:document/document_name

---

### SsmDocumentProps <a name="SsmDocumentProps" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.Initializer"></a>

```typescript
import { SsmDocumentProps } from '@cdklabs/cdk-ssm-documents'

const ssmDocumentProps: SsmDocumentProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.assumeRole">assumeRole</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | (Optional) Assume role to use for this document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.description">description</a></code> | <code>string</code> | (Optional) Description of the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.docInputs">docInputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]</code> | (Optional) Inputs required by the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.docOutputs">docOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]</code> | (Optional) Outputs to be emitted from the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.documentFormat">documentFormat</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentFormat">DocumentFormat</a></code> | (Optional) Specifies whether this document should be written as YAML or JSON. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.documentName">documentName</a></code> | <code>string</code> | (Optional) Name of the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.header">header</a></code> | <code>string</code> | (Optional) A Header/comment to include at the start of a YAML document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.requires">requires</a></code> | <code>aws-cdk-lib.IResolvable \| aws-cdk-lib.aws_ssm.CfnDocument.DocumentRequiresProperty \| aws-cdk-lib.IResolvable[]</code> | `AWS::SSM::Document.Requires`. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.tags">tags</a></code> | <code>aws-cdk-lib.CfnTag[]</code> | `AWS::SSM::Document.Tags`. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.targetType">targetType</a></code> | <code>string</code> | `AWS::SSM::Document.TargetType`. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.updateMethod">updateMethod</a></code> | <code>string</code> | If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.versionName">versionName</a></code> | <code>string</code> | `AWS::SSM::Document.VersionName`. |

---

##### `assumeRole`<sup>Optional</sup> <a name="assumeRole" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.assumeRole"></a>

```typescript
public readonly assumeRole: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

(Optional) Assume role to use for this document.

If provided, this value MUST be included as one of the documentInput names.

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

(Optional) Description of the document.

Defaults to the document name.

---

##### `docInputs`<sup>Optional</sup> <a name="docInputs" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.docInputs"></a>

```typescript
public readonly docInputs: Input[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Input">Input</a>[]

(Optional) Inputs required by the document.

---

##### `docOutputs`<sup>Optional</sup> <a name="docOutputs" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.docOutputs"></a>

```typescript
public readonly docOutputs: DocumentOutput[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentOutput">DocumentOutput</a>[]
- *Default:* []

(Optional) Outputs to be emitted from the document.

The outputs are placed in a StringSet called outputs (as is done in SSM).

---

##### `documentFormat`<sup>Optional</sup> <a name="documentFormat" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.documentFormat"></a>

```typescript
public readonly documentFormat: DocumentFormat;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentFormat">DocumentFormat</a>
- *Default:* JSON

(Optional) Specifies whether this document should be written as YAML or JSON.

---

##### `documentName`<sup>Optional</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.documentName"></a>

```typescript
public readonly documentName: string;
```

- *Type:* string

(Optional) Name of the document.

Will default to the id provided for the CDK node.

---

##### `header`<sup>Optional</sup> <a name="header" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.header"></a>

```typescript
public readonly header: string;
```

- *Type:* string

(Optional) A Header/comment to include at the start of a YAML document.

JSON documents do not support headers.

---

##### `requires`<sup>Optional</sup> <a name="requires" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.requires"></a>

```typescript
public readonly requires: IResolvable | (DocumentRequiresProperty | IResolvable)[];
```

- *Type:* aws-cdk-lib.IResolvable | aws-cdk-lib.aws_ssm.CfnDocument.DocumentRequiresProperty | aws-cdk-lib.IResolvable[]

`AWS::SSM::Document.Requires`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-requires](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-requires)

---

##### `tags`<sup>Optional</sup> <a name="tags" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.tags"></a>

```typescript
public readonly tags: CfnTag[];
```

- *Type:* aws-cdk-lib.CfnTag[]

`AWS::SSM::Document.Tags`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-tags](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-tags)

---

##### `targetType`<sup>Optional</sup> <a name="targetType" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.targetType"></a>

```typescript
public readonly targetType: string;
```

- *Type:* string

`AWS::SSM::Document.TargetType`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-targettype](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-targettype)

---

##### `updateMethod`<sup>Optional</sup> <a name="updateMethod" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.updateMethod"></a>

```typescript
public readonly updateMethod: string;
```

- *Type:* string

If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced.

`Replace` is the default method. If you specify `NewVersion` for the `UpdateMethod` parameter, and the `Name` of the document does not match an existing resource, a new document is created. When you specify `NewVersion` , the default version of the document is changed to the newly created version.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-updatemethod](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-updatemethod)

---

##### `versionName`<sup>Optional</sup> <a name="versionName" id="@cdklabs/cdk-ssm-documents.SsmDocumentProps.property.versionName"></a>

```typescript
public readonly versionName: string;
```

- *Type:* string

`AWS::SSM::Document.VersionName`.

> [http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-versionname](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-versionname)

---

### StepProps <a name="StepProps" id="@cdklabs/cdk-ssm-documents.StepProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.StepProps.Initializer"></a>

```typescript
import { StepProps } from '@cdklabs/cdk-ssm-documents'

const stepProps: StepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.StepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.StepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.StepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.StepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

### StringInputProps <a name="StringInputProps" id="@cdklabs/cdk-ssm-documents.StringInputProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.StringInputProps.Initializer"></a>

```typescript
import { StringInputProps } from '@cdklabs/cdk-ssm-documents'

const stringInputProps: StringInputProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringInputProps.property.allowedPattern">allowedPattern</a></code> | <code>string</code> | (Optional) Pattern that this input value must match. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringInputProps.property.allowedValues">allowedValues</a></code> | <code>string[]</code> | (Optional) List of allowed values that this input may be. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringInputProps.property.defaultValue">defaultValue</a></code> | <code>string</code> | (Optional) Default value to use for this input if not specified when invoking the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringInputProps.property.description">description</a></code> | <code>string</code> | (Optional) The description of the input. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringInputProps.property.maxChars">maxChars</a></code> | <code>number</code> | (Optional) Maximum number of chars that this input value (string) must contain. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringInputProps.property.minChars">minChars</a></code> | <code>number</code> | (Optional) Minimum number of chars that this input value (string) must contain. |

---

##### `allowedPattern`<sup>Optional</sup> <a name="allowedPattern" id="@cdklabs/cdk-ssm-documents.StringInputProps.property.allowedPattern"></a>

```typescript
public readonly allowedPattern: string;
```

- *Type:* string
- *Default:* undefined

(Optional) Pattern that this input value must match.

---

##### `allowedValues`<sup>Optional</sup> <a name="allowedValues" id="@cdklabs/cdk-ssm-documents.StringInputProps.property.allowedValues"></a>

```typescript
public readonly allowedValues: string[];
```

- *Type:* string[]
- *Default:* undefined

(Optional) List of allowed values that this input may be.

---

##### `defaultValue`<sup>Optional</sup> <a name="defaultValue" id="@cdklabs/cdk-ssm-documents.StringInputProps.property.defaultValue"></a>

```typescript
public readonly defaultValue: string;
```

- *Type:* string
- *Default:* undefined

(Optional) Default value to use for this input if not specified when invoking the document.

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.StringInputProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* name

(Optional) The description of the input.

---

##### `maxChars`<sup>Optional</sup> <a name="maxChars" id="@cdklabs/cdk-ssm-documents.StringInputProps.property.maxChars"></a>

```typescript
public readonly maxChars: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Maximum number of chars that this input value (string) must contain.

---

##### `minChars`<sup>Optional</sup> <a name="minChars" id="@cdklabs/cdk-ssm-documents.StringInputProps.property.minChars"></a>

```typescript
public readonly minChars: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Minimum number of chars that this input value (string) must contain.

---

### StringListInputProps <a name="StringListInputProps" id="@cdklabs/cdk-ssm-documents.StringListInputProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.StringListInputProps.Initializer"></a>

```typescript
import { StringListInputProps } from '@cdklabs/cdk-ssm-documents'

const stringListInputProps: StringListInputProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListInputProps.property.allowedValues">allowedValues</a></code> | <code>any[]</code> | (Optional) List of allowed values that this input may be. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListInputProps.property.defaultValue">defaultValue</a></code> | <code>any</code> | (Optional) Default value to use for this input if not specified when invoking the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListInputProps.property.description">description</a></code> | <code>string</code> | (Optional) The description of the input. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListInputProps.property.maxItems">maxItems</a></code> | <code>number</code> | (Optional) Maximum number of items that this input value (list) must contain. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListInputProps.property.minItems">minItems</a></code> | <code>number</code> | (Optional) Minimum number of items that this input value (list) must contain. |

---

##### `allowedValues`<sup>Optional</sup> <a name="allowedValues" id="@cdklabs/cdk-ssm-documents.StringListInputProps.property.allowedValues"></a>

```typescript
public readonly allowedValues: any[];
```

- *Type:* any[]
- *Default:* undefined

(Optional) List of allowed values that this input may be.

---

##### `defaultValue`<sup>Optional</sup> <a name="defaultValue" id="@cdklabs/cdk-ssm-documents.StringListInputProps.property.defaultValue"></a>

```typescript
public readonly defaultValue: any;
```

- *Type:* any
- *Default:* undefined

(Optional) Default value to use for this input if not specified when invoking the document.

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.StringListInputProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* name

(Optional) The description of the input.

---

##### `maxItems`<sup>Optional</sup> <a name="maxItems" id="@cdklabs/cdk-ssm-documents.StringListInputProps.property.maxItems"></a>

```typescript
public readonly maxItems: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Maximum number of items that this input value (list) must contain.

---

##### `minItems`<sup>Optional</sup> <a name="minItems" id="@cdklabs/cdk-ssm-documents.StringListInputProps.property.minItems"></a>

```typescript
public readonly minItems: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Minimum number of items that this input value (list) must contain.

---

### StringMapInputProps <a name="StringMapInputProps" id="@cdklabs/cdk-ssm-documents.StringMapInputProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.StringMapInputProps.Initializer"></a>

```typescript
import { StringMapInputProps } from '@cdklabs/cdk-ssm-documents'

const stringMapInputProps: StringMapInputProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapInputProps.property.allowedValues">allowedValues</a></code> | <code>any[]</code> | (Optional) List of allowed values that this input may be. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapInputProps.property.defaultValue">defaultValue</a></code> | <code>any</code> | (Optional) Default value to use for this input if not specified when invoking the document. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapInputProps.property.description">description</a></code> | <code>string</code> | (Optional) The description of the input. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapInputProps.property.maxItems">maxItems</a></code> | <code>number</code> | (Optional) Maximum number of items that this input value (list) must contain. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapInputProps.property.minItems">minItems</a></code> | <code>number</code> | (Optional) Minimum number of items that this input value (list) must contain. |

---

##### `allowedValues`<sup>Optional</sup> <a name="allowedValues" id="@cdklabs/cdk-ssm-documents.StringMapInputProps.property.allowedValues"></a>

```typescript
public readonly allowedValues: any[];
```

- *Type:* any[]
- *Default:* undefined

(Optional) List of allowed values that this input may be.

---

##### `defaultValue`<sup>Optional</sup> <a name="defaultValue" id="@cdklabs/cdk-ssm-documents.StringMapInputProps.property.defaultValue"></a>

```typescript
public readonly defaultValue: any;
```

- *Type:* any
- *Default:* undefined

(Optional) Default value to use for this input if not specified when invoking the document.

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.StringMapInputProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* name

(Optional) The description of the input.

---

##### `maxItems`<sup>Optional</sup> <a name="maxItems" id="@cdklabs/cdk-ssm-documents.StringMapInputProps.property.maxItems"></a>

```typescript
public readonly maxItems: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Maximum number of items that this input value (list) must contain.

---

##### `minItems`<sup>Optional</sup> <a name="minItems" id="@cdklabs/cdk-ssm-documents.StringMapInputProps.property.minItems"></a>

```typescript
public readonly minItems: number;
```

- *Type:* number
- *Default:* undefined

(Optional) Minimum number of items that this input value (list) must contain.

---

### UpdateAgentStepProps <a name="UpdateAgentStepProps" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps"></a>

Properties UpdateAgent step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.Initializer"></a>

```typescript
import { UpdateAgentStepProps } from '@cdklabs/cdk-ssm-documents'

const updateAgentStepProps: UpdateAgentStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.agentName">agentName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | EC2Config. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.allowDowngrade">allowDowngrade</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | Allow the EC2Config service to be downgraded to an earlier version. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.source">source</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | Must use one and only one of source or sourceRegion. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.sourceRegion">sourceRegion</a></code> | <code>string</code> | Must use one and only one of source or sourceRegion. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.targetVersion">targetVersion</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | A specific version of the EC2Config service to install. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `agentName`<sup>Optional</sup> <a name="agentName" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.agentName"></a>

```typescript
public readonly agentName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>
- *Default:* EC2Config

EC2Config.

This is the name of the agent that runs the EC2Config service.

---

##### `allowDowngrade`<sup>Optional</sup> <a name="allowDowngrade" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.allowDowngrade"></a>

```typescript
public readonly allowDowngrade: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

Allow the EC2Config service to be downgraded to an earlier version.

If set to false, the service can be upgraded to newer versions only (default).
If set to true, specify the earlier version.

---

##### `source`<sup>Optional</sup> <a name="source" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.source"></a>

```typescript
public readonly source: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

Must use one and only one of source or sourceRegion.

The location where Systems Manager copies the version of EC2Config to install. You can't change this location.

---

##### `sourceRegion`<sup>Optional</sup> <a name="sourceRegion" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.sourceRegion"></a>

```typescript
public readonly sourceRegion: string;
```

- *Type:* string

Must use one and only one of source or sourceRegion.

If source is provided it will be used as is.
If sourceRegion is provided it will populate source with https://s3.{sourceRegion}.amazonaws.com/aws-ssm-{sourceRegion}/manifest.json

---

##### `targetVersion`<sup>Optional</sup> <a name="targetVersion" id="@cdklabs/cdk-ssm-documents.UpdateAgentStepProps.property.targetVersion"></a>

```typescript
public readonly targetVersion: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

A specific version of the EC2Config service to install.

If not specified, the service will be updated to the latest version.

---

### UpdateSSMAgentStepProps <a name="UpdateSSMAgentStepProps" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps"></a>

Properties UpdateAgent step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.Initializer"></a>

```typescript
import { UpdateSSMAgentStepProps } from '@cdklabs/cdk-ssm-documents'

const updateSSMAgentStepProps: UpdateSSMAgentStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.exitOnFailure">exitOnFailure</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after failed execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.exitOnSuccess">exitOnSuccess</a></code> | <code>boolean</code> | (Optional) Whether to exit the document execution after successful execution of this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.finallyStep">finallyStep</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.markSuccessAndExitOnFailure">markSuccessAndExitOnFailure</a></code> | <code>boolean</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Step">Step</a></code> | (Optional) Step to jump to in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.precondition">precondition</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a></code> | (Optional) A precondition to test before execution occurrs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.allowDowngrade">allowDowngrade</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | Allow the SSM Agent to be downgraded to an earlier version. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.agentName">agentName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | amazon-ssm-agent. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.source">source</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | Must use one and only one of source or sourceRegion. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.sourceRegion">sourceRegion</a></code> | <code>string</code> | Must use one and only one of source or sourceRegion. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.targetVersion">targetVersion</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | A specific version of SSM Agent to install. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `exitOnFailure`<sup>Optional</sup> <a name="exitOnFailure" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.exitOnFailure"></a>

```typescript
public readonly exitOnFailure: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after failed execution of this step.

Finally step will be run.

---

##### `exitOnSuccess`<sup>Optional</sup> <a name="exitOnSuccess" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.exitOnSuccess"></a>

```typescript
public readonly exitOnSuccess: boolean;
```

- *Type:* boolean
- *Default:* false

(Optional) Whether to exit the document execution after successful execution of this step.

Finally step will be run.

---

##### `finallyStep`<sup>Optional</sup> <a name="finallyStep" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.finallyStep"></a>

```typescript
public readonly finallyStep: boolean;
```

- *Type:* boolean

---

##### `markSuccessAndExitOnFailure`<sup>Optional</sup> <a name="markSuccessAndExitOnFailure" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.markSuccessAndExitOnFailure"></a>

```typescript
public readonly markSuccessAndExitOnFailure: boolean;
```

- *Type:* boolean

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: Step;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Step">Step</a>
- *Default:* undefined

(Optional) Step to jump to in the event that this step is cancelled.

---

##### `precondition`<sup>Optional</sup> <a name="precondition" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.precondition"></a>

```typescript
public readonly precondition: Precondition;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Precondition">Precondition</a>
- *Default:* undefined

(Optional) A precondition to test before execution occurrs.

When the precondition isn't met, the command step isn't executed.

---

##### `allowDowngrade`<sup>Required</sup> <a name="allowDowngrade" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.allowDowngrade"></a>

```typescript
public readonly allowDowngrade: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

Allow the SSM Agent to be downgraded to an earlier version.

If set to false, the agent can be upgraded to newer versions only (default).
If set to true, specify the earlier version.

---

##### `agentName`<sup>Optional</sup> <a name="agentName" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.agentName"></a>

```typescript
public readonly agentName: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

amazon-ssm-agent.

This is the name of the Systems Manager agent that processes requests and runs commands on the instance.

---

##### `source`<sup>Optional</sup> <a name="source" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.source"></a>

```typescript
public readonly source: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

Must use one and only one of source or sourceRegion.

The location where Systems Manager copies the SSM Agent version to install. You can't change this location.

---

##### `sourceRegion`<sup>Optional</sup> <a name="sourceRegion" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.sourceRegion"></a>

```typescript
public readonly sourceRegion: string;
```

- *Type:* string

Must use one and only one of source or sourceRegion.

If source is provided it will be used as is.
If sourceRegion is provided it will populate source with https://s3.{sourceRegion}.amazonaws.com/aws-ssm-{sourceRegion}/manifest.json

---

##### `targetVersion`<sup>Optional</sup> <a name="targetVersion" id="@cdklabs/cdk-ssm-documents.UpdateSSMAgentStepProps.property.targetVersion"></a>

```typescript
public readonly targetVersion: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

A specific version of SSM Agent to install.

If not specified, the agent will be updated to the latest version.

---

### UpdateVariableProps <a name="UpdateVariableProps" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps"></a>

Properties for update variable step.

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.Initializer"></a>

```typescript
import { UpdateVariableProps } from '@cdklabs/cdk-ssm-documents'

const updateVariableProps: UpdateVariableProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.variableName">variableName</a></code> | <code>string</code> | (Required) The name of the variable to be updated. |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.variableValue">variableValue</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a></code> | (Required) The value of the variable to be updated. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `variableName`<sup>Required</sup> <a name="variableName" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.variableName"></a>

```typescript
public readonly variableName: string;
```

- *Type:* string

(Required) The name of the variable to be updated.

Must use format `variable:<variable name>`.

---

##### `variableValue`<sup>Required</sup> <a name="variableValue" id="@cdklabs/cdk-ssm-documents.UpdateVariableProps.property.variableValue"></a>

```typescript
public readonly variableValue: IGenericVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

(Required) The value of the variable to be updated.

---

### WaitForResourceSimulationProps <a name="WaitForResourceSimulationProps" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulationProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulationProps.Initializer"></a>

```typescript
import { WaitForResourceSimulationProps } from '@cdklabs/cdk-ssm-documents'

const waitForResourceSimulationProps: WaitForResourceSimulationProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceSimulationProps.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | (Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call). |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceSimulationProps.property.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | (Optional) Hook to inject alternate ISleeper (to mock the sleep between failed invocations). |

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulationProps.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>
- *Default:* will perform a real invocation of the JavaScript AWS SDK using ReflectiveAwsInvoker class.

(Optional) Use this as a hook to inject an alternate IAwsInvoker (for mocking the AWS API call).

---

##### `sleepHook`<sup>Required</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulationProps.property.sleepHook"></a>

```typescript
public readonly sleepHook: ISleepHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>
- *Default:* really perform sleep using SleeperImpl class.

(Optional) Hook to inject alternate ISleeper (to mock the sleep between failed invocations).

---

### WaitForResourceStepProps <a name="WaitForResourceStepProps" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps"></a>

#### Initializer <a name="Initializer" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.Initializer"></a>

```typescript
import { WaitForResourceStepProps } from '@cdklabs/cdk-ssm-documents'

const waitForResourceStepProps: WaitForResourceStepProps = { ... }
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.description">description</a></code> | <code>string</code> | (Optional) description of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.inputObserver">inputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the input to steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.name">name</a></code> | <code>string</code> | (Optional) Name of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.outputObserver">outputObserver</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a></code> | (Optional) Allows for observing the output of steps as they run. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.explicitNextStep">explicitNextStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a></code> | (Optional) explicit step to go to after this step completes. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.isEnd">isEnd</a></code> | <code>boolean</code> | Whether to stop document execution after this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.maxAttempts">maxAttempts</a></code> | <code>number</code> | (Optional) max attempts to run this step if there are failures. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.onCancel">onCancel</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a></code> | (Optional) Fallback action to take in the event that this step is cancelled. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.onFailure">onFailure</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a></code> | (Optional) Fallback action to take in the event that this step fails. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.timeoutSeconds">timeoutSeconds</a></code> | <code>number</code> | (Optional) timeout seconds to run this step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.userOutputs">userOutputs</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]</code> | (Optional) Allows to define step outputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.apiParams">apiParams</a></code> | <code>{[ key: string ]: any}</code> | (Required) API Params to submit with the request to the api. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.pascalCaseApi">pascalCaseApi</a></code> | <code>string</code> | (Required) The AWS api represented in PascalCase. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.service">service</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | (Required) The AWS service to be invoked. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.javaScriptApi">javaScriptApi</a></code> | <code>string</code> | (Optional) The api as represented the AWS JavaScript API. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.desiredValues">desiredValues</a></code> | <code>string[]</code> | (Required) Value extracted from AWS response desired to be one of these desired values. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.selector">selector</a></code> | <code>string</code> | (Required) Json path selector to extract value from AWS response. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.sleepIntervalMillis">sleepIntervalMillis</a></code> | <code>number</code> | (Optional) How much time to sleep after not receiving desired response from AWS SDK. |

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string
- *Default:* undefined

(Optional) description of the current step.

---

##### `inputObserver`<sup>Optional</sup> <a name="inputObserver" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.inputObserver"></a>

```typescript
public readonly inputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the input to steps as they run.

---

##### `name`<sup>Optional</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

(Optional) Name of the current step.

The name will be prepended onto all of the outputs emitted from this step.
This name will also be used to reference this step in logs.
Defaults to the id of the CDK node.

---

##### `outputObserver`<sup>Optional</sup> <a name="outputObserver" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.outputObserver"></a>

```typescript
public readonly outputObserver: IObserver;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>
- *Default:* NoopObserver

(Optional) Allows for observing the output of steps as they run.

---

##### `explicitNextStep`<sup>Optional</sup> <a name="explicitNextStep" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.explicitNextStep"></a>

```typescript
public readonly explicitNextStep: StepRef;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StepRef">StepRef</a>
- *Default:* will implicitly choose the next step in the sequence that the steps are added to the document.

(Optional) explicit step to go to after this step completes.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp

---

##### `isEnd`<sup>Optional</sup> <a name="isEnd" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.isEnd"></a>

```typescript
public readonly isEnd: boolean;
```

- *Type:* boolean
- *Default:* false

Whether to stop document execution after this step.

---

##### `maxAttempts`<sup>Optional</sup> <a name="maxAttempts" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.maxAttempts"></a>

```typescript
public readonly maxAttempts: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_MAX_ATTEMPTS

(Optional) max attempts to run this step if there are failures.

---

##### `onCancel`<sup>Optional</sup> <a name="onCancel" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.onCancel"></a>

```typescript
public readonly onCancel: OnCancel;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnCancel">OnCancel</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step is cancelled.

---

##### `onFailure`<sup>Optional</sup> <a name="onFailure" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.onFailure"></a>

```typescript
public readonly onFailure: OnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.OnFailure">OnFailure</a>
- *Default:* undefined

(Optional) Fallback action to take in the event that this step fails.

---

##### `timeoutSeconds`<sup>Optional</sup> <a name="timeoutSeconds" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.timeoutSeconds"></a>

```typescript
public readonly timeoutSeconds: number;
```

- *Type:* number
- *Default:* Step.DEFAULT_TIMEOUT

(Optional) timeout seconds to run this step.

In a simulation run, this will only be encorced after-the-fact but execution will not be stopped mid-step.

---

##### `userOutputs`<sup>Optional</sup> <a name="userOutputs" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.userOutputs"></a>

```typescript
public readonly userOutputs: Output[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Output">Output</a>[]
- *Default:* undefined

(Optional) Allows to define step outputs.

---

##### `apiParams`<sup>Required</sup> <a name="apiParams" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.apiParams"></a>

```typescript
public readonly apiParams: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

(Required) API Params to submit with the request to the api.

You may include variables which will be substitued for inputs during step execution as such {{ INPUT }}

---

*Example*

```typescript
{ 'VolumeIds': ['{{ EbsDescribeInstance.VolumeId }}'] }
```


##### `pascalCaseApi`<sup>Required</sup> <a name="pascalCaseApi" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.pascalCaseApi"></a>

```typescript
public readonly pascalCaseApi: string;
```

- *Type:* string

(Required) The AWS api represented in PascalCase.

This value is used as-is in the SSM yaml/json.
This is used as the default for javaScriptApi (see that param).

---

*Example*

```typescript
DescribeInstances
```


##### `service`<sup>Required</sup> <a name="service" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.service"></a>

```typescript
public readonly service: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

(Required) The AWS service to be invoked.

---

*Example*

```typescript
AwsService.S3
```


##### `javaScriptApi`<sup>Optional</sup> <a name="javaScriptApi" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.javaScriptApi"></a>

```typescript
public readonly javaScriptApi: string;
```

- *Type:* string
- *Default:* will use the camelCaseApi param and substitute the first character for lowercase by default.

(Optional) The api as represented the AWS JavaScript API.

This is usually lowerCamelCase.
This is used in the simulation run to execute the AWS API against the JavaScript SDK.

---

*Example*

```typescript
describeInstances
```


##### `desiredValues`<sup>Required</sup> <a name="desiredValues" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.desiredValues"></a>

```typescript
public readonly desiredValues: string[];
```

- *Type:* string[]

(Required) Value extracted from AWS response desired to be one of these desired values.

---

##### `selector`<sup>Required</sup> <a name="selector" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.selector"></a>

```typescript
public readonly selector: string;
```

- *Type:* string

(Required) Json path selector to extract value from AWS response.

---

##### `sleepIntervalMillis`<sup>Optional</sup> <a name="sleepIntervalMillis" id="@cdklabs/cdk-ssm-documents.WaitForResourceStepProps.property.sleepIntervalMillis"></a>

```typescript
public readonly sleepIntervalMillis: number;
```

- *Type:* number
- *Default:* 2000 millis

(Optional) How much time to sleep after not receiving desired response from AWS SDK.

This is only used for the run simulation.
This is not used by SSM and is therefore not declared in the SSM yaml/json.

---

## Classes <a name="Classes" id="Classes"></a>

### Abort <a name="Abort" id="@cdklabs/cdk-ssm-documents.Abort"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.Abort.Initializer"></a>

```typescript
import { Abort } from '@cdklabs/cdk-ssm-documents'

new Abort()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Abort.stepToInvoke">stepToInvoke</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Abort.toSsmValue">toSsmValue</a></code> | *No description.* |

---

##### `stepToInvoke` <a name="stepToInvoke" id="@cdklabs/cdk-ssm-documents.Abort.stepToInvoke"></a>

```typescript
public stepToInvoke(_currentStep: AutomationStep): string
```

###### `_currentStep`<sup>Required</sup> <a name="_currentStep" id="@cdklabs/cdk-ssm-documents.Abort.stepToInvoke.parameter._currentStep"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `toSsmValue` <a name="toSsmValue" id="@cdklabs/cdk-ssm-documents.Abort.toSsmValue"></a>

```typescript
public toSsmValue(): string
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Abort.abort">abort</a></code> | To abort execution if a cancellation occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Abort.continue">continue</a></code> | To continue execution of the subsequent step if a failure occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Abort.invokeStep">invokeStep</a></code> | Invoke a specific step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Abort.invokeStepByName">invokeStepByName</a></code> | Invoke a specific step by the step name for the OnCancel action. |

---

##### `abort` <a name="abort" id="@cdklabs/cdk-ssm-documents.Abort.abort"></a>

```typescript
import { Abort } from '@cdklabs/cdk-ssm-documents'

Abort.abort()
```

To abort execution if a cancellation occurs during execution of the current step.

(This is the default behavior.)

##### `continue` <a name="continue" id="@cdklabs/cdk-ssm-documents.Abort.continue"></a>

```typescript
import { Abort } from '@cdklabs/cdk-ssm-documents'

Abort.continue()
```

To continue execution of the subsequent step if a failure occurs during execution of the current step.

##### `invokeStep` <a name="invokeStep" id="@cdklabs/cdk-ssm-documents.Abort.invokeStep"></a>

```typescript
import { Abort } from '@cdklabs/cdk-ssm-documents'

Abort.invokeStep(step: AutomationStep)
```

Invoke a specific step.

Provide the step object to execute for the onCancel action.
If you don't have a handle to the step object, use the invokeStepByName function.
Not all action types may be invoked during cancellation. See documentation referenced on this class.

###### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.Abort.invokeStep.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `invokeStepByName` <a name="invokeStepByName" id="@cdklabs/cdk-ssm-documents.Abort.invokeStepByName"></a>

```typescript
import { Abort } from '@cdklabs/cdk-ssm-documents'

Abort.invokeStepByName(stepName: string)
```

Invoke a specific step by the step name for the OnCancel action.

Not all action types may be invoked during cancellation. See documentation referenced on this class.

###### `stepName`<sup>Required</sup> <a name="stepName" id="@cdklabs/cdk-ssm-documents.Abort.invokeStepByName.parameter.stepName"></a>

- *Type:* string

---



### ActionVariable <a name="ActionVariable" id="@cdklabs/cdk-ssm-documents.ActionVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ActionVariable.Initializer"></a>

```typescript
import { ActionVariable } from '@cdklabs/cdk-ssm-documents'

new ActionVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ActionVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.ActionVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ActionVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ActionVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ActionVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ActionVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ActionVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ActionVariable.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.ActionVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.ActionVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.ActionVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.ActionVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.ActionVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.ActionVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.ActionVariable.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.ActionVariable.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ActionVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.ActionVariable.of"></a>

```typescript
import { ActionVariable } from '@cdklabs/cdk-ssm-documents'

ActionVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.ActionVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ActionVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ActionVariable.property.validValues">validValues</a></code> | <code>string[]</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.ActionVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---

##### `validValues`<sup>Required</sup> <a name="validValues" id="@cdklabs/cdk-ssm-documents.ActionVariable.property.validValues"></a>

```typescript
public readonly validValues: string[];
```

- *Type:* string[]

---


### ApiExecuteAutomationHook <a name="ApiExecuteAutomationHook" id="@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IExecuteAutomationHook">IExecuteAutomationHook</a>

ExecuteAutomation implementation using AWS API.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook.Initializer"></a>

```typescript
import { ApiExecuteAutomationHook } from '@cdklabs/cdk-ssm-documents'

new ApiExecuteAutomationHook(awsInvoker: IAwsInvoker, sleepHook: ISleepHook)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook.Initializer.parameter.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook.Initializer.parameter.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | *No description.* |

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook.Initializer.parameter.awsInvoker"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

---

##### `sleepHook`<sup>Required</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook.Initializer.parameter.sleepHook"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook.execute">execute</a></code> | Simulate the aws:executeAutomation. |

---

##### `execute` <a name="execute" id="@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook.execute"></a>

```typescript
public execute(props: ExecuteAutomationProps): ExecuteAutomationOutputs
```

Simulate the aws:executeAutomation.

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook.execute.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps">ExecuteAutomationProps</a>

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook.property.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ApiExecuteAutomationProps">ApiExecuteAutomationProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook.property.props"></a>

```typescript
public readonly props: ApiExecuteAutomationProps;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ApiExecuteAutomationProps">ApiExecuteAutomationProps</a>

---


### ApiRunCommandHook <a name="ApiRunCommandHook" id="@cdklabs/cdk-ssm-documents.ApiRunCommandHook"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IRunCommandHook">IRunCommandHook</a>

RunCommand implementation using AWS API.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ApiRunCommandHook.Initializer"></a>

```typescript
import { ApiRunCommandHook } from '@cdklabs/cdk-ssm-documents'

new ApiRunCommandHook(awsInvoker: IAwsInvoker, sleepHook: ISleepHook)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiRunCommandHook.Initializer.parameter.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiRunCommandHook.Initializer.parameter.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | *No description.* |

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.ApiRunCommandHook.Initializer.parameter.awsInvoker"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

---

##### `sleepHook`<sup>Required</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.ApiRunCommandHook.Initializer.parameter.sleepHook"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiRunCommandHook.execute">execute</a></code> | Simulate the aws:runCommand. |

---

##### `execute` <a name="execute" id="@cdklabs/cdk-ssm-documents.ApiRunCommandHook.execute"></a>

```typescript
public execute(props: RunCommandProps): RunCommandOutputs
```

Simulate the aws:runCommand.

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ApiRunCommandHook.execute.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunCommandProps">RunCommandProps</a>

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiRunCommandHook.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiRunCommandHook.property.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ApiRunCommandProps">ApiRunCommandProps</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApiRunCommandHook.property.sleepHook">sleepHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a></code> | *No description.* |

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.ApiRunCommandHook.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ApiRunCommandHook.property.props"></a>

```typescript
public readonly props: ApiRunCommandProps;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ApiRunCommandProps">ApiRunCommandProps</a>

---

##### `sleepHook`<sup>Required</sup> <a name="sleepHook" id="@cdklabs/cdk-ssm-documents.ApiRunCommandHook.property.sleepHook"></a>

```typescript
public readonly sleepHook: ISleepHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>

---


### ApproveImpl <a name="ApproveImpl" id="@cdklabs/cdk-ssm-documents.ApproveImpl"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a>

This IApproveHook implementation provides a real ask and waits for user input of Enter.

This implementation does not work well on all exported JSII languages.
Users can provide their own impl using the IAskHook interface.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ApproveImpl.Initializer"></a>

```typescript
import { ApproveImpl } from '@cdklabs/cdk-ssm-documents'

new ApproveImpl()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveImpl.ask">ask</a></code> | Ask for approval. |

---

##### `ask` <a name="ask" id="@cdklabs/cdk-ssm-documents.ApproveImpl.ask"></a>

```typescript
public ask(approver: string): boolean
```

Ask for approval.

###### `approver`<sup>Required</sup> <a name="approver" id="@cdklabs/cdk-ssm-documents.ApproveImpl.ask.parameter.approver"></a>

- *Type:* string

---




### ApproveSimulation <a name="ApproveSimulation" id="@cdklabs/cdk-ssm-documents.ApproveSimulation"></a>

AutomationStep implementation for aws:approve https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-approve.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ApproveSimulation.Initializer"></a>

```typescript
import { ApproveSimulation } from '@cdklabs/cdk-ssm-documents'

new ApproveSimulation(step: ApproveStep, props: ApproveSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ApproveStep">ApproveStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ApproveSimulationProps">ApproveSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.ApproveSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ApproveStep">ApproveStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ApproveSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ApproveSimulationProps">ApproveSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveSimulation.executeStep">executeStep</a></code> | May perform a real approval ask based on the params used during instance creation. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.ApproveSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

May perform a real approval ask based on the params used during instance creation.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.ApproveSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ApproveSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.ApproveSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ApproveSimulation.property.approveHook">approveHook</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.ApproveSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ApproveSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `approveHook`<sup>Required</sup> <a name="approveHook" id="@cdklabs/cdk-ssm-documents.ApproveSimulation.property.approveHook"></a>

```typescript
public readonly approveHook: IApproveHook;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a>

---


### ArnDoc <a name="ArnDoc" id="@cdklabs/cdk-ssm-documents.ArnDoc"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ArnDoc.Initializer"></a>

```typescript
import { ArnDoc } from '@cdklabs/cdk-ssm-documents'

new ArnDoc(arn: IStringVariable)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ArnDoc.Initializer.parameter.arn">arn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `arn`<sup>Required</sup> <a name="arn" id="@cdklabs/cdk-ssm-documents.ArnDoc.Initializer.parameter.arn"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ArnDoc.formatRequest">formatRequest</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ArnDoc.requiredInputs">requiredInputs</a></code> | *No description.* |

---

##### `formatRequest` <a name="formatRequest" id="@cdklabs/cdk-ssm-documents.ArnDoc.formatRequest"></a>

```typescript
public formatRequest(): {[ key: string ]: any}
```

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.ArnDoc.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ArnDoc.fromArn">fromArn</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ArnDoc.fromName">fromName</a></code> | *No description.* |

---

##### `fromArn` <a name="fromArn" id="@cdklabs/cdk-ssm-documents.ArnDoc.fromArn"></a>

```typescript
import { ArnDoc } from '@cdklabs/cdk-ssm-documents'

ArnDoc.fromArn(arn: IStringVariable)
```

###### `arn`<sup>Required</sup> <a name="arn" id="@cdklabs/cdk-ssm-documents.ArnDoc.fromArn.parameter.arn"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `fromName` <a name="fromName" id="@cdklabs/cdk-ssm-documents.ArnDoc.fromName"></a>

```typescript
import { ArnDoc } from '@cdklabs/cdk-ssm-documents'

ArnDoc.fromName(name: IStringVariable, version?: IStringVariable)
```

###### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.ArnDoc.fromName.parameter.name"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

###### `version`<sup>Optional</sup> <a name="version" id="@cdklabs/cdk-ssm-documents.ArnDoc.fromName.parameter.version"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ArnDoc.property.arn">arn</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `arn`<sup>Required</sup> <a name="arn" id="@cdklabs/cdk-ssm-documents.ArnDoc.property.arn"></a>

```typescript
public readonly arn: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### AssertAwsResourceSimulation <a name="AssertAwsResourceSimulation" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation"></a>

AutomationStep implementation of aws:assertAwsResourceProperty.

https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-assertAwsResourceProperty.html

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.Initializer"></a>

```typescript
import { AssertAwsResourceSimulation } from '@cdklabs/cdk-ssm-documents'

new AssertAwsResourceSimulation(step: AssertAwsResourceStep, props: AwsInvocationSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep">AssertAwsResourceStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep">AssertAwsResourceStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.executeStep">executeStep</a></code> | If the value found matches one of the desiredValues, then this function returns. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

If the value found matches one of the desiredValues, then this function returns.

Otherwise it throws.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.AssertAwsResourceSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### AuthMethod <a name="AuthMethod" id="@cdklabs/cdk-ssm-documents.AuthMethod"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AuthMethod.Initializer"></a>

```typescript
import { AuthMethod } from '@cdklabs/cdk-ssm-documents'

new AuthMethod()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AuthMethod.requiredInputs">requiredInputs</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AuthMethod.toEntry">toEntry</a></code> | *No description.* |

---

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.AuthMethod.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

##### `toEntry` <a name="toEntry" id="@cdklabs/cdk-ssm-documents.AuthMethod.toEntry"></a>

```typescript
public toEntry(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AuthMethod.ofBasic">ofBasic</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AuthMethod.ofDigest">ofDigest</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AuthMethod.ofNone">ofNone</a></code> | *No description.* |

---

##### `ofBasic` <a name="ofBasic" id="@cdklabs/cdk-ssm-documents.AuthMethod.ofBasic"></a>

```typescript
import { AuthMethod } from '@cdklabs/cdk-ssm-documents'

AuthMethod.ofBasic(userName: SecureVariable, password: SecureVariable)
```

###### `userName`<sup>Required</sup> <a name="userName" id="@cdklabs/cdk-ssm-documents.AuthMethod.ofBasic.parameter.userName"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

###### `password`<sup>Required</sup> <a name="password" id="@cdklabs/cdk-ssm-documents.AuthMethod.ofBasic.parameter.password"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

##### `ofDigest` <a name="ofDigest" id="@cdklabs/cdk-ssm-documents.AuthMethod.ofDigest"></a>

```typescript
import { AuthMethod } from '@cdklabs/cdk-ssm-documents'

AuthMethod.ofDigest(userName: SecureVariable, password: SecureVariable)
```

###### `userName`<sup>Required</sup> <a name="userName" id="@cdklabs/cdk-ssm-documents.AuthMethod.ofDigest.parameter.userName"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

###### `password`<sup>Required</sup> <a name="password" id="@cdklabs/cdk-ssm-documents.AuthMethod.ofDigest.parameter.password"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

##### `ofNone` <a name="ofNone" id="@cdklabs/cdk-ssm-documents.AuthMethod.ofNone"></a>

```typescript
import { AuthMethod } from '@cdklabs/cdk-ssm-documents'

AuthMethod.ofNone()
```



### AutomationDocumentBuilder <a name="AutomationDocumentBuilder" id="@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder.Initializer"></a>

```typescript
import { AutomationDocumentBuilder } from '@cdklabs/cdk-ssm-documents'

new AutomationDocumentBuilder()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder.addStep">addStep</a></code> | *No description.* |

---

##### `addStep` <a name="addStep" id="@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder.addStep"></a>

```typescript
public addStep(step: AutomationStep): void
```

###### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder.addStep.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder.property.steps">steps</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]</code> | *No description.* |

---

##### `steps`<sup>Required</sup> <a name="steps" id="@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder.property.steps"></a>

```typescript
public readonly steps: AutomationStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---


### AutomationSimulation <a name="AutomationSimulation" id="@cdklabs/cdk-ssm-documents.AutomationSimulation"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AutomationSimulation.Initializer"></a>

```typescript
import { AutomationSimulation } from '@cdklabs/cdk-ssm-documents'

new AutomationSimulation(automationDocument: AutomationDocument, props: SimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulation.Initializer.parameter.automationDocument">automationDocument</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationDocument">AutomationDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps">SimulationProps</a></code> | *No description.* |

---

##### `automationDocument`<sup>Required</sup> <a name="automationDocument" id="@cdklabs/cdk-ssm-documents.AutomationSimulation.Initializer.parameter.automationDocument"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocument">AutomationDocument</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.AutomationSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SimulationProps">SimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulation.start">start</a></code> | Starts the execution of the steps by invoking the first step. |

---

##### `start` <a name="start" id="@cdklabs/cdk-ssm-documents.AutomationSimulation.start"></a>

```typescript
public start(inputs: {[ key: string ]: any}): SimulationResult
```

Starts the execution of the steps by invoking the first step.

The subsequent steps will be invoked by the steps themselves.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.AutomationSimulation.start.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

all of the inputs necessary for the document to execute.

---




### AutomationSimulationBase <a name="AutomationSimulationBase" id="@cdklabs/cdk-ssm-documents.AutomationSimulationBase"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AutomationSimulationBase.Initializer"></a>

```typescript
import { AutomationSimulationBase } from '@cdklabs/cdk-ssm-documents'

new AutomationSimulationBase(step: AutomationStep)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationBase.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.AutomationSimulationBase.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationBase.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationBase.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.AutomationSimulationBase.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.AutomationSimulationBase.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.AutomationSimulationBase.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.AutomationSimulationBase.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationBase.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.AutomationSimulationBase.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---


### AutomationStepSimulation <a name="AutomationStepSimulation" id="@cdklabs/cdk-ssm-documents.AutomationStepSimulation"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AutomationStepSimulation.Initializer"></a>

```typescript
import { AutomationStepSimulation } from '@cdklabs/cdk-ssm-documents'

new AutomationStepSimulation(step: AutomationStep, props: AutomationSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps">AutomationSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.AutomationStepSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.AutomationStepSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps">AutomationSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepSimulation.invoke">invoke</a></code> | Invokes the current step on the input and will return a SimulationResult. |

---

##### `invoke` <a name="invoke" id="@cdklabs/cdk-ssm-documents.AutomationStepSimulation.invoke"></a>

```typescript
public invoke(inputs: {[ key: string ]: any}): SimulationResult
```

Invokes the current step on the input and will return a SimulationResult.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.AutomationStepSimulation.invoke.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

must contain all of the inputs declared by the current step.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepSimulation.property.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps">RequiredAutomationSimulationProps</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStepSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.AutomationStepSimulation.property.props"></a>

```typescript
public readonly props: RequiredAutomationSimulationProps;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RequiredAutomationSimulationProps">RequiredAutomationSimulationProps</a>

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.AutomationStepSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---


### AwsApiSimulation <a name="AwsApiSimulation" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation"></a>

AutomationStep implementation of aws:executeAwsApi.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation.Initializer"></a>

```typescript
import { AwsApiSimulation } from '@cdklabs/cdk-ssm-documents'

new AwsApiSimulation(step: AwsApiStep, props: AwsInvocationSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep">AwsApiStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsApiStep">AwsApiStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiSimulation.executeStep">executeStep</a></code> | Invokes the specified service (param) with the specified api (param) with the specified apiParams (param). |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

Invokes the specified service (param) with the specified api (param) with the specified apiParams (param).

This call will be invoked synchronously.
The input variables in apiParams (param) specified using "{{ INPUT }}" syntax will be replaced with the inputs.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiSimulation.property.awsApiStep">awsApiStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiStep">AwsApiStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsApiSimulation.property.awsInvoker">awsInvoker</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `awsApiStep`<sup>Required</sup> <a name="awsApiStep" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation.property.awsApiStep"></a>

```typescript
public readonly awsApiStep: AwsApiStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsApiStep">AwsApiStep</a>

---

##### `awsInvoker`<sup>Required</sup> <a name="awsInvoker" id="@cdklabs/cdk-ssm-documents.AwsApiSimulation.property.awsInvoker"></a>

```typescript
public readonly awsInvoker: IAwsInvoker;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

---


### AwsService <a name="AwsService" id="@cdklabs/cdk-ssm-documents.AwsService"></a>

Represents an AWS service.

The namespace which is meant to be used for the service declaration in SSM may be difficult to guess.
The name provided for simulation may at times be different.
This class provides many ready-to-use implementations of AWS services.
If a service is not on the list, you can fall back to constructing this object on your own.
In other words, you can reference S3 using `AwsService.S3`
For a NewService, you can reference it using `new AwsService('new-service', 'NewService')`.
It is risky to auto convert between namespace and javaScriptName because they are not consistent in all cases.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.AwsService.Initializer"></a>

```typescript
import { AwsService } from '@cdklabs/cdk-ssm-documents'

new AwsService(namespace: string, javaScriptName: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.Initializer.parameter.namespace">namespace</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.Initializer.parameter.javaScriptName">javaScriptName</a></code> | <code>string</code> | *No description.* |

---

##### `namespace`<sup>Required</sup> <a name="namespace" id="@cdklabs/cdk-ssm-documents.AwsService.Initializer.parameter.namespace"></a>

- *Type:* string

---

##### `javaScriptName`<sup>Required</sup> <a name="javaScriptName" id="@cdklabs/cdk-ssm-documents.AwsService.Initializer.parameter.javaScriptName"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.toJSON">toJSON</a></code> | *No description.* |

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.AwsService.toJSON"></a>

```typescript
public toJSON(): string
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.javaScriptName">javaScriptName</a></code> | <code>string</code> | Used for simulation of service requests using the simulated execution. |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.namespace">namespace</a></code> | <code>string</code> | Used for declaration in SSM Automation document. |

---

##### `javaScriptName`<sup>Required</sup> <a name="javaScriptName" id="@cdklabs/cdk-ssm-documents.AwsService.property.javaScriptName"></a>

```typescript
public readonly javaScriptName: string;
```

- *Type:* string

Used for simulation of service requests using the simulated execution.

---

##### `namespace`<sup>Required</sup> <a name="namespace" id="@cdklabs/cdk-ssm-documents.AwsService.property.namespace"></a>

```typescript
public readonly namespace: string;
```

- *Type:* string

Used for declaration in SSM Automation document.

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ACCESS_ANALYZER">ACCESS_ANALYZER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ACCOUNT">ACCOUNT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ACM">ACM</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ACMPCA">ACMPCA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ALEXA_FOR_BUSINESS">ALEXA_FOR_BUSINESS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.AMP">AMP</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.AMPLIFY">AMPLIFY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.AMPLIFY_BACKEND">AMPLIFY_BACKEND</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.AMPLIFY_UI_BUILDER">AMPLIFY_UI_BUILDER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.API_GATEWAY_MANAGEMENT_API">API_GATEWAY_MANAGEMENT_API</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.API_GATEWAY_V2">API_GATEWAY_V2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APIGATEWAY">APIGATEWAY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APP_CONFIG">APP_CONFIG</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APP_CONFIG_DATA">APP_CONFIG_DATA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APP_INTEGRATIONS">APP_INTEGRATIONS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APP_MESH">APP_MESH</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APP_RUNNER">APP_RUNNER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APP_STREAM">APP_STREAM</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APP_SYNC">APP_SYNC</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APPFLOW">APPFLOW</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APPLICATION_AUTO_SCALING">APPLICATION_AUTO_SCALING</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APPLICATION_COST_PROFILER">APPLICATION_COST_PROFILER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.APPLICATION_INSIGHTS">APPLICATION_INSIGHTS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ATHENA">ATHENA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.AUDIT_MANAGER">AUDIT_MANAGER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.AUTO_SCALING">AUTO_SCALING</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.AUTO_SCALING_PLANS">AUTO_SCALING_PLANS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.BACKUP">BACKUP</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.BACKUP_GATEWAY">BACKUP_GATEWAY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.BACKUP_STORAGE">BACKUP_STORAGE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.BATCH">BATCH</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.BILLINGCONDUCTOR">BILLINGCONDUCTOR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.BRAKET">BRAKET</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.BUDGETS">BUDGETS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CHIME">CHIME</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CHIME_SDK_IDENTITY">CHIME_SDK_IDENTITY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CHIME_SDK_MEDIA_PIPELINES">CHIME_SDK_MEDIA_PIPELINES</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CHIME_SDK_MEETINGS">CHIME_SDK_MEETINGS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CHIME_SDK_MESSAGING">CHIME_SDK_MESSAGING</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_CONTROL">CLOUD_CONTROL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_DIRECTORY">CLOUD_DIRECTORY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_FORMATION">CLOUD_FORMATION</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_FRONT">CLOUD_FRONT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_HS_M">CLOUD_HS_M</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_HSM_V2">CLOUD_HSM_V2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_SEARCH">CLOUD_SEARCH</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_SEARCH_DOMAIN">CLOUD_SEARCH_DOMAIN</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_TRAIL">CLOUD_TRAIL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_WATCH">CLOUD_WATCH</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD9">CLOUD9</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CODE_ARTIFACT">CODE_ARTIFACT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CODE_BUILD">CODE_BUILD</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CODE_COMMIT">CODE_COMMIT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CODE_DEPLOY">CODE_DEPLOY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CODE_GURU_PROFILER">CODE_GURU_PROFILER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CODE_GURU_REVIEWER">CODE_GURU_REVIEWER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CODE_PIPELINE">CODE_PIPELINE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CODE_STAR">CODE_STAR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CODE_STAR_NOTIFICATIONS">CODE_STAR_NOTIFICATIONS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CODE_STARCONNECTIONS">CODE_STARCONNECTIONS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.COGNITO_IDENTITY">COGNITO_IDENTITY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.COGNITO_SYNC">COGNITO_SYNC</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.COMPREHEND">COMPREHEND</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.COMPREHEND_MEDICAL">COMPREHEND_MEDICAL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.COMPUTE_OPTIMIZER">COMPUTE_OPTIMIZER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CONNECT">CONNECT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CONNECT_CAMPAIGNS">CONNECT_CAMPAIGNS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CONNECT_CASES">CONNECT_CASES</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CONNECT_CONTACT_LENS">CONNECT_CONTACT_LENS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CONNECT_PARTICIPANT">CONNECT_PARTICIPANT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CONTROL_TOWER">CONTROL_TOWER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CUR">CUR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.CUSTOMER_PROFILES">CUSTOMER_PROFILES</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DATA_BREW">DATA_BREW</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DATA_EXCHANGE">DATA_EXCHANGE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DATA_PIPELINE">DATA_PIPELINE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DATA_SYNC">DATA_SYNC</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DAX">DAX</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DETECTIVE">DETECTIVE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DEV_OPS_GURU">DEV_OPS_GURU</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DEVICE_FARM">DEVICE_FARM</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DIRECT_CONNECT">DIRECT_CONNECT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DISCOVERY">DISCOVERY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DLM">DLM</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DMS">DMS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DOC_DB">DOC_DB</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DRS">DRS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DYNAMO_DB">DYNAMO_DB</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.DYNAMO_DB_STREAMS">DYNAMO_DB_STREAMS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.EBS">EBS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.EC2">EC2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.EC2_INSTANCE_CONNECT">EC2_INSTANCE_CONNECT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ECR">ECR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ECRPUBLIC">ECRPUBLIC</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ECS">ECS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.EFS">EFS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.EKS">EKS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ELASTI_CACHE">ELASTI_CACHE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ELASTIC_BEANSTALK">ELASTIC_BEANSTALK</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ELASTIC_INFERENCE">ELASTIC_INFERENCE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ELASTIC_TRANSCODER">ELASTIC_TRANSCODER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ELB">ELB</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ELBV2">ELBV2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.EMR">EMR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.EMRCONTAINERS">EMRCONTAINERS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.EMRSERVERLESS">EMRSERVERLESS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ES">ES</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.EVIDENTLY">EVIDENTLY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.FINSPACE">FINSPACE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.FINSPACEDATA">FINSPACEDATA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.FIREHOSE">FIREHOSE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.FIS">FIS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.FMS">FMS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.FRAUD_DETECTOR">FRAUD_DETECTOR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.FSX">FSX</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.GAME_LIFT">GAME_LIFT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.GAME_SPARKS">GAME_SPARKS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.GLACIER">GLACIER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.GLOBAL_ACCELERATOR">GLOBAL_ACCELERATOR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.GLUE">GLUE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.GRAFANA">GRAFANA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.GREENGRASS">GREENGRASS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.GREENGRASS_V2">GREENGRASS_V2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.GROUND_STATION">GROUND_STATION</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.GUARD_DUTY">GUARD_DUTY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.HEALTH">HEALTH</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.HEALTH_LAKE">HEALTH_LAKE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.HONEYCODE">HONEYCODE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IAM">IAM</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IDENTITY_STORE">IDENTITY_STORE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IMAGEBUILDER">IMAGEBUILDER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IMPORT_EXPORT">IMPORT_EXPORT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.INSPECTOR">INSPECTOR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.INSPECTOR2">INSPECTOR2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IO_T_ANALYTICS">IO_T_ANALYTICS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IO_T1_CLICK_PROJECTS">IO_T1_CLICK_PROJECTS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT">IOT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT_DATA">IOT_DATA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT_DEVICE_ADVISOR">IOT_DEVICE_ADVISOR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT_EVENTS">IOT_EVENTS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT_EVENTS_DATA">IOT_EVENTS_DATA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT_FLEET_HUB">IOT_FLEET_HUB</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT_FLEET_WISE">IOT_FLEET_WISE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT_SECURE_TUNNELING">IOT_SECURE_TUNNELING</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT_SITE_WISE">IOT_SITE_WISE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT_THINGS_GRAPH">IOT_THINGS_GRAPH</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT_TWIN_MAKER">IOT_TWIN_MAKER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IOT_WIRELESS">IOT_WIRELESS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IVS">IVS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.IVSCHAT">IVSCHAT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.KAFKA">KAFKA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.KAFKA_CONNECT">KAFKA_CONNECT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.KENDRA">KENDRA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.KEYSPACES">KEYSPACES</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS">KINESIS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS_ANALYTICS">KINESIS_ANALYTICS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS_ANALYTICS_V2">KINESIS_ANALYTICS_V2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS_VIDEO">KINESIS_VIDEO</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS_VIDEO_ARCHIVED_MEDIA">KINESIS_VIDEO_ARCHIVED_MEDIA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS_VIDEO_MEDIA">KINESIS_VIDEO_MEDIA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.KMS">KMS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.LAKE_FORMATION">LAKE_FORMATION</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.LAMBDA">LAMBDA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.LEX_RUNTIME">LEX_RUNTIME</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.LICENSE_MANAGER">LICENSE_MANAGER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.LICENSE_MANAGER_USER_SUBSCRIPTIONS">LICENSE_MANAGER_USER_SUBSCRIPTIONS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.LIGHTSAIL">LIGHTSAIL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.LOCATION">LOCATION</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.LOOKOUT_EQUIPMENT">LOOKOUT_EQUIPMENT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.LOOKOUT_METRICS">LOOKOUT_METRICS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.LOOKOUT_VISION">LOOKOUT_VISION</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.M2">M2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MACHINE_LEARNING">MACHINE_LEARNING</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MACIE">MACIE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MACIE2">MACIE2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MANAGED_BLOCKCHAIN">MANAGED_BLOCKCHAIN</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MARKETPLACE_CATALOG">MARKETPLACE_CATALOG</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MARKETPLACE_COMMERCE_ANALYTICS">MARKETPLACE_COMMERCE_ANALYTICS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_CONNECT">MEDIA_CONNECT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_CONVERT">MEDIA_CONVERT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_LIVE">MEDIA_LIVE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_PACKAGE">MEDIA_PACKAGE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_PACKAGE_VOD">MEDIA_PACKAGE_VOD</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_STORE">MEDIA_STORE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_STORE_DATA">MEDIA_STORE_DATA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_TAILOR">MEDIA_TAILOR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MEMORY_DB">MEMORY_DB</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MGN">MGN</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MIGRATION_HUB_CONFIG">MIGRATION_HUB_CONFIG</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MIGRATION_HUB_ORCHESTRATOR">MIGRATION_HUB_ORCHESTRATOR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MIGRATION_HUB_REFACTOR_SPACES">MIGRATION_HUB_REFACTOR_SPACES</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MIGRATION_HUB_STRATEGY">MIGRATION_HUB_STRATEGY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MOBILE">MOBILE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MQ">MQ</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MTURK">MTURK</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.MWAA">MWAA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.NEPTUNE">NEPTUNE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.NETWORK_FIREWALL">NETWORK_FIREWALL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.NETWORK_MANAGER">NETWORK_MANAGER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.NIMBLE">NIMBLE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.OPEN_SEARCH">OPEN_SEARCH</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.OPS_WORKS">OPS_WORKS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.OPS_WORKS_C_M">OPS_WORKS_C_M</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ORGANIZATIONS">ORGANIZATIONS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.OUTPOSTS">OUTPOSTS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PANORAMA">PANORAMA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PERSONALIZE">PERSONALIZE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PERSONALIZE_EVENTS">PERSONALIZE_EVENTS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PERSONALIZE_RUNTIME">PERSONALIZE_RUNTIME</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PI">PI</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PINPOINT">PINPOINT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PINPOINT_EMAIL">PINPOINT_EMAIL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PINPOINT_SMS_VOICE">PINPOINT_SMS_VOICE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PINPOINT_SMS_VOICE_V2">PINPOINT_SMS_VOICE_V2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.POLLY">POLLY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PRICING">PRICING</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PRIVATE_NETWORKS">PRIVATE_NETWORKS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.PROTON">PROTON</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.QLDB">QLDB</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.QLDB_SESSION">QLDB_SESSION</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.QUICK_SIGHT">QUICK_SIGHT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.RAM">RAM</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.RBIN">RBIN</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.RDS">RDS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.REDSHIFT">REDSHIFT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.REDSHIFT_DATA">REDSHIFT_DATA</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.REDSHIFT_SERVERLESS">REDSHIFT_SERVERLESS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.REKOGNITION">REKOGNITION</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.RESILIENCEHUB">RESILIENCEHUB</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.RESOURCE_EXPLORER2">RESOURCE_EXPLORER2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.RESOURCE_GROUPS">RESOURCE_GROUPS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.RESOURCE_GROUPS_TAGGING_AP_I">RESOURCE_GROUPS_TAGGING_AP_I</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ROBO_MAKER">ROBO_MAKER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ROLES_ANYWHERE">ROLES_ANYWHERE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53">ROUTE53</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53_DOMAINS">ROUTE53_DOMAINS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53_RECOVERY_CLUSTER">ROUTE53_RECOVERY_CLUSTER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53_RECOVERY_CONTROL_CONFIG">ROUTE53_RECOVERY_CONTROL_CONFIG</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53_RECOVERY_READINESS">ROUTE53_RECOVERY_READINESS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53_RESOLVER">ROUTE53_RESOLVER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.RUM">RUM</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.S3">S3</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.S3_CONTROL">S3_CONTROL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.S3_OUTPOSTS">S3_OUTPOSTS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SAGE_MAKER">SAGE_MAKER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SAGE_MAKER_FEATURE_STORE_RUNTIME">SAGE_MAKER_FEATURE_STORE_RUNTIME</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SAGE_MAKER_RUNTIME">SAGE_MAKER_RUNTIME</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SAGEMAKER_EDGE">SAGEMAKER_EDGE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SAVINGS_PLANS">SAVINGS_PLANS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SCHEDULER">SCHEDULER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SCHEMAS">SCHEMAS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SECRETS_MANAGER">SECRETS_MANAGER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SECURITY_HUB">SECURITY_HUB</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SERVICE_CATALOG">SERVICE_CATALOG</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SERVICE_CATALOG_APP_REGISTRY">SERVICE_CATALOG_APP_REGISTRY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SERVICE_DISCOVERY">SERVICE_DISCOVERY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SERVICE_QUOTAS">SERVICE_QUOTAS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SES">SES</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SES_V2">SES_V2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SHIELD">SHIELD</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SIGNER">SIGNER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SMS">SMS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SNOW_DEVICE_MANAGEMENT">SNOW_DEVICE_MANAGEMENT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SNOWBALL">SNOWBALL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SNS">SNS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SQS">SQS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SSM">SSM</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SSM_CONTACTS">SSM_CONTACTS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SSM_INCIDENTS">SSM_INCIDENTS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SSO">SSO</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SSO_ADMIN">SSO_ADMIN</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SSO_OIDC">SSO_OIDC</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.STEP_FUNCTIONS">STEP_FUNCTIONS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.STORAGE_GATEWAY">STORAGE_GATEWAY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.STS">STS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SUPPORT">SUPPORT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SUPPORT_APP">SUPPORT_APP</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SWF">SWF</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.SYNTHETICS">SYNTHETICS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.TEXTRACT">TEXTRACT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.TIMESTREAM_QUERY">TIMESTREAM_QUERY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.TIMESTREAM_WRITE">TIMESTREAM_WRITE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.TRANSFER">TRANSFER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.TRANSLATE">TRANSLATE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.VOICE_I_D">VOICE_I_D</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.WAF">WAF</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.WAF_REGIONAL">WAF_REGIONAL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.WAF_V2">WAF_V2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.WELL_ARCHITECTED">WELL_ARCHITECTED</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.WISDOM">WISDOM</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.WORK_DOCS">WORK_DOCS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.WORK_LINK">WORK_LINK</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.WORK_MAIL">WORK_MAIL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.WORK_MAIL_MESSAGE_FLOW">WORK_MAIL_MESSAGE_FLOW</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.WORK_SPACES">WORK_SPACES</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.WORK_SPACES_WEB">WORK_SPACES_WEB</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.AwsService.property.XRAY">XRAY</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a></code> | *No description.* |

---

##### `ACCESS_ANALYZER`<sup>Required</sup> <a name="ACCESS_ANALYZER" id="@cdklabs/cdk-ssm-documents.AwsService.property.ACCESS_ANALYZER"></a>

```typescript
public readonly ACCESS_ANALYZER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ACCOUNT`<sup>Required</sup> <a name="ACCOUNT" id="@cdklabs/cdk-ssm-documents.AwsService.property.ACCOUNT"></a>

```typescript
public readonly ACCOUNT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ACM`<sup>Required</sup> <a name="ACM" id="@cdklabs/cdk-ssm-documents.AwsService.property.ACM"></a>

```typescript
public readonly ACM: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ACMPCA`<sup>Required</sup> <a name="ACMPCA" id="@cdklabs/cdk-ssm-documents.AwsService.property.ACMPCA"></a>

```typescript
public readonly ACMPCA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ALEXA_FOR_BUSINESS`<sup>Required</sup> <a name="ALEXA_FOR_BUSINESS" id="@cdklabs/cdk-ssm-documents.AwsService.property.ALEXA_FOR_BUSINESS"></a>

```typescript
public readonly ALEXA_FOR_BUSINESS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `AMP`<sup>Required</sup> <a name="AMP" id="@cdklabs/cdk-ssm-documents.AwsService.property.AMP"></a>

```typescript
public readonly AMP: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `AMPLIFY`<sup>Required</sup> <a name="AMPLIFY" id="@cdklabs/cdk-ssm-documents.AwsService.property.AMPLIFY"></a>

```typescript
public readonly AMPLIFY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `AMPLIFY_BACKEND`<sup>Required</sup> <a name="AMPLIFY_BACKEND" id="@cdklabs/cdk-ssm-documents.AwsService.property.AMPLIFY_BACKEND"></a>

```typescript
public readonly AMPLIFY_BACKEND: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `AMPLIFY_UI_BUILDER`<sup>Required</sup> <a name="AMPLIFY_UI_BUILDER" id="@cdklabs/cdk-ssm-documents.AwsService.property.AMPLIFY_UI_BUILDER"></a>

```typescript
public readonly AMPLIFY_UI_BUILDER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `API_GATEWAY_MANAGEMENT_API`<sup>Required</sup> <a name="API_GATEWAY_MANAGEMENT_API" id="@cdklabs/cdk-ssm-documents.AwsService.property.API_GATEWAY_MANAGEMENT_API"></a>

```typescript
public readonly API_GATEWAY_MANAGEMENT_API: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `API_GATEWAY_V2`<sup>Required</sup> <a name="API_GATEWAY_V2" id="@cdklabs/cdk-ssm-documents.AwsService.property.API_GATEWAY_V2"></a>

```typescript
public readonly API_GATEWAY_V2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APIGATEWAY`<sup>Required</sup> <a name="APIGATEWAY" id="@cdklabs/cdk-ssm-documents.AwsService.property.APIGATEWAY"></a>

```typescript
public readonly APIGATEWAY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APP_CONFIG`<sup>Required</sup> <a name="APP_CONFIG" id="@cdklabs/cdk-ssm-documents.AwsService.property.APP_CONFIG"></a>

```typescript
public readonly APP_CONFIG: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APP_CONFIG_DATA`<sup>Required</sup> <a name="APP_CONFIG_DATA" id="@cdklabs/cdk-ssm-documents.AwsService.property.APP_CONFIG_DATA"></a>

```typescript
public readonly APP_CONFIG_DATA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APP_INTEGRATIONS`<sup>Required</sup> <a name="APP_INTEGRATIONS" id="@cdklabs/cdk-ssm-documents.AwsService.property.APP_INTEGRATIONS"></a>

```typescript
public readonly APP_INTEGRATIONS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APP_MESH`<sup>Required</sup> <a name="APP_MESH" id="@cdklabs/cdk-ssm-documents.AwsService.property.APP_MESH"></a>

```typescript
public readonly APP_MESH: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APP_RUNNER`<sup>Required</sup> <a name="APP_RUNNER" id="@cdklabs/cdk-ssm-documents.AwsService.property.APP_RUNNER"></a>

```typescript
public readonly APP_RUNNER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APP_STREAM`<sup>Required</sup> <a name="APP_STREAM" id="@cdklabs/cdk-ssm-documents.AwsService.property.APP_STREAM"></a>

```typescript
public readonly APP_STREAM: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APP_SYNC`<sup>Required</sup> <a name="APP_SYNC" id="@cdklabs/cdk-ssm-documents.AwsService.property.APP_SYNC"></a>

```typescript
public readonly APP_SYNC: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APPFLOW`<sup>Required</sup> <a name="APPFLOW" id="@cdklabs/cdk-ssm-documents.AwsService.property.APPFLOW"></a>

```typescript
public readonly APPFLOW: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APPLICATION_AUTO_SCALING`<sup>Required</sup> <a name="APPLICATION_AUTO_SCALING" id="@cdklabs/cdk-ssm-documents.AwsService.property.APPLICATION_AUTO_SCALING"></a>

```typescript
public readonly APPLICATION_AUTO_SCALING: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APPLICATION_COST_PROFILER`<sup>Required</sup> <a name="APPLICATION_COST_PROFILER" id="@cdklabs/cdk-ssm-documents.AwsService.property.APPLICATION_COST_PROFILER"></a>

```typescript
public readonly APPLICATION_COST_PROFILER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `APPLICATION_INSIGHTS`<sup>Required</sup> <a name="APPLICATION_INSIGHTS" id="@cdklabs/cdk-ssm-documents.AwsService.property.APPLICATION_INSIGHTS"></a>

```typescript
public readonly APPLICATION_INSIGHTS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ATHENA`<sup>Required</sup> <a name="ATHENA" id="@cdklabs/cdk-ssm-documents.AwsService.property.ATHENA"></a>

```typescript
public readonly ATHENA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `AUDIT_MANAGER`<sup>Required</sup> <a name="AUDIT_MANAGER" id="@cdklabs/cdk-ssm-documents.AwsService.property.AUDIT_MANAGER"></a>

```typescript
public readonly AUDIT_MANAGER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `AUTO_SCALING`<sup>Required</sup> <a name="AUTO_SCALING" id="@cdklabs/cdk-ssm-documents.AwsService.property.AUTO_SCALING"></a>

```typescript
public readonly AUTO_SCALING: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `AUTO_SCALING_PLANS`<sup>Required</sup> <a name="AUTO_SCALING_PLANS" id="@cdklabs/cdk-ssm-documents.AwsService.property.AUTO_SCALING_PLANS"></a>

```typescript
public readonly AUTO_SCALING_PLANS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `BACKUP`<sup>Required</sup> <a name="BACKUP" id="@cdklabs/cdk-ssm-documents.AwsService.property.BACKUP"></a>

```typescript
public readonly BACKUP: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `BACKUP_GATEWAY`<sup>Required</sup> <a name="BACKUP_GATEWAY" id="@cdklabs/cdk-ssm-documents.AwsService.property.BACKUP_GATEWAY"></a>

```typescript
public readonly BACKUP_GATEWAY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `BACKUP_STORAGE`<sup>Required</sup> <a name="BACKUP_STORAGE" id="@cdklabs/cdk-ssm-documents.AwsService.property.BACKUP_STORAGE"></a>

```typescript
public readonly BACKUP_STORAGE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `BATCH`<sup>Required</sup> <a name="BATCH" id="@cdklabs/cdk-ssm-documents.AwsService.property.BATCH"></a>

```typescript
public readonly BATCH: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `BILLINGCONDUCTOR`<sup>Required</sup> <a name="BILLINGCONDUCTOR" id="@cdklabs/cdk-ssm-documents.AwsService.property.BILLINGCONDUCTOR"></a>

```typescript
public readonly BILLINGCONDUCTOR: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `BRAKET`<sup>Required</sup> <a name="BRAKET" id="@cdklabs/cdk-ssm-documents.AwsService.property.BRAKET"></a>

```typescript
public readonly BRAKET: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `BUDGETS`<sup>Required</sup> <a name="BUDGETS" id="@cdklabs/cdk-ssm-documents.AwsService.property.BUDGETS"></a>

```typescript
public readonly BUDGETS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CHIME`<sup>Required</sup> <a name="CHIME" id="@cdklabs/cdk-ssm-documents.AwsService.property.CHIME"></a>

```typescript
public readonly CHIME: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CHIME_SDK_IDENTITY`<sup>Required</sup> <a name="CHIME_SDK_IDENTITY" id="@cdklabs/cdk-ssm-documents.AwsService.property.CHIME_SDK_IDENTITY"></a>

```typescript
public readonly CHIME_SDK_IDENTITY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CHIME_SDK_MEDIA_PIPELINES`<sup>Required</sup> <a name="CHIME_SDK_MEDIA_PIPELINES" id="@cdklabs/cdk-ssm-documents.AwsService.property.CHIME_SDK_MEDIA_PIPELINES"></a>

```typescript
public readonly CHIME_SDK_MEDIA_PIPELINES: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CHIME_SDK_MEETINGS`<sup>Required</sup> <a name="CHIME_SDK_MEETINGS" id="@cdklabs/cdk-ssm-documents.AwsService.property.CHIME_SDK_MEETINGS"></a>

```typescript
public readonly CHIME_SDK_MEETINGS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CHIME_SDK_MESSAGING`<sup>Required</sup> <a name="CHIME_SDK_MESSAGING" id="@cdklabs/cdk-ssm-documents.AwsService.property.CHIME_SDK_MESSAGING"></a>

```typescript
public readonly CHIME_SDK_MESSAGING: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CLOUD_CONTROL`<sup>Required</sup> <a name="CLOUD_CONTROL" id="@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_CONTROL"></a>

```typescript
public readonly CLOUD_CONTROL: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CLOUD_DIRECTORY`<sup>Required</sup> <a name="CLOUD_DIRECTORY" id="@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_DIRECTORY"></a>

```typescript
public readonly CLOUD_DIRECTORY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CLOUD_FORMATION`<sup>Required</sup> <a name="CLOUD_FORMATION" id="@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_FORMATION"></a>

```typescript
public readonly CLOUD_FORMATION: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CLOUD_FRONT`<sup>Required</sup> <a name="CLOUD_FRONT" id="@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_FRONT"></a>

```typescript
public readonly CLOUD_FRONT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CLOUD_HS_M`<sup>Required</sup> <a name="CLOUD_HS_M" id="@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_HS_M"></a>

```typescript
public readonly CLOUD_HS_M: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CLOUD_HSM_V2`<sup>Required</sup> <a name="CLOUD_HSM_V2" id="@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_HSM_V2"></a>

```typescript
public readonly CLOUD_HSM_V2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CLOUD_SEARCH`<sup>Required</sup> <a name="CLOUD_SEARCH" id="@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_SEARCH"></a>

```typescript
public readonly CLOUD_SEARCH: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CLOUD_SEARCH_DOMAIN`<sup>Required</sup> <a name="CLOUD_SEARCH_DOMAIN" id="@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_SEARCH_DOMAIN"></a>

```typescript
public readonly CLOUD_SEARCH_DOMAIN: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CLOUD_TRAIL`<sup>Required</sup> <a name="CLOUD_TRAIL" id="@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_TRAIL"></a>

```typescript
public readonly CLOUD_TRAIL: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CLOUD_WATCH`<sup>Required</sup> <a name="CLOUD_WATCH" id="@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD_WATCH"></a>

```typescript
public readonly CLOUD_WATCH: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CLOUD9`<sup>Required</sup> <a name="CLOUD9" id="@cdklabs/cdk-ssm-documents.AwsService.property.CLOUD9"></a>

```typescript
public readonly CLOUD9: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CODE_ARTIFACT`<sup>Required</sup> <a name="CODE_ARTIFACT" id="@cdklabs/cdk-ssm-documents.AwsService.property.CODE_ARTIFACT"></a>

```typescript
public readonly CODE_ARTIFACT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CODE_BUILD`<sup>Required</sup> <a name="CODE_BUILD" id="@cdklabs/cdk-ssm-documents.AwsService.property.CODE_BUILD"></a>

```typescript
public readonly CODE_BUILD: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CODE_COMMIT`<sup>Required</sup> <a name="CODE_COMMIT" id="@cdklabs/cdk-ssm-documents.AwsService.property.CODE_COMMIT"></a>

```typescript
public readonly CODE_COMMIT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CODE_DEPLOY`<sup>Required</sup> <a name="CODE_DEPLOY" id="@cdklabs/cdk-ssm-documents.AwsService.property.CODE_DEPLOY"></a>

```typescript
public readonly CODE_DEPLOY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CODE_GURU_PROFILER`<sup>Required</sup> <a name="CODE_GURU_PROFILER" id="@cdklabs/cdk-ssm-documents.AwsService.property.CODE_GURU_PROFILER"></a>

```typescript
public readonly CODE_GURU_PROFILER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CODE_GURU_REVIEWER`<sup>Required</sup> <a name="CODE_GURU_REVIEWER" id="@cdklabs/cdk-ssm-documents.AwsService.property.CODE_GURU_REVIEWER"></a>

```typescript
public readonly CODE_GURU_REVIEWER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CODE_PIPELINE`<sup>Required</sup> <a name="CODE_PIPELINE" id="@cdklabs/cdk-ssm-documents.AwsService.property.CODE_PIPELINE"></a>

```typescript
public readonly CODE_PIPELINE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CODE_STAR`<sup>Required</sup> <a name="CODE_STAR" id="@cdklabs/cdk-ssm-documents.AwsService.property.CODE_STAR"></a>

```typescript
public readonly CODE_STAR: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CODE_STAR_NOTIFICATIONS`<sup>Required</sup> <a name="CODE_STAR_NOTIFICATIONS" id="@cdklabs/cdk-ssm-documents.AwsService.property.CODE_STAR_NOTIFICATIONS"></a>

```typescript
public readonly CODE_STAR_NOTIFICATIONS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CODE_STARCONNECTIONS`<sup>Required</sup> <a name="CODE_STARCONNECTIONS" id="@cdklabs/cdk-ssm-documents.AwsService.property.CODE_STARCONNECTIONS"></a>

```typescript
public readonly CODE_STARCONNECTIONS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `COGNITO_IDENTITY`<sup>Required</sup> <a name="COGNITO_IDENTITY" id="@cdklabs/cdk-ssm-documents.AwsService.property.COGNITO_IDENTITY"></a>

```typescript
public readonly COGNITO_IDENTITY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `COGNITO_SYNC`<sup>Required</sup> <a name="COGNITO_SYNC" id="@cdklabs/cdk-ssm-documents.AwsService.property.COGNITO_SYNC"></a>

```typescript
public readonly COGNITO_SYNC: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `COMPREHEND`<sup>Required</sup> <a name="COMPREHEND" id="@cdklabs/cdk-ssm-documents.AwsService.property.COMPREHEND"></a>

```typescript
public readonly COMPREHEND: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `COMPREHEND_MEDICAL`<sup>Required</sup> <a name="COMPREHEND_MEDICAL" id="@cdklabs/cdk-ssm-documents.AwsService.property.COMPREHEND_MEDICAL"></a>

```typescript
public readonly COMPREHEND_MEDICAL: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `COMPUTE_OPTIMIZER`<sup>Required</sup> <a name="COMPUTE_OPTIMIZER" id="@cdklabs/cdk-ssm-documents.AwsService.property.COMPUTE_OPTIMIZER"></a>

```typescript
public readonly COMPUTE_OPTIMIZER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CONNECT`<sup>Required</sup> <a name="CONNECT" id="@cdklabs/cdk-ssm-documents.AwsService.property.CONNECT"></a>

```typescript
public readonly CONNECT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CONNECT_CAMPAIGNS`<sup>Required</sup> <a name="CONNECT_CAMPAIGNS" id="@cdklabs/cdk-ssm-documents.AwsService.property.CONNECT_CAMPAIGNS"></a>

```typescript
public readonly CONNECT_CAMPAIGNS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CONNECT_CASES`<sup>Required</sup> <a name="CONNECT_CASES" id="@cdklabs/cdk-ssm-documents.AwsService.property.CONNECT_CASES"></a>

```typescript
public readonly CONNECT_CASES: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CONNECT_CONTACT_LENS`<sup>Required</sup> <a name="CONNECT_CONTACT_LENS" id="@cdklabs/cdk-ssm-documents.AwsService.property.CONNECT_CONTACT_LENS"></a>

```typescript
public readonly CONNECT_CONTACT_LENS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CONNECT_PARTICIPANT`<sup>Required</sup> <a name="CONNECT_PARTICIPANT" id="@cdklabs/cdk-ssm-documents.AwsService.property.CONNECT_PARTICIPANT"></a>

```typescript
public readonly CONNECT_PARTICIPANT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CONTROL_TOWER`<sup>Required</sup> <a name="CONTROL_TOWER" id="@cdklabs/cdk-ssm-documents.AwsService.property.CONTROL_TOWER"></a>

```typescript
public readonly CONTROL_TOWER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CUR`<sup>Required</sup> <a name="CUR" id="@cdklabs/cdk-ssm-documents.AwsService.property.CUR"></a>

```typescript
public readonly CUR: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `CUSTOMER_PROFILES`<sup>Required</sup> <a name="CUSTOMER_PROFILES" id="@cdklabs/cdk-ssm-documents.AwsService.property.CUSTOMER_PROFILES"></a>

```typescript
public readonly CUSTOMER_PROFILES: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DATA_BREW`<sup>Required</sup> <a name="DATA_BREW" id="@cdklabs/cdk-ssm-documents.AwsService.property.DATA_BREW"></a>

```typescript
public readonly DATA_BREW: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DATA_EXCHANGE`<sup>Required</sup> <a name="DATA_EXCHANGE" id="@cdklabs/cdk-ssm-documents.AwsService.property.DATA_EXCHANGE"></a>

```typescript
public readonly DATA_EXCHANGE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DATA_PIPELINE`<sup>Required</sup> <a name="DATA_PIPELINE" id="@cdklabs/cdk-ssm-documents.AwsService.property.DATA_PIPELINE"></a>

```typescript
public readonly DATA_PIPELINE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DATA_SYNC`<sup>Required</sup> <a name="DATA_SYNC" id="@cdklabs/cdk-ssm-documents.AwsService.property.DATA_SYNC"></a>

```typescript
public readonly DATA_SYNC: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DAX`<sup>Required</sup> <a name="DAX" id="@cdklabs/cdk-ssm-documents.AwsService.property.DAX"></a>

```typescript
public readonly DAX: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DETECTIVE`<sup>Required</sup> <a name="DETECTIVE" id="@cdklabs/cdk-ssm-documents.AwsService.property.DETECTIVE"></a>

```typescript
public readonly DETECTIVE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DEV_OPS_GURU`<sup>Required</sup> <a name="DEV_OPS_GURU" id="@cdklabs/cdk-ssm-documents.AwsService.property.DEV_OPS_GURU"></a>

```typescript
public readonly DEV_OPS_GURU: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DEVICE_FARM`<sup>Required</sup> <a name="DEVICE_FARM" id="@cdklabs/cdk-ssm-documents.AwsService.property.DEVICE_FARM"></a>

```typescript
public readonly DEVICE_FARM: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DIRECT_CONNECT`<sup>Required</sup> <a name="DIRECT_CONNECT" id="@cdklabs/cdk-ssm-documents.AwsService.property.DIRECT_CONNECT"></a>

```typescript
public readonly DIRECT_CONNECT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DISCOVERY`<sup>Required</sup> <a name="DISCOVERY" id="@cdklabs/cdk-ssm-documents.AwsService.property.DISCOVERY"></a>

```typescript
public readonly DISCOVERY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DLM`<sup>Required</sup> <a name="DLM" id="@cdklabs/cdk-ssm-documents.AwsService.property.DLM"></a>

```typescript
public readonly DLM: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DMS`<sup>Required</sup> <a name="DMS" id="@cdklabs/cdk-ssm-documents.AwsService.property.DMS"></a>

```typescript
public readonly DMS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DOC_DB`<sup>Required</sup> <a name="DOC_DB" id="@cdklabs/cdk-ssm-documents.AwsService.property.DOC_DB"></a>

```typescript
public readonly DOC_DB: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DRS`<sup>Required</sup> <a name="DRS" id="@cdklabs/cdk-ssm-documents.AwsService.property.DRS"></a>

```typescript
public readonly DRS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DYNAMO_DB`<sup>Required</sup> <a name="DYNAMO_DB" id="@cdklabs/cdk-ssm-documents.AwsService.property.DYNAMO_DB"></a>

```typescript
public readonly DYNAMO_DB: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `DYNAMO_DB_STREAMS`<sup>Required</sup> <a name="DYNAMO_DB_STREAMS" id="@cdklabs/cdk-ssm-documents.AwsService.property.DYNAMO_DB_STREAMS"></a>

```typescript
public readonly DYNAMO_DB_STREAMS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `EBS`<sup>Required</sup> <a name="EBS" id="@cdklabs/cdk-ssm-documents.AwsService.property.EBS"></a>

```typescript
public readonly EBS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `EC2`<sup>Required</sup> <a name="EC2" id="@cdklabs/cdk-ssm-documents.AwsService.property.EC2"></a>

```typescript
public readonly EC2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `EC2_INSTANCE_CONNECT`<sup>Required</sup> <a name="EC2_INSTANCE_CONNECT" id="@cdklabs/cdk-ssm-documents.AwsService.property.EC2_INSTANCE_CONNECT"></a>

```typescript
public readonly EC2_INSTANCE_CONNECT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ECR`<sup>Required</sup> <a name="ECR" id="@cdklabs/cdk-ssm-documents.AwsService.property.ECR"></a>

```typescript
public readonly ECR: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ECRPUBLIC`<sup>Required</sup> <a name="ECRPUBLIC" id="@cdklabs/cdk-ssm-documents.AwsService.property.ECRPUBLIC"></a>

```typescript
public readonly ECRPUBLIC: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ECS`<sup>Required</sup> <a name="ECS" id="@cdklabs/cdk-ssm-documents.AwsService.property.ECS"></a>

```typescript
public readonly ECS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `EFS`<sup>Required</sup> <a name="EFS" id="@cdklabs/cdk-ssm-documents.AwsService.property.EFS"></a>

```typescript
public readonly EFS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `EKS`<sup>Required</sup> <a name="EKS" id="@cdklabs/cdk-ssm-documents.AwsService.property.EKS"></a>

```typescript
public readonly EKS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ELASTI_CACHE`<sup>Required</sup> <a name="ELASTI_CACHE" id="@cdklabs/cdk-ssm-documents.AwsService.property.ELASTI_CACHE"></a>

```typescript
public readonly ELASTI_CACHE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ELASTIC_BEANSTALK`<sup>Required</sup> <a name="ELASTIC_BEANSTALK" id="@cdklabs/cdk-ssm-documents.AwsService.property.ELASTIC_BEANSTALK"></a>

```typescript
public readonly ELASTIC_BEANSTALK: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ELASTIC_INFERENCE`<sup>Required</sup> <a name="ELASTIC_INFERENCE" id="@cdklabs/cdk-ssm-documents.AwsService.property.ELASTIC_INFERENCE"></a>

```typescript
public readonly ELASTIC_INFERENCE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ELASTIC_TRANSCODER`<sup>Required</sup> <a name="ELASTIC_TRANSCODER" id="@cdklabs/cdk-ssm-documents.AwsService.property.ELASTIC_TRANSCODER"></a>

```typescript
public readonly ELASTIC_TRANSCODER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ELB`<sup>Required</sup> <a name="ELB" id="@cdklabs/cdk-ssm-documents.AwsService.property.ELB"></a>

```typescript
public readonly ELB: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ELBV2`<sup>Required</sup> <a name="ELBV2" id="@cdklabs/cdk-ssm-documents.AwsService.property.ELBV2"></a>

```typescript
public readonly ELBV2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `EMR`<sup>Required</sup> <a name="EMR" id="@cdklabs/cdk-ssm-documents.AwsService.property.EMR"></a>

```typescript
public readonly EMR: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `EMRCONTAINERS`<sup>Required</sup> <a name="EMRCONTAINERS" id="@cdklabs/cdk-ssm-documents.AwsService.property.EMRCONTAINERS"></a>

```typescript
public readonly EMRCONTAINERS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `EMRSERVERLESS`<sup>Required</sup> <a name="EMRSERVERLESS" id="@cdklabs/cdk-ssm-documents.AwsService.property.EMRSERVERLESS"></a>

```typescript
public readonly EMRSERVERLESS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ES`<sup>Required</sup> <a name="ES" id="@cdklabs/cdk-ssm-documents.AwsService.property.ES"></a>

```typescript
public readonly ES: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `EVIDENTLY`<sup>Required</sup> <a name="EVIDENTLY" id="@cdklabs/cdk-ssm-documents.AwsService.property.EVIDENTLY"></a>

```typescript
public readonly EVIDENTLY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `FINSPACE`<sup>Required</sup> <a name="FINSPACE" id="@cdklabs/cdk-ssm-documents.AwsService.property.FINSPACE"></a>

```typescript
public readonly FINSPACE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `FINSPACEDATA`<sup>Required</sup> <a name="FINSPACEDATA" id="@cdklabs/cdk-ssm-documents.AwsService.property.FINSPACEDATA"></a>

```typescript
public readonly FINSPACEDATA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `FIREHOSE`<sup>Required</sup> <a name="FIREHOSE" id="@cdklabs/cdk-ssm-documents.AwsService.property.FIREHOSE"></a>

```typescript
public readonly FIREHOSE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `FIS`<sup>Required</sup> <a name="FIS" id="@cdklabs/cdk-ssm-documents.AwsService.property.FIS"></a>

```typescript
public readonly FIS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `FMS`<sup>Required</sup> <a name="FMS" id="@cdklabs/cdk-ssm-documents.AwsService.property.FMS"></a>

```typescript
public readonly FMS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `FRAUD_DETECTOR`<sup>Required</sup> <a name="FRAUD_DETECTOR" id="@cdklabs/cdk-ssm-documents.AwsService.property.FRAUD_DETECTOR"></a>

```typescript
public readonly FRAUD_DETECTOR: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `FSX`<sup>Required</sup> <a name="FSX" id="@cdklabs/cdk-ssm-documents.AwsService.property.FSX"></a>

```typescript
public readonly FSX: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `GAME_LIFT`<sup>Required</sup> <a name="GAME_LIFT" id="@cdklabs/cdk-ssm-documents.AwsService.property.GAME_LIFT"></a>

```typescript
public readonly GAME_LIFT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `GAME_SPARKS`<sup>Required</sup> <a name="GAME_SPARKS" id="@cdklabs/cdk-ssm-documents.AwsService.property.GAME_SPARKS"></a>

```typescript
public readonly GAME_SPARKS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `GLACIER`<sup>Required</sup> <a name="GLACIER" id="@cdklabs/cdk-ssm-documents.AwsService.property.GLACIER"></a>

```typescript
public readonly GLACIER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `GLOBAL_ACCELERATOR`<sup>Required</sup> <a name="GLOBAL_ACCELERATOR" id="@cdklabs/cdk-ssm-documents.AwsService.property.GLOBAL_ACCELERATOR"></a>

```typescript
public readonly GLOBAL_ACCELERATOR: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `GLUE`<sup>Required</sup> <a name="GLUE" id="@cdklabs/cdk-ssm-documents.AwsService.property.GLUE"></a>

```typescript
public readonly GLUE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `GRAFANA`<sup>Required</sup> <a name="GRAFANA" id="@cdklabs/cdk-ssm-documents.AwsService.property.GRAFANA"></a>

```typescript
public readonly GRAFANA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `GREENGRASS`<sup>Required</sup> <a name="GREENGRASS" id="@cdklabs/cdk-ssm-documents.AwsService.property.GREENGRASS"></a>

```typescript
public readonly GREENGRASS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `GREENGRASS_V2`<sup>Required</sup> <a name="GREENGRASS_V2" id="@cdklabs/cdk-ssm-documents.AwsService.property.GREENGRASS_V2"></a>

```typescript
public readonly GREENGRASS_V2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `GROUND_STATION`<sup>Required</sup> <a name="GROUND_STATION" id="@cdklabs/cdk-ssm-documents.AwsService.property.GROUND_STATION"></a>

```typescript
public readonly GROUND_STATION: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `GUARD_DUTY`<sup>Required</sup> <a name="GUARD_DUTY" id="@cdklabs/cdk-ssm-documents.AwsService.property.GUARD_DUTY"></a>

```typescript
public readonly GUARD_DUTY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `HEALTH`<sup>Required</sup> <a name="HEALTH" id="@cdklabs/cdk-ssm-documents.AwsService.property.HEALTH"></a>

```typescript
public readonly HEALTH: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `HEALTH_LAKE`<sup>Required</sup> <a name="HEALTH_LAKE" id="@cdklabs/cdk-ssm-documents.AwsService.property.HEALTH_LAKE"></a>

```typescript
public readonly HEALTH_LAKE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `HONEYCODE`<sup>Required</sup> <a name="HONEYCODE" id="@cdklabs/cdk-ssm-documents.AwsService.property.HONEYCODE"></a>

```typescript
public readonly HONEYCODE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IAM`<sup>Required</sup> <a name="IAM" id="@cdklabs/cdk-ssm-documents.AwsService.property.IAM"></a>

```typescript
public readonly IAM: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IDENTITY_STORE`<sup>Required</sup> <a name="IDENTITY_STORE" id="@cdklabs/cdk-ssm-documents.AwsService.property.IDENTITY_STORE"></a>

```typescript
public readonly IDENTITY_STORE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IMAGEBUILDER`<sup>Required</sup> <a name="IMAGEBUILDER" id="@cdklabs/cdk-ssm-documents.AwsService.property.IMAGEBUILDER"></a>

```typescript
public readonly IMAGEBUILDER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IMPORT_EXPORT`<sup>Required</sup> <a name="IMPORT_EXPORT" id="@cdklabs/cdk-ssm-documents.AwsService.property.IMPORT_EXPORT"></a>

```typescript
public readonly IMPORT_EXPORT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `INSPECTOR`<sup>Required</sup> <a name="INSPECTOR" id="@cdklabs/cdk-ssm-documents.AwsService.property.INSPECTOR"></a>

```typescript
public readonly INSPECTOR: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `INSPECTOR2`<sup>Required</sup> <a name="INSPECTOR2" id="@cdklabs/cdk-ssm-documents.AwsService.property.INSPECTOR2"></a>

```typescript
public readonly INSPECTOR2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IO_T_ANALYTICS`<sup>Required</sup> <a name="IO_T_ANALYTICS" id="@cdklabs/cdk-ssm-documents.AwsService.property.IO_T_ANALYTICS"></a>

```typescript
public readonly IO_T_ANALYTICS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IO_T1_CLICK_PROJECTS`<sup>Required</sup> <a name="IO_T1_CLICK_PROJECTS" id="@cdklabs/cdk-ssm-documents.AwsService.property.IO_T1_CLICK_PROJECTS"></a>

```typescript
public readonly IO_T1_CLICK_PROJECTS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT`<sup>Required</sup> <a name="IOT" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT"></a>

```typescript
public readonly IOT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT_DATA`<sup>Required</sup> <a name="IOT_DATA" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT_DATA"></a>

```typescript
public readonly IOT_DATA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT_DEVICE_ADVISOR`<sup>Required</sup> <a name="IOT_DEVICE_ADVISOR" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT_DEVICE_ADVISOR"></a>

```typescript
public readonly IOT_DEVICE_ADVISOR: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT_EVENTS`<sup>Required</sup> <a name="IOT_EVENTS" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT_EVENTS"></a>

```typescript
public readonly IOT_EVENTS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT_EVENTS_DATA`<sup>Required</sup> <a name="IOT_EVENTS_DATA" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT_EVENTS_DATA"></a>

```typescript
public readonly IOT_EVENTS_DATA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT_FLEET_HUB`<sup>Required</sup> <a name="IOT_FLEET_HUB" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT_FLEET_HUB"></a>

```typescript
public readonly IOT_FLEET_HUB: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT_FLEET_WISE`<sup>Required</sup> <a name="IOT_FLEET_WISE" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT_FLEET_WISE"></a>

```typescript
public readonly IOT_FLEET_WISE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT_SECURE_TUNNELING`<sup>Required</sup> <a name="IOT_SECURE_TUNNELING" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT_SECURE_TUNNELING"></a>

```typescript
public readonly IOT_SECURE_TUNNELING: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT_SITE_WISE`<sup>Required</sup> <a name="IOT_SITE_WISE" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT_SITE_WISE"></a>

```typescript
public readonly IOT_SITE_WISE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT_THINGS_GRAPH`<sup>Required</sup> <a name="IOT_THINGS_GRAPH" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT_THINGS_GRAPH"></a>

```typescript
public readonly IOT_THINGS_GRAPH: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT_TWIN_MAKER`<sup>Required</sup> <a name="IOT_TWIN_MAKER" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT_TWIN_MAKER"></a>

```typescript
public readonly IOT_TWIN_MAKER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IOT_WIRELESS`<sup>Required</sup> <a name="IOT_WIRELESS" id="@cdklabs/cdk-ssm-documents.AwsService.property.IOT_WIRELESS"></a>

```typescript
public readonly IOT_WIRELESS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IVS`<sup>Required</sup> <a name="IVS" id="@cdklabs/cdk-ssm-documents.AwsService.property.IVS"></a>

```typescript
public readonly IVS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `IVSCHAT`<sup>Required</sup> <a name="IVSCHAT" id="@cdklabs/cdk-ssm-documents.AwsService.property.IVSCHAT"></a>

```typescript
public readonly IVSCHAT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `KAFKA`<sup>Required</sup> <a name="KAFKA" id="@cdklabs/cdk-ssm-documents.AwsService.property.KAFKA"></a>

```typescript
public readonly KAFKA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `KAFKA_CONNECT`<sup>Required</sup> <a name="KAFKA_CONNECT" id="@cdklabs/cdk-ssm-documents.AwsService.property.KAFKA_CONNECT"></a>

```typescript
public readonly KAFKA_CONNECT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `KENDRA`<sup>Required</sup> <a name="KENDRA" id="@cdklabs/cdk-ssm-documents.AwsService.property.KENDRA"></a>

```typescript
public readonly KENDRA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `KEYSPACES`<sup>Required</sup> <a name="KEYSPACES" id="@cdklabs/cdk-ssm-documents.AwsService.property.KEYSPACES"></a>

```typescript
public readonly KEYSPACES: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `KINESIS`<sup>Required</sup> <a name="KINESIS" id="@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS"></a>

```typescript
public readonly KINESIS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `KINESIS_ANALYTICS`<sup>Required</sup> <a name="KINESIS_ANALYTICS" id="@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS_ANALYTICS"></a>

```typescript
public readonly KINESIS_ANALYTICS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `KINESIS_ANALYTICS_V2`<sup>Required</sup> <a name="KINESIS_ANALYTICS_V2" id="@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS_ANALYTICS_V2"></a>

```typescript
public readonly KINESIS_ANALYTICS_V2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `KINESIS_VIDEO`<sup>Required</sup> <a name="KINESIS_VIDEO" id="@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS_VIDEO"></a>

```typescript
public readonly KINESIS_VIDEO: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `KINESIS_VIDEO_ARCHIVED_MEDIA`<sup>Required</sup> <a name="KINESIS_VIDEO_ARCHIVED_MEDIA" id="@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS_VIDEO_ARCHIVED_MEDIA"></a>

```typescript
public readonly KINESIS_VIDEO_ARCHIVED_MEDIA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `KINESIS_VIDEO_MEDIA`<sup>Required</sup> <a name="KINESIS_VIDEO_MEDIA" id="@cdklabs/cdk-ssm-documents.AwsService.property.KINESIS_VIDEO_MEDIA"></a>

```typescript
public readonly KINESIS_VIDEO_MEDIA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `KMS`<sup>Required</sup> <a name="KMS" id="@cdklabs/cdk-ssm-documents.AwsService.property.KMS"></a>

```typescript
public readonly KMS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `LAKE_FORMATION`<sup>Required</sup> <a name="LAKE_FORMATION" id="@cdklabs/cdk-ssm-documents.AwsService.property.LAKE_FORMATION"></a>

```typescript
public readonly LAKE_FORMATION: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `LAMBDA`<sup>Required</sup> <a name="LAMBDA" id="@cdklabs/cdk-ssm-documents.AwsService.property.LAMBDA"></a>

```typescript
public readonly LAMBDA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `LEX_RUNTIME`<sup>Required</sup> <a name="LEX_RUNTIME" id="@cdklabs/cdk-ssm-documents.AwsService.property.LEX_RUNTIME"></a>

```typescript
public readonly LEX_RUNTIME: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `LICENSE_MANAGER`<sup>Required</sup> <a name="LICENSE_MANAGER" id="@cdklabs/cdk-ssm-documents.AwsService.property.LICENSE_MANAGER"></a>

```typescript
public readonly LICENSE_MANAGER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `LICENSE_MANAGER_USER_SUBSCRIPTIONS`<sup>Required</sup> <a name="LICENSE_MANAGER_USER_SUBSCRIPTIONS" id="@cdklabs/cdk-ssm-documents.AwsService.property.LICENSE_MANAGER_USER_SUBSCRIPTIONS"></a>

```typescript
public readonly LICENSE_MANAGER_USER_SUBSCRIPTIONS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `LIGHTSAIL`<sup>Required</sup> <a name="LIGHTSAIL" id="@cdklabs/cdk-ssm-documents.AwsService.property.LIGHTSAIL"></a>

```typescript
public readonly LIGHTSAIL: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `LOCATION`<sup>Required</sup> <a name="LOCATION" id="@cdklabs/cdk-ssm-documents.AwsService.property.LOCATION"></a>

```typescript
public readonly LOCATION: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `LOOKOUT_EQUIPMENT`<sup>Required</sup> <a name="LOOKOUT_EQUIPMENT" id="@cdklabs/cdk-ssm-documents.AwsService.property.LOOKOUT_EQUIPMENT"></a>

```typescript
public readonly LOOKOUT_EQUIPMENT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `LOOKOUT_METRICS`<sup>Required</sup> <a name="LOOKOUT_METRICS" id="@cdklabs/cdk-ssm-documents.AwsService.property.LOOKOUT_METRICS"></a>

```typescript
public readonly LOOKOUT_METRICS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `LOOKOUT_VISION`<sup>Required</sup> <a name="LOOKOUT_VISION" id="@cdklabs/cdk-ssm-documents.AwsService.property.LOOKOUT_VISION"></a>

```typescript
public readonly LOOKOUT_VISION: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `M2`<sup>Required</sup> <a name="M2" id="@cdklabs/cdk-ssm-documents.AwsService.property.M2"></a>

```typescript
public readonly M2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MACHINE_LEARNING`<sup>Required</sup> <a name="MACHINE_LEARNING" id="@cdklabs/cdk-ssm-documents.AwsService.property.MACHINE_LEARNING"></a>

```typescript
public readonly MACHINE_LEARNING: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MACIE`<sup>Required</sup> <a name="MACIE" id="@cdklabs/cdk-ssm-documents.AwsService.property.MACIE"></a>

```typescript
public readonly MACIE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MACIE2`<sup>Required</sup> <a name="MACIE2" id="@cdklabs/cdk-ssm-documents.AwsService.property.MACIE2"></a>

```typescript
public readonly MACIE2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MANAGED_BLOCKCHAIN`<sup>Required</sup> <a name="MANAGED_BLOCKCHAIN" id="@cdklabs/cdk-ssm-documents.AwsService.property.MANAGED_BLOCKCHAIN"></a>

```typescript
public readonly MANAGED_BLOCKCHAIN: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MARKETPLACE_CATALOG`<sup>Required</sup> <a name="MARKETPLACE_CATALOG" id="@cdklabs/cdk-ssm-documents.AwsService.property.MARKETPLACE_CATALOG"></a>

```typescript
public readonly MARKETPLACE_CATALOG: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MARKETPLACE_COMMERCE_ANALYTICS`<sup>Required</sup> <a name="MARKETPLACE_COMMERCE_ANALYTICS" id="@cdklabs/cdk-ssm-documents.AwsService.property.MARKETPLACE_COMMERCE_ANALYTICS"></a>

```typescript
public readonly MARKETPLACE_COMMERCE_ANALYTICS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MEDIA_CONNECT`<sup>Required</sup> <a name="MEDIA_CONNECT" id="@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_CONNECT"></a>

```typescript
public readonly MEDIA_CONNECT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MEDIA_CONVERT`<sup>Required</sup> <a name="MEDIA_CONVERT" id="@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_CONVERT"></a>

```typescript
public readonly MEDIA_CONVERT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MEDIA_LIVE`<sup>Required</sup> <a name="MEDIA_LIVE" id="@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_LIVE"></a>

```typescript
public readonly MEDIA_LIVE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MEDIA_PACKAGE`<sup>Required</sup> <a name="MEDIA_PACKAGE" id="@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_PACKAGE"></a>

```typescript
public readonly MEDIA_PACKAGE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MEDIA_PACKAGE_VOD`<sup>Required</sup> <a name="MEDIA_PACKAGE_VOD" id="@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_PACKAGE_VOD"></a>

```typescript
public readonly MEDIA_PACKAGE_VOD: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MEDIA_STORE`<sup>Required</sup> <a name="MEDIA_STORE" id="@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_STORE"></a>

```typescript
public readonly MEDIA_STORE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MEDIA_STORE_DATA`<sup>Required</sup> <a name="MEDIA_STORE_DATA" id="@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_STORE_DATA"></a>

```typescript
public readonly MEDIA_STORE_DATA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MEDIA_TAILOR`<sup>Required</sup> <a name="MEDIA_TAILOR" id="@cdklabs/cdk-ssm-documents.AwsService.property.MEDIA_TAILOR"></a>

```typescript
public readonly MEDIA_TAILOR: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MEMORY_DB`<sup>Required</sup> <a name="MEMORY_DB" id="@cdklabs/cdk-ssm-documents.AwsService.property.MEMORY_DB"></a>

```typescript
public readonly MEMORY_DB: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MGN`<sup>Required</sup> <a name="MGN" id="@cdklabs/cdk-ssm-documents.AwsService.property.MGN"></a>

```typescript
public readonly MGN: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MIGRATION_HUB_CONFIG`<sup>Required</sup> <a name="MIGRATION_HUB_CONFIG" id="@cdklabs/cdk-ssm-documents.AwsService.property.MIGRATION_HUB_CONFIG"></a>

```typescript
public readonly MIGRATION_HUB_CONFIG: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MIGRATION_HUB_ORCHESTRATOR`<sup>Required</sup> <a name="MIGRATION_HUB_ORCHESTRATOR" id="@cdklabs/cdk-ssm-documents.AwsService.property.MIGRATION_HUB_ORCHESTRATOR"></a>

```typescript
public readonly MIGRATION_HUB_ORCHESTRATOR: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MIGRATION_HUB_REFACTOR_SPACES`<sup>Required</sup> <a name="MIGRATION_HUB_REFACTOR_SPACES" id="@cdklabs/cdk-ssm-documents.AwsService.property.MIGRATION_HUB_REFACTOR_SPACES"></a>

```typescript
public readonly MIGRATION_HUB_REFACTOR_SPACES: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MIGRATION_HUB_STRATEGY`<sup>Required</sup> <a name="MIGRATION_HUB_STRATEGY" id="@cdklabs/cdk-ssm-documents.AwsService.property.MIGRATION_HUB_STRATEGY"></a>

```typescript
public readonly MIGRATION_HUB_STRATEGY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MOBILE`<sup>Required</sup> <a name="MOBILE" id="@cdklabs/cdk-ssm-documents.AwsService.property.MOBILE"></a>

```typescript
public readonly MOBILE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MQ`<sup>Required</sup> <a name="MQ" id="@cdklabs/cdk-ssm-documents.AwsService.property.MQ"></a>

```typescript
public readonly MQ: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MTURK`<sup>Required</sup> <a name="MTURK" id="@cdklabs/cdk-ssm-documents.AwsService.property.MTURK"></a>

```typescript
public readonly MTURK: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `MWAA`<sup>Required</sup> <a name="MWAA" id="@cdklabs/cdk-ssm-documents.AwsService.property.MWAA"></a>

```typescript
public readonly MWAA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `NEPTUNE`<sup>Required</sup> <a name="NEPTUNE" id="@cdklabs/cdk-ssm-documents.AwsService.property.NEPTUNE"></a>

```typescript
public readonly NEPTUNE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `NETWORK_FIREWALL`<sup>Required</sup> <a name="NETWORK_FIREWALL" id="@cdklabs/cdk-ssm-documents.AwsService.property.NETWORK_FIREWALL"></a>

```typescript
public readonly NETWORK_FIREWALL: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `NETWORK_MANAGER`<sup>Required</sup> <a name="NETWORK_MANAGER" id="@cdklabs/cdk-ssm-documents.AwsService.property.NETWORK_MANAGER"></a>

```typescript
public readonly NETWORK_MANAGER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `NIMBLE`<sup>Required</sup> <a name="NIMBLE" id="@cdklabs/cdk-ssm-documents.AwsService.property.NIMBLE"></a>

```typescript
public readonly NIMBLE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `OPEN_SEARCH`<sup>Required</sup> <a name="OPEN_SEARCH" id="@cdklabs/cdk-ssm-documents.AwsService.property.OPEN_SEARCH"></a>

```typescript
public readonly OPEN_SEARCH: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `OPS_WORKS`<sup>Required</sup> <a name="OPS_WORKS" id="@cdklabs/cdk-ssm-documents.AwsService.property.OPS_WORKS"></a>

```typescript
public readonly OPS_WORKS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `OPS_WORKS_C_M`<sup>Required</sup> <a name="OPS_WORKS_C_M" id="@cdklabs/cdk-ssm-documents.AwsService.property.OPS_WORKS_C_M"></a>

```typescript
public readonly OPS_WORKS_C_M: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ORGANIZATIONS`<sup>Required</sup> <a name="ORGANIZATIONS" id="@cdklabs/cdk-ssm-documents.AwsService.property.ORGANIZATIONS"></a>

```typescript
public readonly ORGANIZATIONS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `OUTPOSTS`<sup>Required</sup> <a name="OUTPOSTS" id="@cdklabs/cdk-ssm-documents.AwsService.property.OUTPOSTS"></a>

```typescript
public readonly OUTPOSTS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PANORAMA`<sup>Required</sup> <a name="PANORAMA" id="@cdklabs/cdk-ssm-documents.AwsService.property.PANORAMA"></a>

```typescript
public readonly PANORAMA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PERSONALIZE`<sup>Required</sup> <a name="PERSONALIZE" id="@cdklabs/cdk-ssm-documents.AwsService.property.PERSONALIZE"></a>

```typescript
public readonly PERSONALIZE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PERSONALIZE_EVENTS`<sup>Required</sup> <a name="PERSONALIZE_EVENTS" id="@cdklabs/cdk-ssm-documents.AwsService.property.PERSONALIZE_EVENTS"></a>

```typescript
public readonly PERSONALIZE_EVENTS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PERSONALIZE_RUNTIME`<sup>Required</sup> <a name="PERSONALIZE_RUNTIME" id="@cdklabs/cdk-ssm-documents.AwsService.property.PERSONALIZE_RUNTIME"></a>

```typescript
public readonly PERSONALIZE_RUNTIME: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PI`<sup>Required</sup> <a name="PI" id="@cdklabs/cdk-ssm-documents.AwsService.property.PI"></a>

```typescript
public readonly PI: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PINPOINT`<sup>Required</sup> <a name="PINPOINT" id="@cdklabs/cdk-ssm-documents.AwsService.property.PINPOINT"></a>

```typescript
public readonly PINPOINT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PINPOINT_EMAIL`<sup>Required</sup> <a name="PINPOINT_EMAIL" id="@cdklabs/cdk-ssm-documents.AwsService.property.PINPOINT_EMAIL"></a>

```typescript
public readonly PINPOINT_EMAIL: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PINPOINT_SMS_VOICE`<sup>Required</sup> <a name="PINPOINT_SMS_VOICE" id="@cdklabs/cdk-ssm-documents.AwsService.property.PINPOINT_SMS_VOICE"></a>

```typescript
public readonly PINPOINT_SMS_VOICE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PINPOINT_SMS_VOICE_V2`<sup>Required</sup> <a name="PINPOINT_SMS_VOICE_V2" id="@cdklabs/cdk-ssm-documents.AwsService.property.PINPOINT_SMS_VOICE_V2"></a>

```typescript
public readonly PINPOINT_SMS_VOICE_V2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `POLLY`<sup>Required</sup> <a name="POLLY" id="@cdklabs/cdk-ssm-documents.AwsService.property.POLLY"></a>

```typescript
public readonly POLLY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PRICING`<sup>Required</sup> <a name="PRICING" id="@cdklabs/cdk-ssm-documents.AwsService.property.PRICING"></a>

```typescript
public readonly PRICING: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PRIVATE_NETWORKS`<sup>Required</sup> <a name="PRIVATE_NETWORKS" id="@cdklabs/cdk-ssm-documents.AwsService.property.PRIVATE_NETWORKS"></a>

```typescript
public readonly PRIVATE_NETWORKS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `PROTON`<sup>Required</sup> <a name="PROTON" id="@cdklabs/cdk-ssm-documents.AwsService.property.PROTON"></a>

```typescript
public readonly PROTON: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `QLDB`<sup>Required</sup> <a name="QLDB" id="@cdklabs/cdk-ssm-documents.AwsService.property.QLDB"></a>

```typescript
public readonly QLDB: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `QLDB_SESSION`<sup>Required</sup> <a name="QLDB_SESSION" id="@cdklabs/cdk-ssm-documents.AwsService.property.QLDB_SESSION"></a>

```typescript
public readonly QLDB_SESSION: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `QUICK_SIGHT`<sup>Required</sup> <a name="QUICK_SIGHT" id="@cdklabs/cdk-ssm-documents.AwsService.property.QUICK_SIGHT"></a>

```typescript
public readonly QUICK_SIGHT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `RAM`<sup>Required</sup> <a name="RAM" id="@cdklabs/cdk-ssm-documents.AwsService.property.RAM"></a>

```typescript
public readonly RAM: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `RBIN`<sup>Required</sup> <a name="RBIN" id="@cdklabs/cdk-ssm-documents.AwsService.property.RBIN"></a>

```typescript
public readonly RBIN: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `RDS`<sup>Required</sup> <a name="RDS" id="@cdklabs/cdk-ssm-documents.AwsService.property.RDS"></a>

```typescript
public readonly RDS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `REDSHIFT`<sup>Required</sup> <a name="REDSHIFT" id="@cdklabs/cdk-ssm-documents.AwsService.property.REDSHIFT"></a>

```typescript
public readonly REDSHIFT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `REDSHIFT_DATA`<sup>Required</sup> <a name="REDSHIFT_DATA" id="@cdklabs/cdk-ssm-documents.AwsService.property.REDSHIFT_DATA"></a>

```typescript
public readonly REDSHIFT_DATA: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `REDSHIFT_SERVERLESS`<sup>Required</sup> <a name="REDSHIFT_SERVERLESS" id="@cdklabs/cdk-ssm-documents.AwsService.property.REDSHIFT_SERVERLESS"></a>

```typescript
public readonly REDSHIFT_SERVERLESS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `REKOGNITION`<sup>Required</sup> <a name="REKOGNITION" id="@cdklabs/cdk-ssm-documents.AwsService.property.REKOGNITION"></a>

```typescript
public readonly REKOGNITION: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `RESILIENCEHUB`<sup>Required</sup> <a name="RESILIENCEHUB" id="@cdklabs/cdk-ssm-documents.AwsService.property.RESILIENCEHUB"></a>

```typescript
public readonly RESILIENCEHUB: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `RESOURCE_EXPLORER2`<sup>Required</sup> <a name="RESOURCE_EXPLORER2" id="@cdklabs/cdk-ssm-documents.AwsService.property.RESOURCE_EXPLORER2"></a>

```typescript
public readonly RESOURCE_EXPLORER2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `RESOURCE_GROUPS`<sup>Required</sup> <a name="RESOURCE_GROUPS" id="@cdklabs/cdk-ssm-documents.AwsService.property.RESOURCE_GROUPS"></a>

```typescript
public readonly RESOURCE_GROUPS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `RESOURCE_GROUPS_TAGGING_AP_I`<sup>Required</sup> <a name="RESOURCE_GROUPS_TAGGING_AP_I" id="@cdklabs/cdk-ssm-documents.AwsService.property.RESOURCE_GROUPS_TAGGING_AP_I"></a>

```typescript
public readonly RESOURCE_GROUPS_TAGGING_AP_I: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ROBO_MAKER`<sup>Required</sup> <a name="ROBO_MAKER" id="@cdklabs/cdk-ssm-documents.AwsService.property.ROBO_MAKER"></a>

```typescript
public readonly ROBO_MAKER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ROLES_ANYWHERE`<sup>Required</sup> <a name="ROLES_ANYWHERE" id="@cdklabs/cdk-ssm-documents.AwsService.property.ROLES_ANYWHERE"></a>

```typescript
public readonly ROLES_ANYWHERE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ROUTE53`<sup>Required</sup> <a name="ROUTE53" id="@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53"></a>

```typescript
public readonly ROUTE53: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ROUTE53_DOMAINS`<sup>Required</sup> <a name="ROUTE53_DOMAINS" id="@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53_DOMAINS"></a>

```typescript
public readonly ROUTE53_DOMAINS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ROUTE53_RECOVERY_CLUSTER`<sup>Required</sup> <a name="ROUTE53_RECOVERY_CLUSTER" id="@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53_RECOVERY_CLUSTER"></a>

```typescript
public readonly ROUTE53_RECOVERY_CLUSTER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ROUTE53_RECOVERY_CONTROL_CONFIG`<sup>Required</sup> <a name="ROUTE53_RECOVERY_CONTROL_CONFIG" id="@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53_RECOVERY_CONTROL_CONFIG"></a>

```typescript
public readonly ROUTE53_RECOVERY_CONTROL_CONFIG: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ROUTE53_RECOVERY_READINESS`<sup>Required</sup> <a name="ROUTE53_RECOVERY_READINESS" id="@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53_RECOVERY_READINESS"></a>

```typescript
public readonly ROUTE53_RECOVERY_READINESS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `ROUTE53_RESOLVER`<sup>Required</sup> <a name="ROUTE53_RESOLVER" id="@cdklabs/cdk-ssm-documents.AwsService.property.ROUTE53_RESOLVER"></a>

```typescript
public readonly ROUTE53_RESOLVER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `RUM`<sup>Required</sup> <a name="RUM" id="@cdklabs/cdk-ssm-documents.AwsService.property.RUM"></a>

```typescript
public readonly RUM: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `S3`<sup>Required</sup> <a name="S3" id="@cdklabs/cdk-ssm-documents.AwsService.property.S3"></a>

```typescript
public readonly S3: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `S3_CONTROL`<sup>Required</sup> <a name="S3_CONTROL" id="@cdklabs/cdk-ssm-documents.AwsService.property.S3_CONTROL"></a>

```typescript
public readonly S3_CONTROL: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `S3_OUTPOSTS`<sup>Required</sup> <a name="S3_OUTPOSTS" id="@cdklabs/cdk-ssm-documents.AwsService.property.S3_OUTPOSTS"></a>

```typescript
public readonly S3_OUTPOSTS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SAGE_MAKER`<sup>Required</sup> <a name="SAGE_MAKER" id="@cdklabs/cdk-ssm-documents.AwsService.property.SAGE_MAKER"></a>

```typescript
public readonly SAGE_MAKER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SAGE_MAKER_FEATURE_STORE_RUNTIME`<sup>Required</sup> <a name="SAGE_MAKER_FEATURE_STORE_RUNTIME" id="@cdklabs/cdk-ssm-documents.AwsService.property.SAGE_MAKER_FEATURE_STORE_RUNTIME"></a>

```typescript
public readonly SAGE_MAKER_FEATURE_STORE_RUNTIME: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SAGE_MAKER_RUNTIME`<sup>Required</sup> <a name="SAGE_MAKER_RUNTIME" id="@cdklabs/cdk-ssm-documents.AwsService.property.SAGE_MAKER_RUNTIME"></a>

```typescript
public readonly SAGE_MAKER_RUNTIME: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SAGEMAKER_EDGE`<sup>Required</sup> <a name="SAGEMAKER_EDGE" id="@cdklabs/cdk-ssm-documents.AwsService.property.SAGEMAKER_EDGE"></a>

```typescript
public readonly SAGEMAKER_EDGE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SAVINGS_PLANS`<sup>Required</sup> <a name="SAVINGS_PLANS" id="@cdklabs/cdk-ssm-documents.AwsService.property.SAVINGS_PLANS"></a>

```typescript
public readonly SAVINGS_PLANS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SCHEDULER`<sup>Required</sup> <a name="SCHEDULER" id="@cdklabs/cdk-ssm-documents.AwsService.property.SCHEDULER"></a>

```typescript
public readonly SCHEDULER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SCHEMAS`<sup>Required</sup> <a name="SCHEMAS" id="@cdklabs/cdk-ssm-documents.AwsService.property.SCHEMAS"></a>

```typescript
public readonly SCHEMAS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SECRETS_MANAGER`<sup>Required</sup> <a name="SECRETS_MANAGER" id="@cdklabs/cdk-ssm-documents.AwsService.property.SECRETS_MANAGER"></a>

```typescript
public readonly SECRETS_MANAGER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SECURITY_HUB`<sup>Required</sup> <a name="SECURITY_HUB" id="@cdklabs/cdk-ssm-documents.AwsService.property.SECURITY_HUB"></a>

```typescript
public readonly SECURITY_HUB: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SERVICE_CATALOG`<sup>Required</sup> <a name="SERVICE_CATALOG" id="@cdklabs/cdk-ssm-documents.AwsService.property.SERVICE_CATALOG"></a>

```typescript
public readonly SERVICE_CATALOG: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SERVICE_CATALOG_APP_REGISTRY`<sup>Required</sup> <a name="SERVICE_CATALOG_APP_REGISTRY" id="@cdklabs/cdk-ssm-documents.AwsService.property.SERVICE_CATALOG_APP_REGISTRY"></a>

```typescript
public readonly SERVICE_CATALOG_APP_REGISTRY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SERVICE_DISCOVERY`<sup>Required</sup> <a name="SERVICE_DISCOVERY" id="@cdklabs/cdk-ssm-documents.AwsService.property.SERVICE_DISCOVERY"></a>

```typescript
public readonly SERVICE_DISCOVERY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SERVICE_QUOTAS`<sup>Required</sup> <a name="SERVICE_QUOTAS" id="@cdklabs/cdk-ssm-documents.AwsService.property.SERVICE_QUOTAS"></a>

```typescript
public readonly SERVICE_QUOTAS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SES`<sup>Required</sup> <a name="SES" id="@cdklabs/cdk-ssm-documents.AwsService.property.SES"></a>

```typescript
public readonly SES: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SES_V2`<sup>Required</sup> <a name="SES_V2" id="@cdklabs/cdk-ssm-documents.AwsService.property.SES_V2"></a>

```typescript
public readonly SES_V2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SHIELD`<sup>Required</sup> <a name="SHIELD" id="@cdklabs/cdk-ssm-documents.AwsService.property.SHIELD"></a>

```typescript
public readonly SHIELD: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SIGNER`<sup>Required</sup> <a name="SIGNER" id="@cdklabs/cdk-ssm-documents.AwsService.property.SIGNER"></a>

```typescript
public readonly SIGNER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SMS`<sup>Required</sup> <a name="SMS" id="@cdklabs/cdk-ssm-documents.AwsService.property.SMS"></a>

```typescript
public readonly SMS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SNOW_DEVICE_MANAGEMENT`<sup>Required</sup> <a name="SNOW_DEVICE_MANAGEMENT" id="@cdklabs/cdk-ssm-documents.AwsService.property.SNOW_DEVICE_MANAGEMENT"></a>

```typescript
public readonly SNOW_DEVICE_MANAGEMENT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SNOWBALL`<sup>Required</sup> <a name="SNOWBALL" id="@cdklabs/cdk-ssm-documents.AwsService.property.SNOWBALL"></a>

```typescript
public readonly SNOWBALL: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SNS`<sup>Required</sup> <a name="SNS" id="@cdklabs/cdk-ssm-documents.AwsService.property.SNS"></a>

```typescript
public readonly SNS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SQS`<sup>Required</sup> <a name="SQS" id="@cdklabs/cdk-ssm-documents.AwsService.property.SQS"></a>

```typescript
public readonly SQS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SSM`<sup>Required</sup> <a name="SSM" id="@cdklabs/cdk-ssm-documents.AwsService.property.SSM"></a>

```typescript
public readonly SSM: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SSM_CONTACTS`<sup>Required</sup> <a name="SSM_CONTACTS" id="@cdklabs/cdk-ssm-documents.AwsService.property.SSM_CONTACTS"></a>

```typescript
public readonly SSM_CONTACTS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SSM_INCIDENTS`<sup>Required</sup> <a name="SSM_INCIDENTS" id="@cdklabs/cdk-ssm-documents.AwsService.property.SSM_INCIDENTS"></a>

```typescript
public readonly SSM_INCIDENTS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SSO`<sup>Required</sup> <a name="SSO" id="@cdklabs/cdk-ssm-documents.AwsService.property.SSO"></a>

```typescript
public readonly SSO: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SSO_ADMIN`<sup>Required</sup> <a name="SSO_ADMIN" id="@cdklabs/cdk-ssm-documents.AwsService.property.SSO_ADMIN"></a>

```typescript
public readonly SSO_ADMIN: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SSO_OIDC`<sup>Required</sup> <a name="SSO_OIDC" id="@cdklabs/cdk-ssm-documents.AwsService.property.SSO_OIDC"></a>

```typescript
public readonly SSO_OIDC: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `STEP_FUNCTIONS`<sup>Required</sup> <a name="STEP_FUNCTIONS" id="@cdklabs/cdk-ssm-documents.AwsService.property.STEP_FUNCTIONS"></a>

```typescript
public readonly STEP_FUNCTIONS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `STORAGE_GATEWAY`<sup>Required</sup> <a name="STORAGE_GATEWAY" id="@cdklabs/cdk-ssm-documents.AwsService.property.STORAGE_GATEWAY"></a>

```typescript
public readonly STORAGE_GATEWAY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `STS`<sup>Required</sup> <a name="STS" id="@cdklabs/cdk-ssm-documents.AwsService.property.STS"></a>

```typescript
public readonly STS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SUPPORT`<sup>Required</sup> <a name="SUPPORT" id="@cdklabs/cdk-ssm-documents.AwsService.property.SUPPORT"></a>

```typescript
public readonly SUPPORT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SUPPORT_APP`<sup>Required</sup> <a name="SUPPORT_APP" id="@cdklabs/cdk-ssm-documents.AwsService.property.SUPPORT_APP"></a>

```typescript
public readonly SUPPORT_APP: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SWF`<sup>Required</sup> <a name="SWF" id="@cdklabs/cdk-ssm-documents.AwsService.property.SWF"></a>

```typescript
public readonly SWF: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `SYNTHETICS`<sup>Required</sup> <a name="SYNTHETICS" id="@cdklabs/cdk-ssm-documents.AwsService.property.SYNTHETICS"></a>

```typescript
public readonly SYNTHETICS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `TEXTRACT`<sup>Required</sup> <a name="TEXTRACT" id="@cdklabs/cdk-ssm-documents.AwsService.property.TEXTRACT"></a>

```typescript
public readonly TEXTRACT: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `TIMESTREAM_QUERY`<sup>Required</sup> <a name="TIMESTREAM_QUERY" id="@cdklabs/cdk-ssm-documents.AwsService.property.TIMESTREAM_QUERY"></a>

```typescript
public readonly TIMESTREAM_QUERY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `TIMESTREAM_WRITE`<sup>Required</sup> <a name="TIMESTREAM_WRITE" id="@cdklabs/cdk-ssm-documents.AwsService.property.TIMESTREAM_WRITE"></a>

```typescript
public readonly TIMESTREAM_WRITE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `TRANSFER`<sup>Required</sup> <a name="TRANSFER" id="@cdklabs/cdk-ssm-documents.AwsService.property.TRANSFER"></a>

```typescript
public readonly TRANSFER: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `TRANSLATE`<sup>Required</sup> <a name="TRANSLATE" id="@cdklabs/cdk-ssm-documents.AwsService.property.TRANSLATE"></a>

```typescript
public readonly TRANSLATE: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `VOICE_I_D`<sup>Required</sup> <a name="VOICE_I_D" id="@cdklabs/cdk-ssm-documents.AwsService.property.VOICE_I_D"></a>

```typescript
public readonly VOICE_I_D: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `WAF`<sup>Required</sup> <a name="WAF" id="@cdklabs/cdk-ssm-documents.AwsService.property.WAF"></a>

```typescript
public readonly WAF: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `WAF_REGIONAL`<sup>Required</sup> <a name="WAF_REGIONAL" id="@cdklabs/cdk-ssm-documents.AwsService.property.WAF_REGIONAL"></a>

```typescript
public readonly WAF_REGIONAL: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `WAF_V2`<sup>Required</sup> <a name="WAF_V2" id="@cdklabs/cdk-ssm-documents.AwsService.property.WAF_V2"></a>

```typescript
public readonly WAF_V2: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `WELL_ARCHITECTED`<sup>Required</sup> <a name="WELL_ARCHITECTED" id="@cdklabs/cdk-ssm-documents.AwsService.property.WELL_ARCHITECTED"></a>

```typescript
public readonly WELL_ARCHITECTED: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `WISDOM`<sup>Required</sup> <a name="WISDOM" id="@cdklabs/cdk-ssm-documents.AwsService.property.WISDOM"></a>

```typescript
public readonly WISDOM: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `WORK_DOCS`<sup>Required</sup> <a name="WORK_DOCS" id="@cdklabs/cdk-ssm-documents.AwsService.property.WORK_DOCS"></a>

```typescript
public readonly WORK_DOCS: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `WORK_LINK`<sup>Required</sup> <a name="WORK_LINK" id="@cdklabs/cdk-ssm-documents.AwsService.property.WORK_LINK"></a>

```typescript
public readonly WORK_LINK: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `WORK_MAIL`<sup>Required</sup> <a name="WORK_MAIL" id="@cdklabs/cdk-ssm-documents.AwsService.property.WORK_MAIL"></a>

```typescript
public readonly WORK_MAIL: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `WORK_MAIL_MESSAGE_FLOW`<sup>Required</sup> <a name="WORK_MAIL_MESSAGE_FLOW" id="@cdklabs/cdk-ssm-documents.AwsService.property.WORK_MAIL_MESSAGE_FLOW"></a>

```typescript
public readonly WORK_MAIL_MESSAGE_FLOW: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `WORK_SPACES`<sup>Required</sup> <a name="WORK_SPACES" id="@cdklabs/cdk-ssm-documents.AwsService.property.WORK_SPACES"></a>

```typescript
public readonly WORK_SPACES: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `WORK_SPACES_WEB`<sup>Required</sup> <a name="WORK_SPACES_WEB" id="@cdklabs/cdk-ssm-documents.AwsService.property.WORK_SPACES_WEB"></a>

```typescript
public readonly WORK_SPACES_WEB: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

##### `XRAY`<sup>Required</sup> <a name="XRAY" id="@cdklabs/cdk-ssm-documents.AwsService.property.XRAY"></a>

```typescript
public readonly XRAY: AwsService;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsService">AwsService</a>

---

### BooleanVariable <a name="BooleanVariable" id="@cdklabs/cdk-ssm-documents.BooleanVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

A boolean variable reference.

Used to resolve the value from step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.BooleanVariable.Initializer"></a>

```typescript
import { BooleanVariable } from '@cdklabs/cdk-ssm-documents'

new BooleanVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BooleanVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.BooleanVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BooleanVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BooleanVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BooleanVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BooleanVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BooleanVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BooleanVariable.resolveToBoolean">resolveToBoolean</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.BooleanVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.BooleanVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.BooleanVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.BooleanVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.BooleanVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.BooleanVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToBoolean` <a name="resolveToBoolean" id="@cdklabs/cdk-ssm-documents.BooleanVariable.resolveToBoolean"></a>

```typescript
public resolveToBoolean(inputs: {[ key: string ]: any}): boolean
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.BooleanVariable.resolveToBoolean.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BooleanVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.BooleanVariable.of"></a>

```typescript
import { BooleanVariable } from '@cdklabs/cdk-ssm-documents'

BooleanVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.BooleanVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BooleanVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.BooleanVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---


### BranchSimulation <a name="BranchSimulation" id="@cdklabs/cdk-ssm-documents.BranchSimulation"></a>

AutomationStep implementation of aws:branch https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-branch.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.BranchSimulation.Initializer"></a>

```typescript
import { BranchSimulation } from '@cdklabs/cdk-ssm-documents'

new BranchSimulation(step: BranchStep)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.BranchStep">BranchStep</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.BranchSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.BranchStep">BranchStep</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchSimulation.executeStep">executeStep</a></code> | noop. |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchSimulation.nextStep">nextStep</a></code> | Overrides invoke because control flow of execution is different than standard steps. |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.BranchSimulation.executeStep"></a>

```typescript
public executeStep(_inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

noop.

The logic performed in the branch branchStep happens in the invoke() function.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.BranchSimulation.executeStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.BranchSimulation.nextStep"></a>

```typescript
public nextStep(inputs: {[ key: string ]: any}): AutomationStep
```

Overrides invoke because control flow of execution is different than standard steps.

Will traverse the choices until one evaluated to true; will skip to that choice.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.BranchSimulation.nextStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BranchSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.BranchSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.BranchSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### ChangeInstanceStateSimulation <a name="ChangeInstanceStateSimulation" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation"></a>

AutomationStep implemenation for aws:changeInstanceState https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-changestate.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.Initializer"></a>

```typescript
import { ChangeInstanceStateSimulation } from '@cdklabs/cdk-ssm-documents'

new ChangeInstanceStateSimulation(step: ChangeInstanceStateStep, props: AwsInvocationSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep">ChangeInstanceStateStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep">ChangeInstanceStateStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ChangeInstanceStateSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### Choice <a name="Choice" id="@cdklabs/cdk-ssm-documents.Choice"></a>

Choices are supplied to the BranchStep to determine under which conditions to jump to which steps.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.Choice.Initializer"></a>

```typescript
import { Choice } from '@cdklabs/cdk-ssm-documents'

new Choice(props: ChoiceProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Choice.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ChoiceProps">ChoiceProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Choice.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ChoiceProps">ChoiceProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Choice.asSsmEntry">asSsmEntry</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Choice.evaluate">evaluate</a></code> | Evaluates this choice against the provided inputs. |

---

##### `asSsmEntry` <a name="asSsmEntry" id="@cdklabs/cdk-ssm-documents.Choice.asSsmEntry"></a>

```typescript
public asSsmEntry(): {[ key: string ]: any}
```

##### `evaluate` <a name="evaluate" id="@cdklabs/cdk-ssm-documents.Choice.evaluate"></a>

```typescript
public evaluate(inputs: {[ key: string ]: any}): boolean
```

Evaluates this choice against the provided inputs.

The value keyed on the inputToTest will be tested against the declared constant using the Operation specified.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.Choice.evaluate.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Choice.property.constant">constant</a></code> | <code>any</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Choice.property.jumpToStepName">jumpToStepName</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Choice.property.operation">operation</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Choice.property.variable">variable</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a> \| <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a> \| <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `constant`<sup>Required</sup> <a name="constant" id="@cdklabs/cdk-ssm-documents.Choice.property.constant"></a>

```typescript
public readonly constant: any;
```

- *Type:* any

---

##### `jumpToStepName`<sup>Required</sup> <a name="jumpToStepName" id="@cdklabs/cdk-ssm-documents.Choice.property.jumpToStepName"></a>

```typescript
public readonly jumpToStepName: string;
```

- *Type:* string

---

##### `operation`<sup>Required</sup> <a name="operation" id="@cdklabs/cdk-ssm-documents.Choice.property.operation"></a>

```typescript
public readonly operation: Operation;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a>

---

##### `variable`<sup>Required</sup> <a name="variable" id="@cdklabs/cdk-ssm-documents.Choice.property.variable"></a>

```typescript
public readonly variable: IBooleanVariable | INumberVariable | IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a> | <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a> | <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### CommandDocumentBuilder <a name="CommandDocumentBuilder" id="@cdklabs/cdk-ssm-documents.CommandDocumentBuilder"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CommandDocumentBuilder.Initializer"></a>

```typescript
import { CommandDocumentBuilder } from '@cdklabs/cdk-ssm-documents'

new CommandDocumentBuilder()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder.addStep">addStep</a></code> | *No description.* |

---

##### `addStep` <a name="addStep" id="@cdklabs/cdk-ssm-documents.CommandDocumentBuilder.addStep"></a>

```typescript
public addStep(step: CommandStep): void
```

###### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.CommandDocumentBuilder.addStep.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder.property.steps">steps</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]</code> | *No description.* |

---

##### `steps`<sup>Required</sup> <a name="steps" id="@cdklabs/cdk-ssm-documents.CommandDocumentBuilder.property.steps"></a>

```typescript
public readonly steps: CommandStep[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>[]

---


### CommandSimulation <a name="CommandSimulation" id="@cdklabs/cdk-ssm-documents.CommandSimulation"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CommandSimulation.Initializer"></a>

```typescript
import { CommandSimulation } from '@cdklabs/cdk-ssm-documents'

new CommandSimulation(commandDocument: CommandDocument, props: SimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandSimulation.Initializer.parameter.commandDocument">commandDocument</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandDocument">CommandDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps">SimulationProps</a></code> | *No description.* |

---

##### `commandDocument`<sup>Required</sup> <a name="commandDocument" id="@cdklabs/cdk-ssm-documents.CommandSimulation.Initializer.parameter.commandDocument"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocument">CommandDocument</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CommandSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SimulationProps">SimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandSimulation.start">start</a></code> | *No description.* |

---

##### `start` <a name="start" id="@cdklabs/cdk-ssm-documents.CommandSimulation.start"></a>

```typescript
public start(inputs: {[ key: string ]: any}): SimulationResult
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.CommandSimulation.start.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---




### CommandSimulationBase <a name="CommandSimulationBase" id="@cdklabs/cdk-ssm-documents.CommandSimulationBase"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CommandSimulationBase.Initializer"></a>

```typescript
import { CommandSimulationBase } from '@cdklabs/cdk-ssm-documents'

new CommandSimulationBase()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandSimulationBase.executeStep">executeStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.CommandSimulationBase.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): void
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.CommandSimulationBase.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---




### CommandStepSimulation <a name="CommandStepSimulation" id="@cdklabs/cdk-ssm-documents.CommandStepSimulation"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CommandStepSimulation.Initializer"></a>

```typescript
import { CommandStepSimulation } from '@cdklabs/cdk-ssm-documents'

new CommandStepSimulation(step: CommandStep, props: CommandSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandSimulationProps">CommandSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.CommandStepSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CommandStepSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandSimulationProps">CommandSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepSimulation.invoke">invoke</a></code> | Invokes the current step on the input and will return a SimulationResult. |

---

##### `invoke` <a name="invoke" id="@cdklabs/cdk-ssm-documents.CommandStepSimulation.invoke"></a>

```typescript
public invoke(inputs: {[ key: string ]: any}): SimulationResult
```

Invokes the current step on the input and will return a SimulationResult.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.CommandStepSimulation.invoke.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

must contain all of the inputs declared by the current step.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepSimulation.property.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RequiredCommandSimulationProps">RequiredCommandSimulationProps</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CommandStepSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CommandStepSimulation.property.props"></a>

```typescript
public readonly props: RequiredCommandSimulationProps;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RequiredCommandSimulationProps">RequiredCommandSimulationProps</a>

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.CommandStepSimulation.property.step"></a>

```typescript
public readonly step: CommandStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>

---


### Continue <a name="Continue" id="@cdklabs/cdk-ssm-documents.Continue"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.Continue.Initializer"></a>

```typescript
import { Continue } from '@cdklabs/cdk-ssm-documents'

new Continue()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Continue.stepToInvoke">stepToInvoke</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Continue.toSsmValue">toSsmValue</a></code> | *No description.* |

---

##### `stepToInvoke` <a name="stepToInvoke" id="@cdklabs/cdk-ssm-documents.Continue.stepToInvoke"></a>

```typescript
public stepToInvoke(currentStep: AutomationStep): string
```

###### `currentStep`<sup>Required</sup> <a name="currentStep" id="@cdklabs/cdk-ssm-documents.Continue.stepToInvoke.parameter.currentStep"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `toSsmValue` <a name="toSsmValue" id="@cdklabs/cdk-ssm-documents.Continue.toSsmValue"></a>

```typescript
public toSsmValue(): string
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Continue.abort">abort</a></code> | To abort execution if a failure occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Continue.continue">continue</a></code> | To continue execution of the subsequent step if a failure occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Continue.invokeStep">invokeStep</a></code> | Invoke a specific step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.Continue.invokeStepByName">invokeStepByName</a></code> | Invoke a specific step by the step name for the OnFailure action. |

---

##### `abort` <a name="abort" id="@cdklabs/cdk-ssm-documents.Continue.abort"></a>

```typescript
import { Continue } from '@cdklabs/cdk-ssm-documents'

Continue.abort()
```

To abort execution if a failure occurs during execution of the current step.

(This is the default behavior.)

##### `continue` <a name="continue" id="@cdklabs/cdk-ssm-documents.Continue.continue"></a>

```typescript
import { Continue } from '@cdklabs/cdk-ssm-documents'

Continue.continue()
```

To continue execution of the subsequent step if a failure occurs during execution of the current step.

##### `invokeStep` <a name="invokeStep" id="@cdklabs/cdk-ssm-documents.Continue.invokeStep"></a>

```typescript
import { Continue } from '@cdklabs/cdk-ssm-documents'

Continue.invokeStep(step: AutomationStep)
```

Invoke a specific step.

Provide the step object to execute for the onFailure action.
If you don't have a handle to the step object, use the invokeStepByName function.

###### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.Continue.invokeStep.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `invokeStepByName` <a name="invokeStepByName" id="@cdklabs/cdk-ssm-documents.Continue.invokeStepByName"></a>

```typescript
import { Continue } from '@cdklabs/cdk-ssm-documents'

Continue.invokeStepByName(stepName: string)
```

Invoke a specific step by the step name for the OnFailure action.

###### `stepName`<sup>Required</sup> <a name="stepName" id="@cdklabs/cdk-ssm-documents.Continue.invokeStepByName.parameter.stepName"></a>

- *Type:* string

---



### CopyImageSimulation <a name="CopyImageSimulation" id="@cdklabs/cdk-ssm-documents.CopyImageSimulation"></a>

AutomationStep implemenation for aws:copyImage https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-copyimage.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CopyImageSimulation.Initializer"></a>

```typescript
import { CopyImageSimulation } from '@cdklabs/cdk-ssm-documents'

new CopyImageSimulation(step: CopyImageStep, props: AwsInvocationSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageStep">CopyImageStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.CopyImageSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CopyImageStep">CopyImageStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CopyImageSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.CopyImageSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.CopyImageSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.CopyImageSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.CopyImageSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CopyImageSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.CopyImageSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.CopyImageSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### CreateImageSimulation <a name="CreateImageSimulation" id="@cdklabs/cdk-ssm-documents.CreateImageSimulation"></a>

AutomationStep implemenation for aws:createImage https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-create.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CreateImageSimulation.Initializer"></a>

```typescript
import { CreateImageSimulation } from '@cdklabs/cdk-ssm-documents'

new CreateImageSimulation(step: CreateImageStep, props: AwsInvocationSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageStep">CreateImageStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.CreateImageSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CreateImageStep">CreateImageStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CreateImageSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.CreateImageSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.CreateImageSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.CreateImageSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.CreateImageSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateImageSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.CreateImageSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.CreateImageSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### CreateStackSimulation <a name="CreateStackSimulation" id="@cdklabs/cdk-ssm-documents.CreateStackSimulation"></a>

AutomationStep implementation for aws:createStack https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-createstack.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CreateStackSimulation.Initializer"></a>

```typescript
import { CreateStackSimulation } from '@cdklabs/cdk-ssm-documents'

new CreateStackSimulation(step: CreateStackStep, props: CreateStackSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackStep">CreateStackStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackSimulationProps">CreateStackSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.CreateStackSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CreateStackStep">CreateStackStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CreateStackSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CreateStackSimulationProps">CreateStackSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.CreateStackSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.CreateStackSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.CreateStackSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.CreateStackSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateStackSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.CreateStackSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.CreateStackSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### CreateTagsSimulation <a name="CreateTagsSimulation" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulation"></a>

AutomationStep implemenation for aws:createTags https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-createtag.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulation.Initializer"></a>

```typescript
import { CreateTagsSimulation } from '@cdklabs/cdk-ssm-documents'

new CreateTagsSimulation(step: CreateTagsStep, props: CreateTagsSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep">CreateTagsStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsSimulationProps">CreateTagsSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep">CreateTagsStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CreateTagsSimulationProps">CreateTagsSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.CreateTagsSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.CreateTagsSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### DataType <a name="DataType" id="@cdklabs/cdk-ssm-documents.DataType"></a>

JSII does not allow functions or constants declared in an enum class directly.

Therefore, interaction with DataTypeEnum happens through this class.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.DataType.Initializer"></a>

```typescript
import { DataType } from '@cdklabs/cdk-ssm-documents'

new DataType(dataTypeEnum: DataTypeEnum)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DataType.Initializer.parameter.dataTypeEnum">dataTypeEnum</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a></code> | *No description.* |

---

##### `dataTypeEnum`<sup>Required</sup> <a name="dataTypeEnum" id="@cdklabs/cdk-ssm-documents.DataType.Initializer.parameter.dataTypeEnum"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DataType.toSsmString">toSsmString</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DataType.validateType">validateType</a></code> | *No description.* |

---

##### `toSsmString` <a name="toSsmString" id="@cdklabs/cdk-ssm-documents.DataType.toSsmString"></a>

```typescript
public toSsmString(): string
```

##### `validateType` <a name="validateType" id="@cdklabs/cdk-ssm-documents.DataType.validateType"></a>

```typescript
public validateType(val: any): boolean
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.DataType.validateType.parameter.val"></a>

- *Type:* any

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DataType.fromDataType">fromDataType</a></code> | *No description.* |

---

##### `fromDataType` <a name="fromDataType" id="@cdklabs/cdk-ssm-documents.DataType.fromDataType"></a>

```typescript
import { DataType } from '@cdklabs/cdk-ssm-documents'

DataType.fromDataType(ssmDataType: string)
```

###### `ssmDataType`<sup>Required</sup> <a name="ssmDataType" id="@cdklabs/cdk-ssm-documents.DataType.fromDataType.parameter.ssmDataType"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DataType.property.dataTypeEnum">dataTypeEnum</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a></code> | *No description.* |

---

##### `dataTypeEnum`<sup>Required</sup> <a name="dataTypeEnum" id="@cdklabs/cdk-ssm-documents.DataType.property.dataTypeEnum"></a>

```typescript
public readonly dataTypeEnum: DataTypeEnum;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a>

---


### DeleteImageSimulation <a name="DeleteImageSimulation" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulation"></a>

AutomationStep implementation for aws:deleteImage https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-delete.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulation.Initializer"></a>

```typescript
import { DeleteImageSimulation } from '@cdklabs/cdk-ssm-documents'

new DeleteImageSimulation(step: DeleteImageStep, props: DeleteImageSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep">DeleteImageStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageSimulationProps">DeleteImageSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep">DeleteImageStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DeleteImageSimulationProps">DeleteImageSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteImageSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.DeleteImageSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### DeleteStackSimulation <a name="DeleteStackSimulation" id="@cdklabs/cdk-ssm-documents.DeleteStackSimulation"></a>

AutomationStep implemenation for aws:deleteStack https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-deletestack.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.DeleteStackSimulation.Initializer"></a>

```typescript
import { DeleteStackSimulation } from '@cdklabs/cdk-ssm-documents'

new DeleteStackSimulation(step: DeleteStackStep, props: AwsInvocationSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep">DeleteStackStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.DeleteStackSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep">DeleteStackStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.DeleteStackSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.DeleteStackSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.DeleteStackSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.DeleteStackSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.DeleteStackSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DeleteStackSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.DeleteStackSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.DeleteStackSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### DesiredStateVariable <a name="DesiredStateVariable" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IDesiredStateVariable">IDesiredStateVariable</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.Initializer"></a>

```typescript
import { DesiredStateVariable } from '@cdklabs/cdk-ssm-documents'

new DesiredStateVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.of"></a>

```typescript
import { DesiredStateVariable } from '@cdklabs/cdk-ssm-documents'

DesiredStateVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable.property.validValues">validValues</a></code> | <code>string[]</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---

##### `validValues`<sup>Required</sup> <a name="validValues" id="@cdklabs/cdk-ssm-documents.DesiredStateVariable.property.validValues"></a>

```typescript
public readonly validValues: string[];
```

- *Type:* string[]

---


### DictFormat <a name="DictFormat" id="@cdklabs/cdk-ssm-documents.DictFormat"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.DictFormat.Initializer"></a>

```typescript
import { DictFormat } from '@cdklabs/cdk-ssm-documents'

new DictFormat(format: {[ key: string ]: any})
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DictFormat.Initializer.parameter.format">format</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |

---

##### `format`<sup>Required</sup> <a name="format" id="@cdklabs/cdk-ssm-documents.DictFormat.Initializer.parameter.format"></a>

- *Type:* {[ key: string ]: any}

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DictFormat.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DictFormat.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DictFormat.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DictFormat.resolveToDict">resolveToDict</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DictFormat.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DictFormat.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.DictFormat.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.DictFormat.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.DictFormat.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.DictFormat.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `resolveToDict` <a name="resolveToDict" id="@cdklabs/cdk-ssm-documents.DictFormat.resolveToDict"></a>

```typescript
public resolveToDict(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.DictFormat.resolveToDict.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.DictFormat.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.DictFormat.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.DictFormat.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DictFormat.property.format">format</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |

---

##### `format`<sup>Required</sup> <a name="format" id="@cdklabs/cdk-ssm-documents.DictFormat.property.format"></a>

```typescript
public readonly format: {[ key: string ]: any};
```

- *Type:* {[ key: string ]: any}

---


### DockerEnvironment <a name="DockerEnvironment" id="@cdklabs/cdk-ssm-documents.DockerEnvironment"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a>

Provides a Docker client against which customers can execute their commands.

This utility will not download docker images, rather will create containers from images provided.
You can use this rather than running your run commands against a real EC2 machine.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DockerEnvironment.removeContainer">removeContainer</a></code> | Force removes the container associated with this instance. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DockerEnvironment.run">run</a></code> | Runs commands against the docker specified during construction. |

---

##### `removeContainer` <a name="removeContainer" id="@cdklabs/cdk-ssm-documents.DockerEnvironment.removeContainer"></a>

```typescript
public removeContainer(): void
```

Force removes the container associated with this instance.

##### `run` <a name="run" id="@cdklabs/cdk-ssm-documents.DockerEnvironment.run"></a>

```typescript
public run(command: string): string
```

Runs commands against the docker specified during construction.

This function runs synchronously.

###### `command`<sup>Required</sup> <a name="command" id="@cdklabs/cdk-ssm-documents.DockerEnvironment.run.parameter.command"></a>

- *Type:* string

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DockerEnvironment.fromContainer">fromContainer</a></code> | Use an existing container against which to run commands using the run function. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DockerEnvironment.fromImage">fromImage</a></code> | Create a container from the provided image. |

---

##### `fromContainer` <a name="fromContainer" id="@cdklabs/cdk-ssm-documents.DockerEnvironment.fromContainer"></a>

```typescript
import { DockerEnvironment } from '@cdklabs/cdk-ssm-documents'

DockerEnvironment.fromContainer(containerId: string)
```

Use an existing container against which to run commands using the run function.

###### `containerId`<sup>Required</sup> <a name="containerId" id="@cdklabs/cdk-ssm-documents.DockerEnvironment.fromContainer.parameter.containerId"></a>

- *Type:* string

---

##### `fromImage` <a name="fromImage" id="@cdklabs/cdk-ssm-documents.DockerEnvironment.fromImage"></a>

```typescript
import { DockerEnvironment } from '@cdklabs/cdk-ssm-documents'

DockerEnvironment.fromImage(image: string)
```

Create a container from the provided image.

The container created will be used by this instance to run commands using the run function.

###### `image`<sup>Required</sup> <a name="image" id="@cdklabs/cdk-ssm-documents.DockerEnvironment.fromImage.parameter.image"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DockerEnvironment.property.containerId">containerId</a></code> | <code>string</code> | *No description.* |

---

##### `containerId`<sup>Required</sup> <a name="containerId" id="@cdklabs/cdk-ssm-documents.DockerEnvironment.property.containerId"></a>

```typescript
public readonly containerId: string;
```

- *Type:* string

---


### DocumentHashTypeVariable <a name="DocumentHashTypeVariable" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IDocumentHashTypeVariable">IDocumentHashTypeVariable</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.Initializer"></a>

```typescript
import { DocumentHashTypeVariable } from '@cdklabs/cdk-ssm-documents'

new DocumentHashTypeVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.of"></a>

```typescript
import { DocumentHashTypeVariable } from '@cdklabs/cdk-ssm-documents'

DocumentHashTypeVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.property.validValues">validValues</a></code> | <code>string[]</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---

##### `validValues`<sup>Required</sup> <a name="validValues" id="@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable.property.validValues"></a>

```typescript
public readonly validValues: string[];
```

- *Type:* string[]

---


### DocumentSource <a name="DocumentSource" id="@cdklabs/cdk-ssm-documents.DocumentSource"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.DocumentSource.Initializer"></a>

```typescript
import { DocumentSource } from '@cdklabs/cdk-ssm-documents'

new DocumentSource()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentSource.formatRequest">formatRequest</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentSource.requiredInputs">requiredInputs</a></code> | *No description.* |

---

##### `formatRequest` <a name="formatRequest" id="@cdklabs/cdk-ssm-documents.DocumentSource.formatRequest"></a>

```typescript
public formatRequest(): {[ key: string ]: any}
```

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.DocumentSource.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentSource.fromArn">fromArn</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentSource.fromName">fromName</a></code> | *No description.* |

---

##### `fromArn` <a name="fromArn" id="@cdklabs/cdk-ssm-documents.DocumentSource.fromArn"></a>

```typescript
import { DocumentSource } from '@cdklabs/cdk-ssm-documents'

DocumentSource.fromArn(arn: IStringVariable)
```

###### `arn`<sup>Required</sup> <a name="arn" id="@cdklabs/cdk-ssm-documents.DocumentSource.fromArn.parameter.arn"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `fromName` <a name="fromName" id="@cdklabs/cdk-ssm-documents.DocumentSource.fromName"></a>

```typescript
import { DocumentSource } from '@cdklabs/cdk-ssm-documents'

DocumentSource.fromName(name: IStringVariable, version?: IStringVariable)
```

###### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.DocumentSource.fromName.parameter.name"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

###### `version`<sup>Optional</sup> <a name="version" id="@cdklabs/cdk-ssm-documents.DocumentSource.fromName.parameter.version"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---



### ExecuteScriptSimulation <a name="ExecuteScriptSimulation" id="@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation"></a>

AutomationStep implementation for aws:executeScript https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.Initializer"></a>

```typescript
import { ExecuteScriptSimulation } from '@cdklabs/cdk-ssm-documents'

new ExecuteScriptSimulation(step: ExecuteScriptStep)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep">ExecuteScriptStep</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep">ExecuteScriptStep</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.executeStep">executeStep</a></code> | Runs the simulation. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

Runs the simulation.

Nests returned object into a "Payload" key to mimic SSM behavior.
Switch by language and execute code based on specified language.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.property.executeScriptStep">executeScriptStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep">ExecuteScriptStep</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `executeScriptStep`<sup>Required</sup> <a name="executeScriptStep" id="@cdklabs/cdk-ssm-documents.ExecuteScriptSimulation.property.executeScriptStep"></a>

```typescript
public readonly executeScriptStep: ExecuteScriptStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep">ExecuteScriptStep</a>

---


### ExecuteStateMachineSimulation <a name="ExecuteStateMachineSimulation" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation"></a>

AutomationStep implementation of [aws:executeStateMachine](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeStateMachine.html).

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.Initializer"></a>

```typescript
import { ExecuteStateMachineSimulation } from '@cdklabs/cdk-ssm-documents'

new ExecuteStateMachineSimulation(step: ExecuteStateMachineStep, props: AwsInvocationSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep">ExecuteStateMachineStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep">ExecuteStateMachineStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.property.executeStateMachineStep">executeStateMachineStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep">ExecuteStateMachineStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.property.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `executeStateMachineStep`<sup>Required</sup> <a name="executeStateMachineStep" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.property.executeStateMachineStep"></a>

```typescript
public readonly executeStateMachineStep: ExecuteStateMachineStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep">ExecuteStateMachineStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.ExecuteStateMachineSimulation.property.props"></a>

```typescript
public readonly props: AwsInvocationSimulationProps;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a>

---


### FileScriptCode <a name="FileScriptCode" id="@cdklabs/cdk-ssm-documents.FileScriptCode"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.FileScriptCode.Initializer"></a>

```typescript
import { FileScriptCode } from '@cdklabs/cdk-ssm-documents'

new FileScriptCode(fullPath: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.FileScriptCode.Initializer.parameter.fullPath">fullPath</a></code> | <code>string</code> | *No description.* |

---

##### `fullPath`<sup>Required</sup> <a name="fullPath" id="@cdklabs/cdk-ssm-documents.FileScriptCode.Initializer.parameter.fullPath"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.FileScriptCode.codeAsString">codeAsString</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.FileScriptCode.createOrGetFile">createOrGetFile</a></code> | If there is a file for this code, return it. |

---

##### `codeAsString` <a name="codeAsString" id="@cdklabs/cdk-ssm-documents.FileScriptCode.codeAsString"></a>

```typescript
public codeAsString(): string
```

##### `createOrGetFile` <a name="createOrGetFile" id="@cdklabs/cdk-ssm-documents.FileScriptCode.createOrGetFile"></a>

```typescript
public createOrGetFile(_suffix: string): string
```

If there is a file for this code, return it.

Otherwise, create a file with the specified suffix.

###### `_suffix`<sup>Required</sup> <a name="_suffix" id="@cdklabs/cdk-ssm-documents.FileScriptCode.createOrGetFile.parameter._suffix"></a>

- *Type:* string

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.FileScriptCode.fromFile">fromFile</a></code> | Full path to the code to execute. |
| <code><a href="#@cdklabs/cdk-ssm-documents.FileScriptCode.inline">inline</a></code> | Inline code to be executed. |

---

##### `fromFile` <a name="fromFile" id="@cdklabs/cdk-ssm-documents.FileScriptCode.fromFile"></a>

```typescript
import { FileScriptCode } from '@cdklabs/cdk-ssm-documents'

FileScriptCode.fromFile(fullPath: string)
```

Full path to the code to execute.

File is parsed to produce yaml/json.
Simulation will execute this file using the language specified.
(Attachments not yet supported)

###### `fullPath`<sup>Required</sup> <a name="fullPath" id="@cdklabs/cdk-ssm-documents.FileScriptCode.fromFile.parameter.fullPath"></a>

- *Type:* string

---

##### `inline` <a name="inline" id="@cdklabs/cdk-ssm-documents.FileScriptCode.inline"></a>

```typescript
import { FileScriptCode } from '@cdklabs/cdk-ssm-documents'

FileScriptCode.inline(code: string)
```

Inline code to be executed.

String will be used to produce function in yaml/json.
Simulation will execute the function in this string using the language specified.

###### `code`<sup>Required</sup> <a name="code" id="@cdklabs/cdk-ssm-documents.FileScriptCode.inline.parameter.code"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.FileScriptCode.property.fullPath">fullPath</a></code> | <code>string</code> | *No description.* |

---

##### `fullPath`<sup>Required</sup> <a name="fullPath" id="@cdklabs/cdk-ssm-documents.FileScriptCode.property.fullPath"></a>

```typescript
public readonly fullPath: string;
```

- *Type:* string

---


### GenericVariable <a name="GenericVariable" id="@cdklabs/cdk-ssm-documents.GenericVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

Abstraction of SSM variables.

Variables are printed as using this syntax: {{ myVariable }}
To resolve a variable, you must supply the available inputs and the variable will resolve the value.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.GenericVariable.Initializer"></a>

```typescript
import { GenericVariable } from '@cdklabs/cdk-ssm-documents'

new GenericVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.GenericVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.GenericVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.GenericVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GenericVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GenericVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GenericVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.GenericVariable.toString">toString</a></code> | Returns a string representation of an object. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.GenericVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.GenericVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.GenericVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.GenericVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.GenericVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.GenericVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.GenericVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.GenericVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---


### GitContent <a name="GitContent" id="@cdklabs/cdk-ssm-documents.GitContent"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent">IDownloadableContent</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.GitContent.Initializer"></a>

```typescript
import { GitContent } from '@cdklabs/cdk-ssm-documents'

new GitContent(props: GitContentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContent.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.GitContentProps">GitContentProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.GitContent.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.GitContentProps">GitContentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContent.formatSourceInfo">formatSourceInfo</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContent.requiredInputs">requiredInputs</a></code> | *No description.* |

---

##### `formatSourceInfo` <a name="formatSourceInfo" id="@cdklabs/cdk-ssm-documents.GitContent.formatSourceInfo"></a>

```typescript
public formatSourceInfo(): {[ key: string ]: any}
```

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.GitContent.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContent.property.repository">repository</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContent.property.sourceType">sourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContent.property.branch">branch</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContent.property.commitId">commitId</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContent.property.password">password</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContent.property.privateSshKey">privateSshKey</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContent.property.skipHostKeyChecking">skipHostKeyChecking</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitContent.property.userName">userName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | *No description.* |

---

##### `repository`<sup>Required</sup> <a name="repository" id="@cdklabs/cdk-ssm-documents.GitContent.property.repository"></a>

```typescript
public readonly repository: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `sourceType`<sup>Required</sup> <a name="sourceType" id="@cdklabs/cdk-ssm-documents.GitContent.property.sourceType"></a>

```typescript
public readonly sourceType: string;
```

- *Type:* string

---

##### `branch`<sup>Optional</sup> <a name="branch" id="@cdklabs/cdk-ssm-documents.GitContent.property.branch"></a>

```typescript
public readonly branch: string;
```

- *Type:* string

---

##### `commitId`<sup>Optional</sup> <a name="commitId" id="@cdklabs/cdk-ssm-documents.GitContent.property.commitId"></a>

```typescript
public readonly commitId: string;
```

- *Type:* string

---

##### `password`<sup>Optional</sup> <a name="password" id="@cdklabs/cdk-ssm-documents.GitContent.property.password"></a>

```typescript
public readonly password: SecureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

##### `privateSshKey`<sup>Optional</sup> <a name="privateSshKey" id="@cdklabs/cdk-ssm-documents.GitContent.property.privateSshKey"></a>

```typescript
public readonly privateSshKey: SecureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

##### `skipHostKeyChecking`<sup>Optional</sup> <a name="skipHostKeyChecking" id="@cdklabs/cdk-ssm-documents.GitContent.property.skipHostKeyChecking"></a>

```typescript
public readonly skipHostKeyChecking: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

---

##### `userName`<sup>Optional</sup> <a name="userName" id="@cdklabs/cdk-ssm-documents.GitContent.property.userName"></a>

```typescript
public readonly userName: SecureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---


### GitHubContent <a name="GitHubContent" id="@cdklabs/cdk-ssm-documents.GitHubContent"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent">IDownloadableContent</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.GitHubContent.Initializer"></a>

```typescript
import { GitHubContent } from '@cdklabs/cdk-ssm-documents'

new GitHubContent(props: GitHubContentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContent.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContentProps">GitHubContentProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.GitHubContent.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.GitHubContentProps">GitHubContentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContent.formatSourceInfo">formatSourceInfo</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContent.requiredInputs">requiredInputs</a></code> | *No description.* |

---

##### `formatSourceInfo` <a name="formatSourceInfo" id="@cdklabs/cdk-ssm-documents.GitHubContent.formatSourceInfo"></a>

```typescript
public formatSourceInfo(): {[ key: string ]: any}
```

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.GitHubContent.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContent.property.owner">owner</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContent.property.path">path</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContent.property.repository">repository</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContent.property.sourceType">sourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContent.property.tokenInfo">tokenInfo</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContent.property.branch">branch</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.GitHubContent.property.commitId">commitId</a></code> | <code>string</code> | *No description.* |

---

##### `owner`<sup>Required</sup> <a name="owner" id="@cdklabs/cdk-ssm-documents.GitHubContent.property.owner"></a>

```typescript
public readonly owner: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `path`<sup>Required</sup> <a name="path" id="@cdklabs/cdk-ssm-documents.GitHubContent.property.path"></a>

```typescript
public readonly path: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `repository`<sup>Required</sup> <a name="repository" id="@cdklabs/cdk-ssm-documents.GitHubContent.property.repository"></a>

```typescript
public readonly repository: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `sourceType`<sup>Required</sup> <a name="sourceType" id="@cdklabs/cdk-ssm-documents.GitHubContent.property.sourceType"></a>

```typescript
public readonly sourceType: string;
```

- *Type:* string

---

##### `tokenInfo`<sup>Required</sup> <a name="tokenInfo" id="@cdklabs/cdk-ssm-documents.GitHubContent.property.tokenInfo"></a>

```typescript
public readonly tokenInfo: SecureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

##### `branch`<sup>Optional</sup> <a name="branch" id="@cdklabs/cdk-ssm-documents.GitHubContent.property.branch"></a>

```typescript
public readonly branch: string;
```

- *Type:* string

---

##### `commitId`<sup>Optional</sup> <a name="commitId" id="@cdklabs/cdk-ssm-documents.GitHubContent.property.commitId"></a>

```typescript
public readonly commitId: string;
```

- *Type:* string

---


### HardCodedAction <a name="HardCodedAction" id="@cdklabs/cdk-ssm-documents.HardCodedAction"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedAction.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedAction.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedAction.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedAction.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedAction.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedAction.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.HardCodedAction.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedAction.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedAction.of"></a>

```typescript
import { HardCodedAction } from '@cdklabs/cdk-ssm-documents'

HardCodedAction.of(val: string)
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedAction.of.parameter.val"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedAction.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction.property.INSTALL">INSTALL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction">HardCodedAction</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction.property.UNINSTALL">UNINSTALL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedAction">HardCodedAction</a></code> | *No description.* |

---

##### `INSTALL`<sup>Required</sup> <a name="INSTALL" id="@cdklabs/cdk-ssm-documents.HardCodedAction.property.INSTALL"></a>

```typescript
public readonly INSTALL: HardCodedAction;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedAction">HardCodedAction</a>

---

##### `UNINSTALL`<sup>Required</sup> <a name="UNINSTALL" id="@cdklabs/cdk-ssm-documents.HardCodedAction.property.UNINSTALL"></a>

```typescript
public readonly UNINSTALL: HardCodedAction;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedAction">HardCodedAction</a>

---

### HardCodedBoolean <a name="HardCodedBoolean" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

A hard-coded boolean variable.

Used when not dependent on step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.Initializer"></a>

```typescript
import { HardCodedBoolean } from '@cdklabs/cdk-ssm-documents'

new HardCodedBoolean(val: any)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean.Initializer.parameter.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.Initializer.parameter.val"></a>

- *Type:* any

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean.resolveToBoolean">resolveToBoolean</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToBoolean` <a name="resolveToBoolean" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.resolveToBoolean"></a>

```typescript
public resolveToBoolean(inputs: {[ key: string ]: any}): boolean
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.resolveToBoolean.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean.property.FALSE">FALSE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean">HardCodedBoolean</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean.property.TRUE">TRUE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean">HardCodedBoolean</a></code> | *No description.* |

---

##### `FALSE`<sup>Required</sup> <a name="FALSE" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.property.FALSE"></a>

```typescript
public readonly FALSE: HardCodedBoolean;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean">HardCodedBoolean</a>

---

##### `TRUE`<sup>Required</sup> <a name="TRUE" id="@cdklabs/cdk-ssm-documents.HardCodedBoolean.property.TRUE"></a>

```typescript
public readonly TRUE: HardCodedBoolean;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean">HardCodedBoolean</a>

---

### HardCodedDesiredState <a name="HardCodedDesiredState" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IDesiredStateVariable">IDesiredStateVariable</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.of"></a>

```typescript
import { HardCodedDesiredState } from '@cdklabs/cdk-ssm-documents'

HardCodedDesiredState.of(val: string)
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.of.parameter.val"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState.property.RUNNING">RUNNING</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState">HardCodedDesiredState</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState.property.STOPPED">STOPPED</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState">HardCodedDesiredState</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState.property.TERMINATED">TERMINATED</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState">HardCodedDesiredState</a></code> | *No description.* |

---

##### `RUNNING`<sup>Required</sup> <a name="RUNNING" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.property.RUNNING"></a>

```typescript
public readonly RUNNING: HardCodedDesiredState;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState">HardCodedDesiredState</a>

---

##### `STOPPED`<sup>Required</sup> <a name="STOPPED" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.property.STOPPED"></a>

```typescript
public readonly STOPPED: HardCodedDesiredState;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState">HardCodedDesiredState</a>

---

##### `TERMINATED`<sup>Required</sup> <a name="TERMINATED" id="@cdklabs/cdk-ssm-documents.HardCodedDesiredState.property.TERMINATED"></a>

```typescript
public readonly TERMINATED: HardCodedDesiredState;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState">HardCodedDesiredState</a>

---

### HardCodedDocumentHashType <a name="HardCodedDocumentHashType" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IDocumentHashTypeVariable">IDocumentHashTypeVariable</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.of"></a>

```typescript
import { HardCodedDocumentHashType } from '@cdklabs/cdk-ssm-documents'

HardCodedDocumentHashType.of(val: string)
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.of.parameter.val"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.property.SHA1">SHA1</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType">HardCodedDocumentHashType</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.property.SHA256">SHA256</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType">HardCodedDocumentHashType</a></code> | *No description.* |

---

##### `SHA1`<sup>Required</sup> <a name="SHA1" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.property.SHA1"></a>

```typescript
public readonly SHA1: HardCodedDocumentHashType;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType">HardCodedDocumentHashType</a>

---

##### `SHA256`<sup>Required</sup> <a name="SHA256" id="@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType.property.SHA256"></a>

```typescript
public readonly SHA256: HardCodedDocumentHashType;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType">HardCodedDocumentHashType</a>

---

### HardCodedInstallationType <a name="HardCodedInstallationType" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IInstallationTypeVariable">IInstallationTypeVariable</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.of"></a>

```typescript
import { HardCodedInstallationType } from '@cdklabs/cdk-ssm-documents'

HardCodedInstallationType.of(val: string)
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.of.parameter.val"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType.property.IN_PLACE_UPDATE">IN_PLACE_UPDATE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType">HardCodedInstallationType</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType.property.UNINSTALL_AND_REINSTALL">UNINSTALL_AND_REINSTALL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType">HardCodedInstallationType</a></code> | *No description.* |

---

##### `IN_PLACE_UPDATE`<sup>Required</sup> <a name="IN_PLACE_UPDATE" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.property.IN_PLACE_UPDATE"></a>

```typescript
public readonly IN_PLACE_UPDATE: HardCodedInstallationType;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType">HardCodedInstallationType</a>

---

##### `UNINSTALL_AND_REINSTALL`<sup>Required</sup> <a name="UNINSTALL_AND_REINSTALL" id="@cdklabs/cdk-ssm-documents.HardCodedInstallationType.property.UNINSTALL_AND_REINSTALL"></a>

```typescript
public readonly UNINSTALL_AND_REINSTALL: HardCodedInstallationType;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType">HardCodedInstallationType</a>

---

### HardCodedInstallUninstallRepair <a name="HardCodedInstallUninstallRepair" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IInstallUninstallRepairVariable">IInstallUninstallRepairVariable</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.of"></a>

```typescript
import { HardCodedInstallUninstallRepair } from '@cdklabs/cdk-ssm-documents'

HardCodedInstallUninstallRepair.of(val: string)
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.of.parameter.val"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.property.INSTALL">INSTALL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair">HardCodedInstallUninstallRepair</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.property.REPAIR">REPAIR</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair">HardCodedInstallUninstallRepair</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.property.UNINSTALL">UNINSTALL</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair">HardCodedInstallUninstallRepair</a></code> | *No description.* |

---

##### `INSTALL`<sup>Required</sup> <a name="INSTALL" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.property.INSTALL"></a>

```typescript
public readonly INSTALL: HardCodedInstallUninstallRepair;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair">HardCodedInstallUninstallRepair</a>

---

##### `REPAIR`<sup>Required</sup> <a name="REPAIR" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.property.REPAIR"></a>

```typescript
public readonly REPAIR: HardCodedInstallUninstallRepair;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair">HardCodedInstallUninstallRepair</a>

---

##### `UNINSTALL`<sup>Required</sup> <a name="UNINSTALL" id="@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair.property.UNINSTALL"></a>

```typescript
public readonly UNINSTALL: HardCodedInstallUninstallRepair;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair">HardCodedInstallUninstallRepair</a>

---

### HardCodedMapList <a name="HardCodedMapList" id="@cdklabs/cdk-ssm-documents.HardCodedMapList"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

A hard-coded map list variable.

Used when not dependent on step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.Initializer"></a>

```typescript
import { HardCodedMapList } from '@cdklabs/cdk-ssm-documents'

new HardCodedMapList(val: any)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedMapList.Initializer.parameter.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.Initializer.parameter.val"></a>

- *Type:* any

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedMapList.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedMapList.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedMapList.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedMapList.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedMapList.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedMapList.resolveToMapList">resolveToMapList</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToMapList` <a name="resolveToMapList" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.resolveToMapList"></a>

```typescript
public resolveToMapList(inputs: {[ key: string ]: any}): {[ key: string ]: any}[]
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.resolveToMapList.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedMapList.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.of"></a>

```typescript
import { HardCodedMapList } from '@cdklabs/cdk-ssm-documents'

HardCodedMapList.of(val: {[ key: string ]: any}[])
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.of.parameter.val"></a>

- *Type:* {[ key: string ]: any}[]

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedMapList.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedMapList.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---


### HardCodedNumber <a name="HardCodedNumber" id="@cdklabs/cdk-ssm-documents.HardCodedNumber"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

A hard-coded number variable.

Used when not dependent on step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.Initializer"></a>

```typescript
import { HardCodedNumber } from '@cdklabs/cdk-ssm-documents'

new HardCodedNumber(val: any)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedNumber.Initializer.parameter.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.Initializer.parameter.val"></a>

- *Type:* any

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedNumber.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedNumber.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedNumber.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedNumber.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedNumber.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedNumber.resolveToNumber">resolveToNumber</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToNumber` <a name="resolveToNumber" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.resolveToNumber"></a>

```typescript
public resolveToNumber(inputs: {[ key: string ]: any}): number
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.resolveToNumber.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedNumber.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.of"></a>

```typescript
import { HardCodedNumber } from '@cdklabs/cdk-ssm-documents'

HardCodedNumber.of(val: number)
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.of.parameter.val"></a>

- *Type:* number

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedNumber.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedNumber.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---


### HardCodedOnFailure <a name="HardCodedOnFailure" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IOnFailureVariable">IOnFailureVariable</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.of"></a>

```typescript
import { HardCodedOnFailure } from '@cdklabs/cdk-ssm-documents'

HardCodedOnFailure.of(val: string)
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.of.parameter.val"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure.property.DELETE">DELETE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure">HardCodedOnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure.property.DO_NOTHING">DO_NOTHING</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure">HardCodedOnFailure</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure.property.ROLLBACK">ROLLBACK</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure">HardCodedOnFailure</a></code> | *No description.* |

---

##### `DELETE`<sup>Required</sup> <a name="DELETE" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.property.DELETE"></a>

```typescript
public readonly DELETE: HardCodedOnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure">HardCodedOnFailure</a>

---

##### `DO_NOTHING`<sup>Required</sup> <a name="DO_NOTHING" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.property.DO_NOTHING"></a>

```typescript
public readonly DO_NOTHING: HardCodedOnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure">HardCodedOnFailure</a>

---

##### `ROLLBACK`<sup>Required</sup> <a name="ROLLBACK" id="@cdklabs/cdk-ssm-documents.HardCodedOnFailure.property.ROLLBACK"></a>

```typescript
public readonly ROLLBACK: HardCodedOnFailure;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure">HardCodedOnFailure</a>

---

### HardCodedPackageName <a name="HardCodedPackageName" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IPackageNameVariable">IPackageNameVariable</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.of"></a>

```typescript
import { HardCodedPackageName } from '@cdklabs/cdk-ssm-documents'

HardCodedPackageName.of(val: string)
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.of.parameter.val"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AMAZON_CLOUD_WATCH_AGENT">AMAZON_CLOUD_WATCH_AGENT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AWS_ENA_NETWORK_DRIVER">AWS_ENA_NETWORK_DRIVER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AWS_SUPPORT_EC2_RESCUE">AWS_SUPPORT_EC2_RESCUE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AWS_VSS_COMPONENTS">AWS_VSS_COMPONENTS</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AWSNVME">AWSNVME</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AWSPV_DRIVER">AWSPV_DRIVER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.CODE_DEPLOY_AGENT">CODE_DEPLOY_AGENT</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a></code> | *No description.* |

---

##### `AMAZON_CLOUD_WATCH_AGENT`<sup>Required</sup> <a name="AMAZON_CLOUD_WATCH_AGENT" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AMAZON_CLOUD_WATCH_AGENT"></a>

```typescript
public readonly AMAZON_CLOUD_WATCH_AGENT: HardCodedPackageName;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a>

---

##### `AWS_ENA_NETWORK_DRIVER`<sup>Required</sup> <a name="AWS_ENA_NETWORK_DRIVER" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AWS_ENA_NETWORK_DRIVER"></a>

```typescript
public readonly AWS_ENA_NETWORK_DRIVER: HardCodedPackageName;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a>

---

##### `AWS_SUPPORT_EC2_RESCUE`<sup>Required</sup> <a name="AWS_SUPPORT_EC2_RESCUE" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AWS_SUPPORT_EC2_RESCUE"></a>

```typescript
public readonly AWS_SUPPORT_EC2_RESCUE: HardCodedPackageName;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a>

---

##### `AWS_VSS_COMPONENTS`<sup>Required</sup> <a name="AWS_VSS_COMPONENTS" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AWS_VSS_COMPONENTS"></a>

```typescript
public readonly AWS_VSS_COMPONENTS: HardCodedPackageName;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a>

---

##### `AWSNVME`<sup>Required</sup> <a name="AWSNVME" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AWSNVME"></a>

```typescript
public readonly AWSNVME: HardCodedPackageName;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a>

---

##### `AWSPV_DRIVER`<sup>Required</sup> <a name="AWSPV_DRIVER" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.AWSPV_DRIVER"></a>

```typescript
public readonly AWSPV_DRIVER: HardCodedPackageName;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a>

---

##### `CODE_DEPLOY_AGENT`<sup>Required</sup> <a name="CODE_DEPLOY_AGENT" id="@cdklabs/cdk-ssm-documents.HardCodedPackageName.property.CODE_DEPLOY_AGENT"></a>

```typescript
public readonly CODE_DEPLOY_AGENT: HardCodedPackageName;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a>

---

### HardCodedResourceType <a name="HardCodedResourceType" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IResourceTypeVariable">IResourceTypeVariable</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.of"></a>

```typescript
import { HardCodedResourceType } from '@cdklabs/cdk-ssm-documents'

HardCodedResourceType.of(val: string)
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.of.parameter.val"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.property.EC2">EC2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType">HardCodedResourceType</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.property.MAINTENANCE_WINDOW">MAINTENANCE_WINDOW</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType">HardCodedResourceType</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.property.MANAGED_INSTANCE">MANAGED_INSTANCE</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType">HardCodedResourceType</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType.property.PARAMETER">PARAMETER</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType">HardCodedResourceType</a></code> | *No description.* |

---

##### `EC2`<sup>Required</sup> <a name="EC2" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.property.EC2"></a>

```typescript
public readonly EC2: HardCodedResourceType;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType">HardCodedResourceType</a>

---

##### `MAINTENANCE_WINDOW`<sup>Required</sup> <a name="MAINTENANCE_WINDOW" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.property.MAINTENANCE_WINDOW"></a>

```typescript
public readonly MAINTENANCE_WINDOW: HardCodedResourceType;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType">HardCodedResourceType</a>

---

##### `MANAGED_INSTANCE`<sup>Required</sup> <a name="MANAGED_INSTANCE" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.property.MANAGED_INSTANCE"></a>

```typescript
public readonly MANAGED_INSTANCE: HardCodedResourceType;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType">HardCodedResourceType</a>

---

##### `PARAMETER`<sup>Required</sup> <a name="PARAMETER" id="@cdklabs/cdk-ssm-documents.HardCodedResourceType.property.PARAMETER"></a>

```typescript
public readonly PARAMETER: HardCodedResourceType;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType">HardCodedResourceType</a>

---

### HardCodedSecureVariable <a name="HardCodedSecureVariable" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable"></a>

A hard-coded string variable.

Used when not dependent on step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.Initializer"></a>

```typescript
import { HardCodedSecureVariable } from '@cdklabs/cdk-ssm-documents'

new HardCodedSecureVariable(val: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.Initializer.parameter.val">val</a></code> | <code>string</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.Initializer.parameter.val"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.ofParameter">ofParameter</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.ofSecureToken">ofSecureToken</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.ofValue">ofValue</a></code> | *No description.* |

---

##### `ofParameter` <a name="ofParameter" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.ofParameter"></a>

```typescript
import { HardCodedSecureVariable } from '@cdklabs/cdk-ssm-documents'

HardCodedSecureVariable.ofParameter(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.ofParameter.parameter.reference"></a>

- *Type:* string

---

##### `ofSecureToken` <a name="ofSecureToken" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.ofSecureToken"></a>

```typescript
import { HardCodedSecureVariable } from '@cdklabs/cdk-ssm-documents'

HardCodedSecureVariable.ofSecureToken(secureToken: string)
```

###### `secureToken`<sup>Required</sup> <a name="secureToken" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.ofSecureToken.parameter.secureToken"></a>

- *Type:* string

---

##### `ofValue` <a name="ofValue" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.ofValue"></a>

```typescript
import { HardCodedSecureVariable } from '@cdklabs/cdk-ssm-documents'

HardCodedSecureVariable.ofValue(value: string)
```

###### `value`<sup>Required</sup> <a name="value" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.ofValue.parameter.value"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.property.val">val</a></code> | <code>string</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedSecureVariable.property.val"></a>

```typescript
public readonly val: string;
```

- *Type:* string

---


### HardCodedString <a name="HardCodedString" id="@cdklabs/cdk-ssm-documents.HardCodedString"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

A hard-coded string variable.

Used when not dependent on step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.HardCodedString.Initializer"></a>

```typescript
import { HardCodedString } from '@cdklabs/cdk-ssm-documents'

new HardCodedString(val: any)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedString.Initializer.parameter.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedString.Initializer.parameter.val"></a>

- *Type:* any

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedString.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedString.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedString.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedString.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedString.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedString.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedString.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedString.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedString.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedString.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedString.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedString.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.HardCodedString.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedString.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedString.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedString.of"></a>

```typescript
import { HardCodedString } from '@cdklabs/cdk-ssm-documents'

HardCodedString.of(val: string)
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedString.of.parameter.val"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedString.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedString.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---


### HardCodedStringList <a name="HardCodedStringList" id="@cdklabs/cdk-ssm-documents.HardCodedStringList"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

A hard-coded string list variable.

Used when not dependent on step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.Initializer"></a>

```typescript
import { HardCodedStringList } from '@cdklabs/cdk-ssm-documents'

new HardCodedStringList(val: any)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringList.Initializer.parameter.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.Initializer.parameter.val"></a>

- *Type:* any

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringList.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringList.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringList.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringList.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringList.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringList.resolveToStringList">resolveToStringList</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToStringList` <a name="resolveToStringList" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.resolveToStringList"></a>

```typescript
public resolveToStringList(inputs: {[ key: string ]: any}): string[]
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.resolveToStringList.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringList.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.of"></a>

```typescript
import { HardCodedStringList } from '@cdklabs/cdk-ssm-documents'

HardCodedStringList.of(val: string[])
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.of.parameter.val"></a>

- *Type:* string[]

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringList.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedStringList.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---


### HardCodedStringMap <a name="HardCodedStringMap" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

A hard-coded string map variable.

Used when not dependent on step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.Initializer"></a>

```typescript
import { HardCodedStringMap } from '@cdklabs/cdk-ssm-documents'

new HardCodedStringMap(val: any)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringMap.Initializer.parameter.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.Initializer.parameter.val"></a>

- *Type:* any

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringMap.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringMap.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringMap.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringMap.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringMap.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringMap.resolveToStringMap">resolveToStringMap</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToStringMap` <a name="resolveToStringMap" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.resolveToStringMap"></a>

```typescript
public resolveToStringMap(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.resolveToStringMap.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringMap.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.of"></a>

```typescript
import { HardCodedStringMap } from '@cdklabs/cdk-ssm-documents'

HardCodedStringMap.of(val: {[ key: string ]: any})
```

###### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.of.parameter.val"></a>

- *Type:* {[ key: string ]: any}

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedStringMap.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedStringMap.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---


### HardCodedValueBase <a name="HardCodedValueBase" id="@cdklabs/cdk-ssm-documents.HardCodedValueBase"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.HardCodedValueBase.Initializer"></a>

```typescript
import { HardCodedValueBase } from '@cdklabs/cdk-ssm-documents'

new HardCodedValueBase(val: any)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedValueBase.Initializer.parameter.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedValueBase.Initializer.parameter.val"></a>

- *Type:* any

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedValueBase.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedValueBase.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedValueBase.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedValueBase.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedValueBase.toString">toString</a></code> | Returns a string representation of an object. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.HardCodedValueBase.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HardCodedValueBase.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.HardCodedValueBase.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.HardCodedValueBase.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.HardCodedValueBase.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.HardCodedValueBase.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HardCodedValueBase.property.val">val</a></code> | <code>any</code> | *No description.* |

---

##### `val`<sup>Required</sup> <a name="val" id="@cdklabs/cdk-ssm-documents.HardCodedValueBase.property.val"></a>

```typescript
public readonly val: any;
```

- *Type:* any

---


### HttpContent <a name="HttpContent" id="@cdklabs/cdk-ssm-documents.HttpContent"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent">IDownloadableContent</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.HttpContent.Initializer"></a>

```typescript
import { HttpContent } from '@cdklabs/cdk-ssm-documents'

new HttpContent(props: HttpContentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HttpContent.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.HttpContentProps">HttpContentProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.HttpContent.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.HttpContentProps">HttpContentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HttpContent.formatSourceInfo">formatSourceInfo</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HttpContent.requiredInputs">requiredInputs</a></code> | *No description.* |

---

##### `formatSourceInfo` <a name="formatSourceInfo" id="@cdklabs/cdk-ssm-documents.HttpContent.formatSourceInfo"></a>

```typescript
public formatSourceInfo(): {[ key: string ]: any}
```

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.HttpContent.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.HttpContent.property.sourceType">sourceType</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HttpContent.property.url">url</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HttpContent.property.allowInsecureDownload">allowInsecureDownload</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.HttpContent.property.authMethod">authMethod</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AuthMethod">AuthMethod</a></code> | *No description.* |

---

##### `sourceType`<sup>Required</sup> <a name="sourceType" id="@cdklabs/cdk-ssm-documents.HttpContent.property.sourceType"></a>

```typescript
public readonly sourceType: string;
```

- *Type:* string

---

##### `url`<sup>Required</sup> <a name="url" id="@cdklabs/cdk-ssm-documents.HttpContent.property.url"></a>

```typescript
public readonly url: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `allowInsecureDownload`<sup>Optional</sup> <a name="allowInsecureDownload" id="@cdklabs/cdk-ssm-documents.HttpContent.property.allowInsecureDownload"></a>

```typescript
public readonly allowInsecureDownload: IBooleanVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

---

##### `authMethod`<sup>Optional</sup> <a name="authMethod" id="@cdklabs/cdk-ssm-documents.HttpContent.property.authMethod"></a>

```typescript
public readonly authMethod: AuthMethod;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AuthMethod">AuthMethod</a>

---


### IncidentResponseAction <a name="IncidentResponseAction" id="@cdklabs/cdk-ssm-documents.IncidentResponseAction"></a>

The Action property type specifies the configuration to launch.

> [: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-action.html](: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-action.html)

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.IncidentResponseAction.Initializer"></a>

```typescript
import { IncidentResponseAction } from '@cdklabs/cdk-ssm-documents'

new IncidentResponseAction(cfnEntry: ActionProperty)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseAction.Initializer.parameter.cfnEntry">cfnEntry</a></code> | <code>aws-cdk-lib.aws_ssmincidents.CfnResponsePlan.ActionProperty</code> | *No description.* |

---

##### `cfnEntry`<sup>Required</sup> <a name="cfnEntry" id="@cdklabs/cdk-ssm-documents.IncidentResponseAction.Initializer.parameter.cfnEntry"></a>

- *Type:* aws-cdk-lib.aws_ssmincidents.CfnResponsePlan.ActionProperty

---


#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseAction.ssmAutomation">ssmAutomation</a></code> | Specify the AutomationDocument to use for the action property. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseAction.ssmAutomationEscapeHatch">ssmAutomationEscapeHatch</a></code> | *No description.* |

---

##### `ssmAutomation` <a name="ssmAutomation" id="@cdklabs/cdk-ssm-documents.IncidentResponseAction.ssmAutomation"></a>

```typescript
import { IncidentResponseAction } from '@cdklabs/cdk-ssm-documents'

IncidentResponseAction.ssmAutomation(automationDocument: AutomationDocument, role: Role, props?: SsmAutomationProps)
```

Specify the AutomationDocument to use for the action property.

###### `automationDocument`<sup>Required</sup> <a name="automationDocument" id="@cdklabs/cdk-ssm-documents.IncidentResponseAction.ssmAutomation.parameter.automationDocument"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocument">AutomationDocument</a>

---

###### `role`<sup>Required</sup> <a name="role" id="@cdklabs/cdk-ssm-documents.IncidentResponseAction.ssmAutomation.parameter.role"></a>

- *Type:* aws-cdk-lib.aws_iam.Role

---

###### `props`<sup>Optional</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.IncidentResponseAction.ssmAutomation.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SsmAutomationProps">SsmAutomationProps</a>

---

##### `ssmAutomationEscapeHatch` <a name="ssmAutomationEscapeHatch" id="@cdklabs/cdk-ssm-documents.IncidentResponseAction.ssmAutomationEscapeHatch"></a>

```typescript
import { IncidentResponseAction } from '@cdklabs/cdk-ssm-documents'

IncidentResponseAction.ssmAutomationEscapeHatch(ssmAutomationProperty: SsmAutomationProperty)
```

###### `ssmAutomationProperty`<sup>Required</sup> <a name="ssmAutomationProperty" id="@cdklabs/cdk-ssm-documents.IncidentResponseAction.ssmAutomationEscapeHatch.parameter.ssmAutomationProperty"></a>

- *Type:* aws-cdk-lib.aws_ssmincidents.CfnResponsePlan.SsmAutomationProperty

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentResponseAction.property.cfnEntry">cfnEntry</a></code> | <code>aws-cdk-lib.aws_ssmincidents.CfnResponsePlan.ActionProperty</code> | *No description.* |

---

##### `cfnEntry`<sup>Required</sup> <a name="cfnEntry" id="@cdklabs/cdk-ssm-documents.IncidentResponseAction.property.cfnEntry"></a>

```typescript
public readonly cfnEntry: ActionProperty;
```

- *Type:* aws-cdk-lib.aws_ssmincidents.CfnResponsePlan.ActionProperty

---


### IncidentTemplate <a name="IncidentTemplate" id="@cdklabs/cdk-ssm-documents.IncidentTemplate"></a>

Provides L2 construct for https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssmincidents-responseplan-incidenttemplate.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.Initializer"></a>

```typescript
import { IncidentTemplate } from '@cdklabs/cdk-ssm-documents'

new IncidentTemplate(impact: number, title: string, props: IncidentTemplateProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplate.Initializer.parameter.impact">impact</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplate.Initializer.parameter.title">title</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplate.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplateProps">IncidentTemplateProps</a></code> | *No description.* |

---

##### `impact`<sup>Required</sup> <a name="impact" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.Initializer.parameter.impact"></a>

- *Type:* number

---

##### `title`<sup>Required</sup> <a name="title" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.Initializer.parameter.title"></a>

- *Type:* string

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IncidentTemplateProps">IncidentTemplateProps</a>

---


#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplate.critical">critical</a></code> | Critical impact typically relates to full application failure that impacts many to all customers. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplate.high">high</a></code> | High impact denotes partial application failure with impact to many customers. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplate.low">low</a></code> | Low impact denotes that customers may not be impacted by the problem yet. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplate.medium">medium</a></code> | Medium impact denotes that the application is providing reduced service to customers. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplate.noImpact">noImpact</a></code> | No impact denotes that customers aren't currently impacted but urgent action is needed to avoid impact. |

---

##### `critical` <a name="critical" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.critical"></a>

```typescript
import { IncidentTemplate } from '@cdklabs/cdk-ssm-documents'

IncidentTemplate.critical(title: string, props: IncidentTemplateProps)
```

Critical impact typically relates to full application failure that impacts many to all customers.

###### `title`<sup>Required</sup> <a name="title" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.critical.parameter.title"></a>

- *Type:* string

---

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.critical.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IncidentTemplateProps">IncidentTemplateProps</a>

---

##### `high` <a name="high" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.high"></a>

```typescript
import { IncidentTemplate } from '@cdklabs/cdk-ssm-documents'

IncidentTemplate.high(title: string, props: IncidentTemplateProps)
```

High impact denotes partial application failure with impact to many customers.

###### `title`<sup>Required</sup> <a name="title" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.high.parameter.title"></a>

- *Type:* string

---

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.high.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IncidentTemplateProps">IncidentTemplateProps</a>

---

##### `low` <a name="low" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.low"></a>

```typescript
import { IncidentTemplate } from '@cdklabs/cdk-ssm-documents'

IncidentTemplate.low(title: string, props: IncidentTemplateProps)
```

Low impact denotes that customers may not be impacted by the problem yet.

###### `title`<sup>Required</sup> <a name="title" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.low.parameter.title"></a>

- *Type:* string

---

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.low.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IncidentTemplateProps">IncidentTemplateProps</a>

---

##### `medium` <a name="medium" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.medium"></a>

```typescript
import { IncidentTemplate } from '@cdklabs/cdk-ssm-documents'

IncidentTemplate.medium(title: string, props: IncidentTemplateProps)
```

Medium impact denotes that the application is providing reduced service to customers.

###### `title`<sup>Required</sup> <a name="title" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.medium.parameter.title"></a>

- *Type:* string

---

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.medium.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IncidentTemplateProps">IncidentTemplateProps</a>

---

##### `noImpact` <a name="noImpact" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.noImpact"></a>

```typescript
import { IncidentTemplate } from '@cdklabs/cdk-ssm-documents'

IncidentTemplate.noImpact(title: string, props: IncidentTemplateProps)
```

No impact denotes that customers aren't currently impacted but urgent action is needed to avoid impact.

###### `title`<sup>Required</sup> <a name="title" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.noImpact.parameter.title"></a>

- *Type:* string

---

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.noImpact.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IncidentTemplateProps">IncidentTemplateProps</a>

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IncidentTemplate.property.cfnEntry">cfnEntry</a></code> | <code>aws-cdk-lib.aws_ssmincidents.CfnResponsePlan.IncidentTemplateProperty</code> | *No description.* |

---

##### `cfnEntry`<sup>Required</sup> <a name="cfnEntry" id="@cdklabs/cdk-ssm-documents.IncidentTemplate.property.cfnEntry"></a>

```typescript
public readonly cfnEntry: IncidentTemplateProperty;
```

- *Type:* aws-cdk-lib.aws_ssmincidents.CfnResponsePlan.IncidentTemplateProperty

---


### InlineScriptCode <a name="InlineScriptCode" id="@cdklabs/cdk-ssm-documents.InlineScriptCode"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.InlineScriptCode.Initializer"></a>

```typescript
import { InlineScriptCode } from '@cdklabs/cdk-ssm-documents'

new InlineScriptCode(inlineCode: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InlineScriptCode.Initializer.parameter.inlineCode">inlineCode</a></code> | <code>string</code> | *No description.* |

---

##### `inlineCode`<sup>Required</sup> <a name="inlineCode" id="@cdklabs/cdk-ssm-documents.InlineScriptCode.Initializer.parameter.inlineCode"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InlineScriptCode.codeAsString">codeAsString</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InlineScriptCode.createOrGetFile">createOrGetFile</a></code> | If there is a file for this code, return it. |

---

##### `codeAsString` <a name="codeAsString" id="@cdklabs/cdk-ssm-documents.InlineScriptCode.codeAsString"></a>

```typescript
public codeAsString(): string
```

##### `createOrGetFile` <a name="createOrGetFile" id="@cdklabs/cdk-ssm-documents.InlineScriptCode.createOrGetFile"></a>

```typescript
public createOrGetFile(suffix: string): string
```

If there is a file for this code, return it.

Otherwise, create a file with the specified suffix.

###### `suffix`<sup>Required</sup> <a name="suffix" id="@cdklabs/cdk-ssm-documents.InlineScriptCode.createOrGetFile.parameter.suffix"></a>

- *Type:* string

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InlineScriptCode.fromFile">fromFile</a></code> | Full path to the code to execute. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InlineScriptCode.inline">inline</a></code> | Inline code to be executed. |

---

##### `fromFile` <a name="fromFile" id="@cdklabs/cdk-ssm-documents.InlineScriptCode.fromFile"></a>

```typescript
import { InlineScriptCode } from '@cdklabs/cdk-ssm-documents'

InlineScriptCode.fromFile(fullPath: string)
```

Full path to the code to execute.

File is parsed to produce yaml/json.
Simulation will execute this file using the language specified.
(Attachments not yet supported)

###### `fullPath`<sup>Required</sup> <a name="fullPath" id="@cdklabs/cdk-ssm-documents.InlineScriptCode.fromFile.parameter.fullPath"></a>

- *Type:* string

---

##### `inline` <a name="inline" id="@cdklabs/cdk-ssm-documents.InlineScriptCode.inline"></a>

```typescript
import { InlineScriptCode } from '@cdklabs/cdk-ssm-documents'

InlineScriptCode.inline(code: string)
```

Inline code to be executed.

String will be used to produce function in yaml/json.
Simulation will execute the function in this string using the language specified.

###### `code`<sup>Required</sup> <a name="code" id="@cdklabs/cdk-ssm-documents.InlineScriptCode.inline.parameter.code"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InlineScriptCode.property.inlineCode">inlineCode</a></code> | <code>string</code> | *No description.* |

---

##### `inlineCode`<sup>Required</sup> <a name="inlineCode" id="@cdklabs/cdk-ssm-documents.InlineScriptCode.property.inlineCode"></a>

```typescript
public readonly inlineCode: string;
```

- *Type:* string

---


### Input <a name="Input" id="@cdklabs/cdk-ssm-documents.Input"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.Input.Initializer"></a>

```typescript
import { Input } from '@cdklabs/cdk-ssm-documents'

new Input(props: InputProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.InputProps">InputProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Input.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.InputProps">InputProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.toSsm">toSsm</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.validate">validate</a></code> | *No description.* |

---

##### `toSsm` <a name="toSsm" id="@cdklabs/cdk-ssm-documents.Input.toSsm"></a>

```typescript
public toSsm(): {[ key: string ]: any}
```

##### `validate` <a name="validate" id="@cdklabs/cdk-ssm-documents.Input.validate"></a>

```typescript
public validate(value: any): void
```

###### `value`<sup>Required</sup> <a name="value" id="@cdklabs/cdk-ssm-documents.Input.validate.parameter.value"></a>

- *Type:* any

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.ofSpecifiedType">ofSpecifiedType</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.ofTypeBoolean">ofTypeBoolean</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.ofTypeInteger">ofTypeInteger</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.ofTypeMapList">ofTypeMapList</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.ofTypeString">ofTypeString</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.ofTypeStringList">ofTypeStringList</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.ofTypeStringMap">ofTypeStringMap</a></code> | *No description.* |

---

##### `ofSpecifiedType` <a name="ofSpecifiedType" id="@cdklabs/cdk-ssm-documents.Input.ofSpecifiedType"></a>

```typescript
import { Input } from '@cdklabs/cdk-ssm-documents'

Input.ofSpecifiedType(type: DataTypeEnum, inputName: string, props: InputProps)
```

###### `type`<sup>Required</sup> <a name="type" id="@cdklabs/cdk-ssm-documents.Input.ofSpecifiedType.parameter.type"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a>

---

###### `inputName`<sup>Required</sup> <a name="inputName" id="@cdklabs/cdk-ssm-documents.Input.ofSpecifiedType.parameter.inputName"></a>

- *Type:* string

---

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Input.ofSpecifiedType.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.InputProps">InputProps</a>

---

##### `ofTypeBoolean` <a name="ofTypeBoolean" id="@cdklabs/cdk-ssm-documents.Input.ofTypeBoolean"></a>

```typescript
import { Input } from '@cdklabs/cdk-ssm-documents'

Input.ofTypeBoolean(name: string, props?: BooleanInputProps)
```

###### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.Input.ofTypeBoolean.parameter.name"></a>

- *Type:* string

---

###### `props`<sup>Optional</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Input.ofTypeBoolean.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.BooleanInputProps">BooleanInputProps</a>

---

##### `ofTypeInteger` <a name="ofTypeInteger" id="@cdklabs/cdk-ssm-documents.Input.ofTypeInteger"></a>

```typescript
import { Input } from '@cdklabs/cdk-ssm-documents'

Input.ofTypeInteger(name: string, props?: IntegerInputProps)
```

###### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.Input.ofTypeInteger.parameter.name"></a>

- *Type:* string

---

###### `props`<sup>Optional</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Input.ofTypeInteger.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IntegerInputProps">IntegerInputProps</a>

---

##### `ofTypeMapList` <a name="ofTypeMapList" id="@cdklabs/cdk-ssm-documents.Input.ofTypeMapList"></a>

```typescript
import { Input } from '@cdklabs/cdk-ssm-documents'

Input.ofTypeMapList(name: string, props?: MapListInputProps)
```

###### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.Input.ofTypeMapList.parameter.name"></a>

- *Type:* string

---

###### `props`<sup>Optional</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Input.ofTypeMapList.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.MapListInputProps">MapListInputProps</a>

---

##### `ofTypeString` <a name="ofTypeString" id="@cdklabs/cdk-ssm-documents.Input.ofTypeString"></a>

```typescript
import { Input } from '@cdklabs/cdk-ssm-documents'

Input.ofTypeString(name: string, props?: StringInputProps)
```

###### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.Input.ofTypeString.parameter.name"></a>

- *Type:* string

---

###### `props`<sup>Optional</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Input.ofTypeString.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StringInputProps">StringInputProps</a>

---

##### `ofTypeStringList` <a name="ofTypeStringList" id="@cdklabs/cdk-ssm-documents.Input.ofTypeStringList"></a>

```typescript
import { Input } from '@cdklabs/cdk-ssm-documents'

Input.ofTypeStringList(name: string, props?: StringListInputProps)
```

###### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.Input.ofTypeStringList.parameter.name"></a>

- *Type:* string

---

###### `props`<sup>Optional</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Input.ofTypeStringList.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StringListInputProps">StringListInputProps</a>

---

##### `ofTypeStringMap` <a name="ofTypeStringMap" id="@cdklabs/cdk-ssm-documents.Input.ofTypeStringMap"></a>

```typescript
import { Input } from '@cdklabs/cdk-ssm-documents'

Input.ofTypeStringMap(name: string, props?: StringMapInputProps)
```

###### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.Input.ofTypeStringMap.parameter.name"></a>

- *Type:* string

---

###### `props`<sup>Optional</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Input.ofTypeStringMap.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.StringMapInputProps">StringMapInputProps</a>

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.property.inputType">inputType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.property.name">name</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.property.allowedPattern">allowedPattern</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.property.allowedValues">allowedValues</a></code> | <code>string[]</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.property.description">description</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.property.maxChars">maxChars</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.property.maxItems">maxItems</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.property.minChars">minChars</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.property.minItems">minItems</a></code> | <code>number</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Input.property.defaultValue">defaultValue</a></code> | <code>string</code> | *No description.* |

---

##### `inputType`<sup>Required</sup> <a name="inputType" id="@cdklabs/cdk-ssm-documents.Input.property.inputType"></a>

```typescript
public readonly inputType: DataTypeEnum;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum">DataTypeEnum</a>

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.Input.property.name"></a>

```typescript
public readonly name: string;
```

- *Type:* string

---

##### `allowedPattern`<sup>Optional</sup> <a name="allowedPattern" id="@cdklabs/cdk-ssm-documents.Input.property.allowedPattern"></a>

```typescript
public readonly allowedPattern: string;
```

- *Type:* string

---

##### `allowedValues`<sup>Optional</sup> <a name="allowedValues" id="@cdklabs/cdk-ssm-documents.Input.property.allowedValues"></a>

```typescript
public readonly allowedValues: string[];
```

- *Type:* string[]

---

##### `description`<sup>Optional</sup> <a name="description" id="@cdklabs/cdk-ssm-documents.Input.property.description"></a>

```typescript
public readonly description: string;
```

- *Type:* string

---

##### `maxChars`<sup>Optional</sup> <a name="maxChars" id="@cdklabs/cdk-ssm-documents.Input.property.maxChars"></a>

```typescript
public readonly maxChars: number;
```

- *Type:* number

---

##### `maxItems`<sup>Optional</sup> <a name="maxItems" id="@cdklabs/cdk-ssm-documents.Input.property.maxItems"></a>

```typescript
public readonly maxItems: number;
```

- *Type:* number

---

##### `minChars`<sup>Optional</sup> <a name="minChars" id="@cdklabs/cdk-ssm-documents.Input.property.minChars"></a>

```typescript
public readonly minChars: number;
```

- *Type:* number

---

##### `minItems`<sup>Optional</sup> <a name="minItems" id="@cdklabs/cdk-ssm-documents.Input.property.minItems"></a>

```typescript
public readonly minItems: number;
```

- *Type:* number

---

##### `defaultValue`<sup>Optional</sup> <a name="defaultValue" id="@cdklabs/cdk-ssm-documents.Input.property.defaultValue"></a>

```typescript
public readonly defaultValue: string;
```

- *Type:* string

---


### InstallationTypeVariable <a name="InstallationTypeVariable" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IInstallationTypeVariable">IInstallationTypeVariable</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.Initializer"></a>

```typescript
import { InstallationTypeVariable } from '@cdklabs/cdk-ssm-documents'

new InstallationTypeVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.of"></a>

```typescript
import { InstallationTypeVariable } from '@cdklabs/cdk-ssm-documents'

InstallationTypeVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable.property.validValues">validValues</a></code> | <code>string[]</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---

##### `validValues`<sup>Required</sup> <a name="validValues" id="@cdklabs/cdk-ssm-documents.InstallationTypeVariable.property.validValues"></a>

```typescript
public readonly validValues: string[];
```

- *Type:* string[]

---


### InstallUninstallRepairVariable <a name="InstallUninstallRepairVariable" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IInstallUninstallRepairVariable">IInstallUninstallRepairVariable</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.Initializer"></a>

```typescript
import { InstallUninstallRepairVariable } from '@cdklabs/cdk-ssm-documents'

new InstallUninstallRepairVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.of"></a>

```typescript
import { InstallUninstallRepairVariable } from '@cdklabs/cdk-ssm-documents'

InstallUninstallRepairVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.property.validValues">validValues</a></code> | <code>string[]</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---

##### `validValues`<sup>Required</sup> <a name="validValues" id="@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable.property.validValues"></a>

```typescript
public readonly validValues: string[];
```

- *Type:* string[]

---


### InvokeLambdaFunctionSimulation <a name="InvokeLambdaFunctionSimulation" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation"></a>

AutomationStep implemenation for aws:invokeLambdaFunction https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-lamb.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.Initializer"></a>

```typescript
import { InvokeLambdaFunctionSimulation } from '@cdklabs/cdk-ssm-documents'

new InvokeLambdaFunctionSimulation(step: InvokeLambdaFunctionStep, props: AwsInvocationSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep">InvokeLambdaFunctionStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep">InvokeLambdaFunctionStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### InvokeWebhookSimulation <a name="InvokeWebhookSimulation" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation"></a>

AutomationStep implementation for [aws:invokeWebhook](https://docs.aws.amazon.com/systems-manager/latest/userguide/invoke-webhook.html).

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.Initializer"></a>

```typescript
import { InvokeWebhookSimulation } from '@cdklabs/cdk-ssm-documents'

new InvokeWebhookSimulation(step: InvokeWebhookStep, props: InvokeWebhookSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep">InvokeWebhookStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookSimulationProps">InvokeWebhookSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep">InvokeWebhookStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookSimulationProps">InvokeWebhookSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.InvokeWebhookSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### LocalRunDocument <a name="LocalRunDocument" id="@cdklabs/cdk-ssm-documents.LocalRunDocument"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IRunDocumentLocation">IRunDocumentLocation</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.LocalRunDocument.Initializer"></a>

```typescript
import { LocalRunDocument } from '@cdklabs/cdk-ssm-documents'

new LocalRunDocument(documentPath: IStringVariable)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.LocalRunDocument.Initializer.parameter.documentPath">documentPath</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `documentPath`<sup>Required</sup> <a name="documentPath" id="@cdklabs/cdk-ssm-documents.LocalRunDocument.Initializer.parameter.documentPath"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---



#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.LocalRunDocument.property.location">location</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.LocalRunDocument.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `location`<sup>Required</sup> <a name="location" id="@cdklabs/cdk-ssm-documents.LocalRunDocument.property.location"></a>

```typescript
public readonly location: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `type`<sup>Required</sup> <a name="type" id="@cdklabs/cdk-ssm-documents.LocalRunDocument.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---


### LoggingEnvironment <a name="LoggingEnvironment" id="@cdklabs/cdk-ssm-documents.LoggingEnvironment"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a>

Environment that simply logs the commands that it receives and displays them on the console.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.LoggingEnvironment.Initializer"></a>

```typescript
import { LoggingEnvironment } from '@cdklabs/cdk-ssm-documents'

new LoggingEnvironment()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.LoggingEnvironment.run">run</a></code> | *No description.* |

---

##### `run` <a name="run" id="@cdklabs/cdk-ssm-documents.LoggingEnvironment.run"></a>

```typescript
public run(command: string): string
```

###### `command`<sup>Required</sup> <a name="command" id="@cdklabs/cdk-ssm-documents.LoggingEnvironment.run.parameter.command"></a>

- *Type:* string

---




### MapListVariable <a name="MapListVariable" id="@cdklabs/cdk-ssm-documents.MapListVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

A map list variable reference.

Used to resolve the value from step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.MapListVariable.Initializer"></a>

```typescript
import { MapListVariable } from '@cdklabs/cdk-ssm-documents'

new MapListVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.MapListVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListVariable.resolveToMapList">resolveToMapList</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.MapListVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.MapListVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.MapListVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.MapListVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.MapListVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.MapListVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToMapList` <a name="resolveToMapList" id="@cdklabs/cdk-ssm-documents.MapListVariable.resolveToMapList"></a>

```typescript
public resolveToMapList(inputs: {[ key: string ]: any}): {[ key: string ]: any}[]
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.MapListVariable.resolveToMapList.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.MapListVariable.of"></a>

```typescript
import { MapListVariable } from '@cdklabs/cdk-ssm-documents'

MapListVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.MapListVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MapListVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.MapListVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---


### MockApprove <a name="MockApprove" id="@cdklabs/cdk-ssm-documents.MockApprove"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a>

Mock implementation of IApproveHook.

Does not simulate an approval request.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.MockApprove.Initializer"></a>

```typescript
import { MockApprove } from '@cdklabs/cdk-ssm-documents'

new MockApprove()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockApprove.ask">ask</a></code> | Ask for approval. |

---

##### `ask` <a name="ask" id="@cdklabs/cdk-ssm-documents.MockApprove.ask"></a>

```typescript
public ask(_approver: string): boolean
```

Ask for approval.

###### `_approver`<sup>Required</sup> <a name="_approver" id="@cdklabs/cdk-ssm-documents.MockApprove.ask.parameter._approver"></a>

- *Type:* string

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockApprove.property.timesInvoked">timesInvoked</a></code> | <code>number</code> | *No description.* |

---

##### `timesInvoked`<sup>Required</sup> <a name="timesInvoked" id="@cdklabs/cdk-ssm-documents.MockApprove.property.timesInvoked"></a>

```typescript
public readonly timesInvoked: number;
```

- *Type:* number

---


### MockAwsInvoker <a name="MockAwsInvoker" id="@cdklabs/cdk-ssm-documents.MockAwsInvoker"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

Mock implementation of IAwsInvoker.

This class can be reused for testing in exported JSII languages.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.MockAwsInvoker.Initializer"></a>

```typescript
import { MockAwsInvoker } from '@cdklabs/cdk-ssm-documents'

new MockAwsInvoker()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockAwsInvoker.invoke">invoke</a></code> | Saves the invocation to be retrieved using getInvocations(). |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockAwsInvoker.nextReturn">nextReturn</a></code> | Set the next return value. |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockAwsInvoker.whenThen">whenThen</a></code> | Allows developers to mock out responses from the AwsInvoker depending on the input that it receives. |

---

##### `invoke` <a name="invoke" id="@cdklabs/cdk-ssm-documents.MockAwsInvoker.invoke"></a>

```typescript
public invoke(invocation: Invocation): any
```

Saves the invocation to be retrieved using getInvocations().

###### `invocation`<sup>Required</sup> <a name="invocation" id="@cdklabs/cdk-ssm-documents.MockAwsInvoker.invoke.parameter.invocation"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Invocation">Invocation</a>

---

##### `nextReturn` <a name="nextReturn" id="@cdklabs/cdk-ssm-documents.MockAwsInvoker.nextReturn"></a>

```typescript
public nextReturn(awsResult: any): MockAwsInvoker
```

Set the next return value.

This function can be chained to return subsequent return values.
Values are read in order they were inserted.
The last value is used as a default if there are no other values retrieved.
In that way this function behaves the same way as Mockito .thenReturn(val).

###### `awsResult`<sup>Required</sup> <a name="awsResult" id="@cdklabs/cdk-ssm-documents.MockAwsInvoker.nextReturn.parameter.awsResult"></a>

- *Type:* any

---

##### `whenThen` <a name="whenThen" id="@cdklabs/cdk-ssm-documents.MockAwsInvoker.whenThen"></a>

```typescript
public whenThen(when: Invocation, then: {[ key: string ]: any}): void
```

Allows developers to mock out responses from the AwsInvoker depending on the input that it receives.

###### `when`<sup>Required</sup> <a name="when" id="@cdklabs/cdk-ssm-documents.MockAwsInvoker.whenThen.parameter.when"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Invocation">Invocation</a>

defines the invocation to match and return the then.

---

###### `then`<sup>Required</sup> <a name="then" id="@cdklabs/cdk-ssm-documents.MockAwsInvoker.whenThen.parameter.then"></a>

- *Type:* {[ key: string ]: any}

is the value that should be returned if the above when Invocation is matched.

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockAwsInvoker.property.previousInvocations">previousInvocations</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Invocation">Invocation</a>[]</code> | All of the invocations that have been submitted to this invoker until present. |

---

##### `previousInvocations`<sup>Required</sup> <a name="previousInvocations" id="@cdklabs/cdk-ssm-documents.MockAwsInvoker.property.previousInvocations"></a>

```typescript
public readonly previousInvocations: Invocation[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Invocation">Invocation</a>[]

All of the invocations that have been submitted to this invoker until present.

---


### MockEnvironment <a name="MockEnvironment" id="@cdklabs/cdk-ssm-documents.MockEnvironment"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a>

Environment that simply saves commands into a previousCommands variable.

This is useful if you want to unit test the commands that would be sent to a real environment.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.MockEnvironment.Initializer"></a>

```typescript
import { MockEnvironment } from '@cdklabs/cdk-ssm-documents'

new MockEnvironment()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockEnvironment.run">run</a></code> | *No description.* |

---

##### `run` <a name="run" id="@cdklabs/cdk-ssm-documents.MockEnvironment.run"></a>

```typescript
public run(command: string): string
```

###### `command`<sup>Required</sup> <a name="command" id="@cdklabs/cdk-ssm-documents.MockEnvironment.run.parameter.command"></a>

- *Type:* string

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockEnvironment.property.previousCommands">previousCommands</a></code> | <code>string[]</code> | *No description.* |

---

##### `previousCommands`<sup>Required</sup> <a name="previousCommands" id="@cdklabs/cdk-ssm-documents.MockEnvironment.property.previousCommands"></a>

```typescript
public readonly previousCommands: string[];
```

- *Type:* string[]

---


### MockPause <a name="MockPause" id="@cdklabs/cdk-ssm-documents.MockPause"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IPauseHook">IPauseHook</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.MockPause.Initializer"></a>

```typescript
import { MockPause } from '@cdklabs/cdk-ssm-documents'

new MockPause()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockPause.pause">pause</a></code> | *No description.* |

---

##### `pause` <a name="pause" id="@cdklabs/cdk-ssm-documents.MockPause.pause"></a>

```typescript
public pause(): void
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockPause.property.timesInvoked">timesInvoked</a></code> | <code>number</code> | *No description.* |

---

##### `timesInvoked`<sup>Required</sup> <a name="timesInvoked" id="@cdklabs/cdk-ssm-documents.MockPause.property.timesInvoked"></a>

```typescript
public readonly timesInvoked: number;
```

- *Type:* number

---


### MockSleep <a name="MockSleep" id="@cdklabs/cdk-ssm-documents.MockSleep"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>

Mock ISleeper implementation.

Simply logs that it is sleeping and returns immediately.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.MockSleep.Initializer"></a>

```typescript
import { MockSleep } from '@cdklabs/cdk-ssm-documents'

new MockSleep()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockSleep.sleep">sleep</a></code> | *No description.* |

---

##### `sleep` <a name="sleep" id="@cdklabs/cdk-ssm-documents.MockSleep.sleep"></a>

```typescript
public sleep(timeMillis: number): void
```

###### `timeMillis`<sup>Required</sup> <a name="timeMillis" id="@cdklabs/cdk-ssm-documents.MockSleep.sleep.parameter.timeMillis"></a>

- *Type:* number

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.MockSleep.property.sleepMilliInvocations">sleepMilliInvocations</a></code> | <code>number[]</code> | *No description.* |

---

##### `sleepMilliInvocations`<sup>Required</sup> <a name="sleepMilliInvocations" id="@cdklabs/cdk-ssm-documents.MockSleep.property.sleepMilliInvocations"></a>

```typescript
public readonly sleepMilliInvocations: number[];
```

- *Type:* number[]

---


### NameDoc <a name="NameDoc" id="@cdklabs/cdk-ssm-documents.NameDoc"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.NameDoc.Initializer"></a>

```typescript
import { NameDoc } from '@cdklabs/cdk-ssm-documents'

new NameDoc(name: IStringVariable, version?: IStringVariable)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NameDoc.Initializer.parameter.name">name</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.NameDoc.Initializer.parameter.version">version</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.NameDoc.Initializer.parameter.name"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `version`<sup>Optional</sup> <a name="version" id="@cdklabs/cdk-ssm-documents.NameDoc.Initializer.parameter.version"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NameDoc.formatRequest">formatRequest</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.NameDoc.requiredInputs">requiredInputs</a></code> | *No description.* |

---

##### `formatRequest` <a name="formatRequest" id="@cdklabs/cdk-ssm-documents.NameDoc.formatRequest"></a>

```typescript
public formatRequest(): {[ key: string ]: any}
```

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.NameDoc.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NameDoc.fromArn">fromArn</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.NameDoc.fromName">fromName</a></code> | *No description.* |

---

##### `fromArn` <a name="fromArn" id="@cdklabs/cdk-ssm-documents.NameDoc.fromArn"></a>

```typescript
import { NameDoc } from '@cdklabs/cdk-ssm-documents'

NameDoc.fromArn(arn: IStringVariable)
```

###### `arn`<sup>Required</sup> <a name="arn" id="@cdklabs/cdk-ssm-documents.NameDoc.fromArn.parameter.arn"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `fromName` <a name="fromName" id="@cdklabs/cdk-ssm-documents.NameDoc.fromName"></a>

```typescript
import { NameDoc } from '@cdklabs/cdk-ssm-documents'

NameDoc.fromName(name: IStringVariable, version?: IStringVariable)
```

###### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.NameDoc.fromName.parameter.name"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

###### `version`<sup>Optional</sup> <a name="version" id="@cdklabs/cdk-ssm-documents.NameDoc.fromName.parameter.version"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NameDoc.property.name">name</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.NameDoc.property.version">version</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `name`<sup>Required</sup> <a name="name" id="@cdklabs/cdk-ssm-documents.NameDoc.property.name"></a>

```typescript
public readonly name: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `version`<sup>Optional</sup> <a name="version" id="@cdklabs/cdk-ssm-documents.NameDoc.property.version"></a>

```typescript
public readonly version: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---


### NoAuthMethod <a name="NoAuthMethod" id="@cdklabs/cdk-ssm-documents.NoAuthMethod"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.NoAuthMethod.Initializer"></a>

```typescript
import { NoAuthMethod } from '@cdklabs/cdk-ssm-documents'

new NoAuthMethod()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NoAuthMethod.requiredInputs">requiredInputs</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.NoAuthMethod.toEntry">toEntry</a></code> | *No description.* |

---

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.NoAuthMethod.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

##### `toEntry` <a name="toEntry" id="@cdklabs/cdk-ssm-documents.NoAuthMethod.toEntry"></a>

```typescript
public toEntry(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NoAuthMethod.ofBasic">ofBasic</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.NoAuthMethod.ofDigest">ofDigest</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.NoAuthMethod.ofNone">ofNone</a></code> | *No description.* |

---

##### `ofBasic` <a name="ofBasic" id="@cdklabs/cdk-ssm-documents.NoAuthMethod.ofBasic"></a>

```typescript
import { NoAuthMethod } from '@cdklabs/cdk-ssm-documents'

NoAuthMethod.ofBasic(userName: SecureVariable, password: SecureVariable)
```

###### `userName`<sup>Required</sup> <a name="userName" id="@cdklabs/cdk-ssm-documents.NoAuthMethod.ofBasic.parameter.userName"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

###### `password`<sup>Required</sup> <a name="password" id="@cdklabs/cdk-ssm-documents.NoAuthMethod.ofBasic.parameter.password"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

##### `ofDigest` <a name="ofDigest" id="@cdklabs/cdk-ssm-documents.NoAuthMethod.ofDigest"></a>

```typescript
import { NoAuthMethod } from '@cdklabs/cdk-ssm-documents'

NoAuthMethod.ofDigest(userName: SecureVariable, password: SecureVariable)
```

###### `userName`<sup>Required</sup> <a name="userName" id="@cdklabs/cdk-ssm-documents.NoAuthMethod.ofDigest.parameter.userName"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

###### `password`<sup>Required</sup> <a name="password" id="@cdklabs/cdk-ssm-documents.NoAuthMethod.ofDigest.parameter.password"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

##### `ofNone` <a name="ofNone" id="@cdklabs/cdk-ssm-documents.NoAuthMethod.ofNone"></a>

```typescript
import { NoAuthMethod } from '@cdklabs/cdk-ssm-documents'

NoAuthMethod.ofNone()
```



### NonSecureVariable <a name="NonSecureVariable" id="@cdklabs/cdk-ssm-documents.NonSecureVariable"></a>

A string variable reference.

Used to resolve the value from step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.Initializer"></a>

```typescript
import { NonSecureVariable } from '@cdklabs/cdk-ssm-documents'

new NonSecureVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NonSecureVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NonSecureVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.NonSecureVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.NonSecureVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.NonSecureVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NonSecureVariable.ofParameter">ofParameter</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.NonSecureVariable.ofSecureToken">ofSecureToken</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.NonSecureVariable.ofValue">ofValue</a></code> | *No description.* |

---

##### `ofParameter` <a name="ofParameter" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.ofParameter"></a>

```typescript
import { NonSecureVariable } from '@cdklabs/cdk-ssm-documents'

NonSecureVariable.ofParameter(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.ofParameter.parameter.reference"></a>

- *Type:* string

---

##### `ofSecureToken` <a name="ofSecureToken" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.ofSecureToken"></a>

```typescript
import { NonSecureVariable } from '@cdklabs/cdk-ssm-documents'

NonSecureVariable.ofSecureToken(secureToken: string)
```

###### `secureToken`<sup>Required</sup> <a name="secureToken" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.ofSecureToken.parameter.secureToken"></a>

- *Type:* string

---

##### `ofValue` <a name="ofValue" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.ofValue"></a>

```typescript
import { NonSecureVariable } from '@cdklabs/cdk-ssm-documents'

NonSecureVariable.ofValue(value: string)
```

###### `value`<sup>Required</sup> <a name="value" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.ofValue.parameter.value"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NonSecureVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.NonSecureVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---


### NoopObserver <a name="NoopObserver" id="@cdklabs/cdk-ssm-documents.NoopObserver"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.NoopObserver.Initializer"></a>

```typescript
import { NoopObserver } from '@cdklabs/cdk-ssm-documents'

new NoopObserver()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NoopObserver.accept">accept</a></code> | *No description.* |

---

##### `accept` <a name="accept" id="@cdklabs/cdk-ssm-documents.NoopObserver.accept"></a>

```typescript
public accept(_value: {[ key: string ]: any}): void
```

###### `_value`<sup>Required</sup> <a name="_value" id="@cdklabs/cdk-ssm-documents.NoopObserver.accept.parameter._value"></a>

- *Type:* {[ key: string ]: any}

---




### NumberVariable <a name="NumberVariable" id="@cdklabs/cdk-ssm-documents.NumberVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

A number variable reference.

Used to resolve the value from step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.NumberVariable.Initializer"></a>

```typescript
import { NumberVariable } from '@cdklabs/cdk-ssm-documents'

new NumberVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NumberVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.NumberVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NumberVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.NumberVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.NumberVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.NumberVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.NumberVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.NumberVariable.resolveToNumber">resolveToNumber</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.NumberVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.NumberVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.NumberVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.NumberVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.NumberVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.NumberVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToNumber` <a name="resolveToNumber" id="@cdklabs/cdk-ssm-documents.NumberVariable.resolveToNumber"></a>

```typescript
public resolveToNumber(inputs: {[ key: string ]: any}): number
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.NumberVariable.resolveToNumber.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NumberVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.NumberVariable.of"></a>

```typescript
import { NumberVariable } from '@cdklabs/cdk-ssm-documents'

NumberVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.NumberVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.NumberVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.NumberVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---


### OnCancel <a name="OnCancel" id="@cdklabs/cdk-ssm-documents.OnCancel"></a>

Steps can specify an action to take onCancel.

See docs here: https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#canProp
The supported actions are abort (default) or invoking a specific step.
This behavior can be adopted by using the static methods available on OnCancel.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.OnCancel.Initializer"></a>

```typescript
import { OnCancel } from '@cdklabs/cdk-ssm-documents'

new OnCancel()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel.stepToInvoke">stepToInvoke</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel.toSsmValue">toSsmValue</a></code> | *No description.* |

---

##### `stepToInvoke` <a name="stepToInvoke" id="@cdklabs/cdk-ssm-documents.OnCancel.stepToInvoke"></a>

```typescript
public stepToInvoke(currentStep: AutomationStep): string
```

###### `currentStep`<sup>Required</sup> <a name="currentStep" id="@cdklabs/cdk-ssm-documents.OnCancel.stepToInvoke.parameter.currentStep"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `toSsmValue` <a name="toSsmValue" id="@cdklabs/cdk-ssm-documents.OnCancel.toSsmValue"></a>

```typescript
public toSsmValue(): string
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel.abort">abort</a></code> | To abort execution if a cancellation occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel.continue">continue</a></code> | To continue execution of the subsequent step if a failure occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel.invokeStep">invokeStep</a></code> | Invoke a specific step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnCancel.invokeStepByName">invokeStepByName</a></code> | Invoke a specific step by the step name for the OnCancel action. |

---

##### `abort` <a name="abort" id="@cdklabs/cdk-ssm-documents.OnCancel.abort"></a>

```typescript
import { OnCancel } from '@cdklabs/cdk-ssm-documents'

OnCancel.abort()
```

To abort execution if a cancellation occurs during execution of the current step.

(This is the default behavior.)

##### `continue` <a name="continue" id="@cdklabs/cdk-ssm-documents.OnCancel.continue"></a>

```typescript
import { OnCancel } from '@cdklabs/cdk-ssm-documents'

OnCancel.continue()
```

To continue execution of the subsequent step if a failure occurs during execution of the current step.

##### `invokeStep` <a name="invokeStep" id="@cdklabs/cdk-ssm-documents.OnCancel.invokeStep"></a>

```typescript
import { OnCancel } from '@cdklabs/cdk-ssm-documents'

OnCancel.invokeStep(step: AutomationStep)
```

Invoke a specific step.

Provide the step object to execute for the onCancel action.
If you don't have a handle to the step object, use the invokeStepByName function.
Not all action types may be invoked during cancellation. See documentation referenced on this class.

###### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.OnCancel.invokeStep.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `invokeStepByName` <a name="invokeStepByName" id="@cdklabs/cdk-ssm-documents.OnCancel.invokeStepByName"></a>

```typescript
import { OnCancel } from '@cdklabs/cdk-ssm-documents'

OnCancel.invokeStepByName(stepName: string)
```

Invoke a specific step by the step name for the OnCancel action.

Not all action types may be invoked during cancellation. See documentation referenced on this class.

###### `stepName`<sup>Required</sup> <a name="stepName" id="@cdklabs/cdk-ssm-documents.OnCancel.invokeStepByName.parameter.stepName"></a>

- *Type:* string

---



### OnFailure <a name="OnFailure" id="@cdklabs/cdk-ssm-documents.OnFailure"></a>

Steps can specify an action to take onFailure.

See docs here: https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#failProp
The supported actions are abort (default), continue, or invoking a specific step.
This behavior can be adopted by using the static methods available on OnFailure.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.OnFailure.Initializer"></a>

```typescript
import { OnFailure } from '@cdklabs/cdk-ssm-documents'

new OnFailure()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure.stepToInvoke">stepToInvoke</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure.toSsmValue">toSsmValue</a></code> | *No description.* |

---

##### `stepToInvoke` <a name="stepToInvoke" id="@cdklabs/cdk-ssm-documents.OnFailure.stepToInvoke"></a>

```typescript
public stepToInvoke(currentStep: AutomationStep): string
```

###### `currentStep`<sup>Required</sup> <a name="currentStep" id="@cdklabs/cdk-ssm-documents.OnFailure.stepToInvoke.parameter.currentStep"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `toSsmValue` <a name="toSsmValue" id="@cdklabs/cdk-ssm-documents.OnFailure.toSsmValue"></a>

```typescript
public toSsmValue(): string
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure.abort">abort</a></code> | To abort execution if a failure occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure.continue">continue</a></code> | To continue execution of the subsequent step if a failure occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure.invokeStep">invokeStep</a></code> | Invoke a specific step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailure.invokeStepByName">invokeStepByName</a></code> | Invoke a specific step by the step name for the OnFailure action. |

---

##### `abort` <a name="abort" id="@cdklabs/cdk-ssm-documents.OnFailure.abort"></a>

```typescript
import { OnFailure } from '@cdklabs/cdk-ssm-documents'

OnFailure.abort()
```

To abort execution if a failure occurs during execution of the current step.

(This is the default behavior.)

##### `continue` <a name="continue" id="@cdklabs/cdk-ssm-documents.OnFailure.continue"></a>

```typescript
import { OnFailure } from '@cdklabs/cdk-ssm-documents'

OnFailure.continue()
```

To continue execution of the subsequent step if a failure occurs during execution of the current step.

##### `invokeStep` <a name="invokeStep" id="@cdklabs/cdk-ssm-documents.OnFailure.invokeStep"></a>

```typescript
import { OnFailure } from '@cdklabs/cdk-ssm-documents'

OnFailure.invokeStep(step: AutomationStep)
```

Invoke a specific step.

Provide the step object to execute for the onFailure action.
If you don't have a handle to the step object, use the invokeStepByName function.

###### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.OnFailure.invokeStep.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `invokeStepByName` <a name="invokeStepByName" id="@cdklabs/cdk-ssm-documents.OnFailure.invokeStepByName"></a>

```typescript
import { OnFailure } from '@cdklabs/cdk-ssm-documents'

OnFailure.invokeStepByName(stepName: string)
```

Invoke a specific step by the step name for the OnFailure action.

###### `stepName`<sup>Required</sup> <a name="stepName" id="@cdklabs/cdk-ssm-documents.OnFailure.invokeStepByName.parameter.stepName"></a>

- *Type:* string

---



### OnFailureVariable <a name="OnFailureVariable" id="@cdklabs/cdk-ssm-documents.OnFailureVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IOnFailureVariable">IOnFailureVariable</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.Initializer"></a>

```typescript
import { OnFailureVariable } from '@cdklabs/cdk-ssm-documents'

new OnFailureVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.of"></a>

```typescript
import { OnFailureVariable } from '@cdklabs/cdk-ssm-documents'

OnFailureVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable.property.validValues">validValues</a></code> | <code>string[]</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---

##### `validValues`<sup>Required</sup> <a name="validValues" id="@cdklabs/cdk-ssm-documents.OnFailureVariable.property.validValues"></a>

```typescript
public readonly validValues: string[];
```

- *Type:* string[]

---


### OperationEvaluator <a name="OperationEvaluator" id="@cdklabs/cdk-ssm-documents.OperationEvaluator"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.OperationEvaluator.Initializer"></a>

```typescript
import { OperationEvaluator } from '@cdklabs/cdk-ssm-documents'

new OperationEvaluator(operation: Operation)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OperationEvaluator.Initializer.parameter.operation">operation</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a></code> | *No description.* |

---

##### `operation`<sup>Required</sup> <a name="operation" id="@cdklabs/cdk-ssm-documents.OperationEvaluator.Initializer.parameter.operation"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OperationEvaluator.evaluate">evaluate</a></code> | Evaluates this operation against the provided inputs. |
| <code><a href="#@cdklabs/cdk-ssm-documents.OperationEvaluator.toOperationName">toOperationName</a></code> | *No description.* |

---

##### `evaluate` <a name="evaluate" id="@cdklabs/cdk-ssm-documents.OperationEvaluator.evaluate"></a>

```typescript
public evaluate(value1: any, value2: any): boolean
```

Evaluates this operation against the provided inputs.

###### `value1`<sup>Required</sup> <a name="value1" id="@cdklabs/cdk-ssm-documents.OperationEvaluator.evaluate.parameter.value1"></a>

- *Type:* any

---

###### `value2`<sup>Required</sup> <a name="value2" id="@cdklabs/cdk-ssm-documents.OperationEvaluator.evaluate.parameter.value2"></a>

- *Type:* any

---

##### `toOperationName` <a name="toOperationName" id="@cdklabs/cdk-ssm-documents.OperationEvaluator.toOperationName"></a>

```typescript
public toOperationName(): string
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OperationEvaluator.fromOperationName">fromOperationName</a></code> | Converts a string to OperationType. |

---

##### `fromOperationName` <a name="fromOperationName" id="@cdklabs/cdk-ssm-documents.OperationEvaluator.fromOperationName"></a>

```typescript
import { OperationEvaluator } from '@cdklabs/cdk-ssm-documents'

OperationEvaluator.fromOperationName(operationName: string)
```

Converts a string to OperationType.

###### `operationName`<sup>Required</sup> <a name="operationName" id="@cdklabs/cdk-ssm-documents.OperationEvaluator.fromOperationName.parameter.operationName"></a>

- *Type:* string

an operation name to return its OperationType.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OperationEvaluator.property.operation">operation</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a></code> | *No description.* |

---

##### `operation`<sup>Required</sup> <a name="operation" id="@cdklabs/cdk-ssm-documents.OperationEvaluator.property.operation"></a>

```typescript
public readonly operation: Operation;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.OperationEvaluator.property.STRING_TO_OPERATION">STRING_TO_OPERATION</a></code> | <code>{[ key: string ]: <a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a>}</code> | *No description.* |

---

##### `STRING_TO_OPERATION`<sup>Required</sup> <a name="STRING_TO_OPERATION" id="@cdklabs/cdk-ssm-documents.OperationEvaluator.property.STRING_TO_OPERATION"></a>

```typescript
public readonly STRING_TO_OPERATION: {[ key: string ]: Operation};
```

- *Type:* {[ key: string ]: <a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a>}

---

### PackageNameVariable <a name="PackageNameVariable" id="@cdklabs/cdk-ssm-documents.PackageNameVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IPackageNameVariable">IPackageNameVariable</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.Initializer"></a>

```typescript
import { PackageNameVariable } from '@cdklabs/cdk-ssm-documents'

new PackageNameVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.of"></a>

```typescript
import { PackageNameVariable } from '@cdklabs/cdk-ssm-documents'

PackageNameVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable.property.validValues">validValues</a></code> | <code>string[]</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---

##### `validValues`<sup>Required</sup> <a name="validValues" id="@cdklabs/cdk-ssm-documents.PackageNameVariable.property.validValues"></a>

```typescript
public readonly validValues: string[];
```

- *Type:* string[]

---


### PauseImpl <a name="PauseImpl" id="@cdklabs/cdk-ssm-documents.PauseImpl"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IPauseHook">IPauseHook</a>

This IPauseHook implementation provides a real pause and wait for user input of Enter.

This implementation does not work well on all exported JSII languages.
Users can provide their own impl using the IPauseHook interface.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.PauseImpl.Initializer"></a>

```typescript
import { PauseImpl } from '@cdklabs/cdk-ssm-documents'

new PauseImpl()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseImpl.pause">pause</a></code> | *No description.* |

---

##### `pause` <a name="pause" id="@cdklabs/cdk-ssm-documents.PauseImpl.pause"></a>

```typescript
public pause(): void
```




### PauseSimulation <a name="PauseSimulation" id="@cdklabs/cdk-ssm-documents.PauseSimulation"></a>

AutomationStep implementation for aws:pause https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-pause.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.PauseSimulation.Initializer"></a>

```typescript
import { PauseSimulation } from '@cdklabs/cdk-ssm-documents'

new PauseSimulation(step: PauseStep, props: PauseSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.PauseStep">PauseStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.PauseSimulationProps">PauseSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.PauseSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.PauseStep">PauseStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.PauseSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.PauseSimulationProps">PauseSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseSimulation.executeStep">executeStep</a></code> | May perform a real pause based on the params used during instance creation. |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.PauseSimulation.executeStep"></a>

```typescript
public executeStep(_inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

May perform a real pause based on the params used during instance creation.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.PauseSimulation.executeStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.PauseSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.PauseSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PauseSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.PauseSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.PauseSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### Platforms <a name="Platforms" id="@cdklabs/cdk-ssm-documents.Platforms"></a>


#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Platforms.toPlatform">toPlatform</a></code> | Converts a string to Platform. |

---

##### `toPlatform` <a name="toPlatform" id="@cdklabs/cdk-ssm-documents.Platforms.toPlatform"></a>

```typescript
import { Platforms } from '@cdklabs/cdk-ssm-documents'

Platforms.toPlatform(platformString: string)
```

Converts a string to Platform.

###### `platformString`<sup>Required</sup> <a name="platformString" id="@cdklabs/cdk-ssm-documents.Platforms.toPlatform.parameter.platformString"></a>

- *Type:* string

a platform name to return its Platform type.

---


#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Platforms.property.STRING_TO_PLATFORM">STRING_TO_PLATFORM</a></code> | <code>{[ key: string ]: <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>}</code> | *No description.* |

---

##### `STRING_TO_PLATFORM`<sup>Required</sup> <a name="STRING_TO_PLATFORM" id="@cdklabs/cdk-ssm-documents.Platforms.property.STRING_TO_PLATFORM"></a>

```typescript
public readonly STRING_TO_PLATFORM: {[ key: string ]: Platform};
```

- *Type:* {[ key: string ]: <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>}

---

### Precondition <a name="Precondition" id="@cdklabs/cdk-ssm-documents.Precondition"></a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Precondition.asSsmEntry">asSsmEntry</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Precondition.evaluate">evaluate</a></code> | Evaluates if the precondition is met, by comparing the variable with the constant using the operator. |

---

##### `asSsmEntry` <a name="asSsmEntry" id="@cdklabs/cdk-ssm-documents.Precondition.asSsmEntry"></a>

```typescript
public asSsmEntry(): {[ key: string ]: any}
```

##### `evaluate` <a name="evaluate" id="@cdklabs/cdk-ssm-documents.Precondition.evaluate"></a>

```typescript
public evaluate(inputs: {[ key: string ]: any}): boolean
```

Evaluates if the precondition is met, by comparing the variable with the constant using the operator.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.Precondition.evaluate.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Precondition.newPlatformPrecondition">newPlatformPrecondition</a></code> | Returns a new Precondition. |

---

##### `newPlatformPrecondition` <a name="newPlatformPrecondition" id="@cdklabs/cdk-ssm-documents.Precondition.newPlatformPrecondition"></a>

```typescript
import { Precondition } from '@cdklabs/cdk-ssm-documents'

Precondition.newPlatformPrecondition(platform: Platform)
```

Returns a new Precondition.

###### `platform`<sup>Required</sup> <a name="platform" id="@cdklabs/cdk-ssm-documents.Precondition.newPlatformPrecondition.parameter.platform"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Platform">Platform</a>

The platform the preconditions tests against.

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Precondition.property.operationType">operationType</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Precondition.property.variable1">variable1</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Precondition.property.variable2">variable2</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a></code> | *No description.* |

---

##### `operationType`<sup>Required</sup> <a name="operationType" id="@cdklabs/cdk-ssm-documents.Precondition.property.operationType"></a>

```typescript
public readonly operationType: Operation;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Operation">Operation</a>

---

##### `variable1`<sup>Required</sup> <a name="variable1" id="@cdklabs/cdk-ssm-documents.Precondition.property.variable1"></a>

```typescript
public readonly variable1: IGenericVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

---

##### `variable2`<sup>Required</sup> <a name="variable2" id="@cdklabs/cdk-ssm-documents.Precondition.property.variable2"></a>

```typescript
public readonly variable2: IGenericVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Precondition.property.INJECTED_PLAYFORM_TYPE_KEY">INJECTED_PLAYFORM_TYPE_KEY</a></code> | <code>string</code> | *No description.* |

---

##### `INJECTED_PLAYFORM_TYPE_KEY`<sup>Required</sup> <a name="INJECTED_PLAYFORM_TYPE_KEY" id="@cdklabs/cdk-ssm-documents.Precondition.property.INJECTED_PLAYFORM_TYPE_KEY"></a>

```typescript
public readonly INJECTED_PLAYFORM_TYPE_KEY: string;
```

- *Type:* string

---

### PsModuleSimulation <a name="PsModuleSimulation" id="@cdklabs/cdk-ssm-documents.PsModuleSimulation"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.PsModuleSimulation.Initializer"></a>

```typescript
import { PsModuleSimulation } from '@cdklabs/cdk-ssm-documents'

new PsModuleSimulation(step: PsModuleStep, props: EnvironmentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleStep">PsModuleStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.EnvironmentProps">EnvironmentProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.PsModuleSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.PsModuleStep">PsModuleStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.PsModuleSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.EnvironmentProps">EnvironmentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PsModuleSimulation.executeStep">executeStep</a></code> | Installs the module specified by source then runs the specified commands. |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.PsModuleSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): void
```

Installs the module specified by source then runs the specified commands.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.PsModuleSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---




### ReflectiveAwsInvoker <a name="ReflectiveAwsInvoker" id="@cdklabs/cdk-ssm-documents.ReflectiveAwsInvoker"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

Implementation of IAwsInvoker that executes the AWS api for real.

If using this implementation, be sure that AWS credentials are available to the execution.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ReflectiveAwsInvoker.Initializer"></a>

```typescript
import { ReflectiveAwsInvoker } from '@cdklabs/cdk-ssm-documents'

new ReflectiveAwsInvoker()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ReflectiveAwsInvoker.invoke">invoke</a></code> | Invoke AWS with the provided invocation request. |

---

##### `invoke` <a name="invoke" id="@cdklabs/cdk-ssm-documents.ReflectiveAwsInvoker.invoke"></a>

```typescript
public invoke(invocation: Invocation): any
```

Invoke AWS with the provided invocation request.

###### `invocation`<sup>Required</sup> <a name="invocation" id="@cdklabs/cdk-ssm-documents.ReflectiveAwsInvoker.invoke.parameter.invocation"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Invocation">Invocation</a>

---




### ResourceTypeVariable <a name="ResourceTypeVariable" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IResourceTypeVariable">IResourceTypeVariable</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.Initializer"></a>

```typescript
import { ResourceTypeVariable } from '@cdklabs/cdk-ssm-documents'

new ResourceTypeVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.of"></a>

```typescript
import { ResourceTypeVariable } from '@cdklabs/cdk-ssm-documents'

ResourceTypeVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable.property.validValues">validValues</a></code> | <code>string[]</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---

##### `validValues`<sup>Required</sup> <a name="validValues" id="@cdklabs/cdk-ssm-documents.ResourceTypeVariable.property.validValues"></a>

```typescript
public readonly validValues: string[];
```

- *Type:* string[]

---


### RunCommandSimulation <a name="RunCommandSimulation" id="@cdklabs/cdk-ssm-documents.RunCommandSimulation"></a>

AutomationStep implementation of [aws:runCommand](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-runcommand.html).

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.RunCommandSimulation.Initializer"></a>

```typescript
import { RunCommandSimulation } from '@cdklabs/cdk-ssm-documents'

new RunCommandSimulation(step: RunCommandStep, props: RunCommandSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandStep">RunCommandStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandSimulationProps">RunCommandSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.RunCommandSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunCommandStep">RunCommandStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.RunCommandSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunCommandSimulationProps">RunCommandSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandSimulation.executeStep">executeStep</a></code> | May perform a real approval ask based on the params used during instance creation. |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.RunCommandSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

May perform a real approval ask based on the params used during instance creation.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.RunCommandSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.RunCommandSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.RunCommandSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunCommandSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.RunCommandSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.RunCommandSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### RunInstanceSimulation <a name="RunInstanceSimulation" id="@cdklabs/cdk-ssm-documents.RunInstanceSimulation"></a>

AutomationStep implemenation for aws:runInstance https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-runinstance.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.RunInstanceSimulation.Initializer"></a>

```typescript
import { RunInstanceSimulation } from '@cdklabs/cdk-ssm-documents'

new RunInstanceSimulation(step: RunInstanceStep, props: AwsInvocationSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep">RunInstanceStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.RunInstanceSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep">RunInstanceStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.RunInstanceSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AwsInvocationSimulationProps">AwsInvocationSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.RunInstanceSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.RunInstanceSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.RunInstanceSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.RunInstanceSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunInstanceSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.RunInstanceSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.RunInstanceSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### RunPowerShellScriptSimulation <a name="RunPowerShellScriptSimulation" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptSimulation"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptSimulation.Initializer"></a>

```typescript
import { RunPowerShellScriptSimulation } from '@cdklabs/cdk-ssm-documents'

new RunPowerShellScriptSimulation(step: RunPowerShellScriptStep, props: EnvironmentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep">RunPowerShellScriptStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.EnvironmentProps">EnvironmentProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep">RunPowerShellScriptStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.EnvironmentProps">EnvironmentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptSimulation.executeStep">executeStep</a></code> | Executes the runCommands against the environment provided in the constructor. |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): void
```

Executes the runCommands against the environment provided in the constructor.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.RunPowerShellScriptSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---




### RunShellScriptSimulation <a name="RunShellScriptSimulation" id="@cdklabs/cdk-ssm-documents.RunShellScriptSimulation"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.RunShellScriptSimulation.Initializer"></a>

```typescript
import { RunShellScriptSimulation } from '@cdklabs/cdk-ssm-documents'

new RunShellScriptSimulation(step: RunShellScriptStep, props: EnvironmentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep">RunShellScriptStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.EnvironmentProps">EnvironmentProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.RunShellScriptSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep">RunShellScriptStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.RunShellScriptSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.EnvironmentProps">EnvironmentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.RunShellScriptSimulation.executeStep">executeStep</a></code> | Executes the runCommands against the environment provided in the constructor. |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.RunShellScriptSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): void
```

Executes the runCommands against the environment provided in the constructor.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.RunShellScriptSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---




### S3Content <a name="S3Content" id="@cdklabs/cdk-ssm-documents.S3Content"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent">IDownloadableContent</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.S3Content.Initializer"></a>

```typescript
import { S3Content } from '@cdklabs/cdk-ssm-documents'

new S3Content(props: S3ContentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.S3Content.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.S3ContentProps">S3ContentProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.S3Content.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.S3ContentProps">S3ContentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.S3Content.formatSourceInfo">formatSourceInfo</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.S3Content.requiredInputs">requiredInputs</a></code> | *No description.* |

---

##### `formatSourceInfo` <a name="formatSourceInfo" id="@cdklabs/cdk-ssm-documents.S3Content.formatSourceInfo"></a>

```typescript
public formatSourceInfo(): {[ key: string ]: any}
```

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.S3Content.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.S3Content.property.path">path</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.S3Content.property.sourceType">sourceType</a></code> | <code>string</code> | *No description.* |

---

##### `path`<sup>Required</sup> <a name="path" id="@cdklabs/cdk-ssm-documents.S3Content.property.path"></a>

```typescript
public readonly path: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `sourceType`<sup>Required</sup> <a name="sourceType" id="@cdklabs/cdk-ssm-documents.S3Content.property.sourceType"></a>

```typescript
public readonly sourceType: string;
```

- *Type:* string

---


### ScriptCode <a name="ScriptCode" id="@cdklabs/cdk-ssm-documents.ScriptCode"></a>

The code to run for the execution.

See "script" parameter here:
https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html
Attachments are not yet supported.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ScriptCode.Initializer"></a>

```typescript
import { ScriptCode } from '@cdklabs/cdk-ssm-documents'

new ScriptCode()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ScriptCode.codeAsString">codeAsString</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ScriptCode.createOrGetFile">createOrGetFile</a></code> | If there is a file for this code, return it. |

---

##### `codeAsString` <a name="codeAsString" id="@cdklabs/cdk-ssm-documents.ScriptCode.codeAsString"></a>

```typescript
public codeAsString(): string
```

##### `createOrGetFile` <a name="createOrGetFile" id="@cdklabs/cdk-ssm-documents.ScriptCode.createOrGetFile"></a>

```typescript
public createOrGetFile(suffix: string): string
```

If there is a file for this code, return it.

Otherwise, create a file with the specified suffix.

###### `suffix`<sup>Required</sup> <a name="suffix" id="@cdklabs/cdk-ssm-documents.ScriptCode.createOrGetFile.parameter.suffix"></a>

- *Type:* string

of the file to create (such as ".py").

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ScriptCode.fromFile">fromFile</a></code> | Full path to the code to execute. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ScriptCode.inline">inline</a></code> | Inline code to be executed. |

---

##### `fromFile` <a name="fromFile" id="@cdklabs/cdk-ssm-documents.ScriptCode.fromFile"></a>

```typescript
import { ScriptCode } from '@cdklabs/cdk-ssm-documents'

ScriptCode.fromFile(fullPath: string)
```

Full path to the code to execute.

File is parsed to produce yaml/json.
Simulation will execute this file using the language specified.
(Attachments not yet supported)

###### `fullPath`<sup>Required</sup> <a name="fullPath" id="@cdklabs/cdk-ssm-documents.ScriptCode.fromFile.parameter.fullPath"></a>

- *Type:* string

---

##### `inline` <a name="inline" id="@cdklabs/cdk-ssm-documents.ScriptCode.inline"></a>

```typescript
import { ScriptCode } from '@cdklabs/cdk-ssm-documents'

ScriptCode.inline(code: string)
```

Inline code to be executed.

String will be used to produce function in yaml/json.
Simulation will execute the function in this string using the language specified.

###### `code`<sup>Required</sup> <a name="code" id="@cdklabs/cdk-ssm-documents.ScriptCode.inline.parameter.code"></a>

- *Type:* string

---



### ScriptLanguage <a name="ScriptLanguage" id="@cdklabs/cdk-ssm-documents.ScriptLanguage"></a>

Specifies the script language as described in the "Runtime" argument here: https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.Initializer"></a>

```typescript
import { ScriptLanguage } from '@cdklabs/cdk-ssm-documents'

new ScriptLanguage()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ScriptLanguage.fileSuffix">fileSuffix</a></code> | The suffix to apply to file names of this type of execution. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ScriptLanguage.runtime">runtime</a></code> | The associated runtime of this ScriptLanguage. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ScriptLanguage.simulate">simulate</a></code> | Simulate an execution of this ScriptLanguage. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ScriptLanguage.ssmInputs">ssmInputs</a></code> | Builds the ssm inputs. |

---

##### `fileSuffix` <a name="fileSuffix" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.fileSuffix"></a>

```typescript
public fileSuffix(): string
```

The suffix to apply to file names of this type of execution.

##### `runtime` <a name="runtime" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.runtime"></a>

```typescript
public runtime(): string
```

The associated runtime of this ScriptLanguage.

##### `simulate` <a name="simulate" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.simulate"></a>

```typescript
public simulate(code: ScriptCode, inputs: {[ key: string ]: string}): {[ key: string ]: string}
```

Simulate an execution of this ScriptLanguage.

Provide the inputs after replaced with the actual values (not variables).

###### `code`<sup>Required</sup> <a name="code" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.simulate.parameter.code"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ScriptCode">ScriptCode</a>

---

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.simulate.parameter.inputs"></a>

- *Type:* {[ key: string ]: string}

---

##### `ssmInputs` <a name="ssmInputs" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.ssmInputs"></a>

```typescript
public ssmInputs(): {[ key: string ]: string}
```

Builds the ssm inputs.

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ScriptLanguage.fromRuntime">fromRuntime</a></code> | Creates a ScriptLanguage based on the provided runtime. |
| <code><a href="#@cdklabs/cdk-ssm-documents.ScriptLanguage.python">python</a></code> | Create a new ScriptLanguage for python execution. |

---

##### `fromRuntime` <a name="fromRuntime" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.fromRuntime"></a>

```typescript
import { ScriptLanguage } from '@cdklabs/cdk-ssm-documents'

ScriptLanguage.fromRuntime(runtime: string, handlerName?: string)
```

Creates a ScriptLanguage based on the provided runtime.

Prefer one of the other static constructors if possible.

###### `runtime`<sup>Required</sup> <a name="runtime" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.fromRuntime.parameter.runtime"></a>

- *Type:* string

is the runtime name (such as "python3.11").

---

###### `handlerName`<sup>Optional</sup> <a name="handlerName" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.fromRuntime.parameter.handlerName"></a>

- *Type:* string

to be provided for python executions.

---

##### `python` <a name="python" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.python"></a>

```typescript
import { ScriptLanguage } from '@cdklabs/cdk-ssm-documents'

ScriptLanguage.python(version: PythonVersion, handlerName: string)
```

Create a new ScriptLanguage for python execution.

###### `version`<sup>Required</sup> <a name="version" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.python.parameter.version"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.PythonVersion">PythonVersion</a>

is the pythonVersion to use when writing the document (for simulation will not matter).

---

###### `handlerName`<sup>Required</sup> <a name="handlerName" id="@cdklabs/cdk-ssm-documents.ScriptLanguage.python.parameter.handlerName"></a>

- *Type:* string

is the function name in code as entry point for script handler.

---



### SecureVariable <a name="SecureVariable" id="@cdklabs/cdk-ssm-documents.SecureVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

A secure string variable.

Only supported by Command documents (only supported in downloadContent plugin).

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.SecureVariable.Initializer"></a>

```typescript
import { SecureVariable } from '@cdklabs/cdk-ssm-documents'

new SecureVariable()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.SecureVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.SecureVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.SecureVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.SecureVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.SecureVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable.ofParameter">ofParameter</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable.ofSecureToken">ofSecureToken</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable.ofValue">ofValue</a></code> | *No description.* |

---

##### `ofParameter` <a name="ofParameter" id="@cdklabs/cdk-ssm-documents.SecureVariable.ofParameter"></a>

```typescript
import { SecureVariable } from '@cdklabs/cdk-ssm-documents'

SecureVariable.ofParameter(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.SecureVariable.ofParameter.parameter.reference"></a>

- *Type:* string

---

##### `ofSecureToken` <a name="ofSecureToken" id="@cdklabs/cdk-ssm-documents.SecureVariable.ofSecureToken"></a>

```typescript
import { SecureVariable } from '@cdklabs/cdk-ssm-documents'

SecureVariable.ofSecureToken(secureToken: string)
```

###### `secureToken`<sup>Required</sup> <a name="secureToken" id="@cdklabs/cdk-ssm-documents.SecureVariable.ofSecureToken.parameter.secureToken"></a>

- *Type:* string

---

##### `ofValue` <a name="ofValue" id="@cdklabs/cdk-ssm-documents.SecureVariable.ofValue"></a>

```typescript
import { SecureVariable } from '@cdklabs/cdk-ssm-documents'

SecureVariable.ofValue(value: string)
```

###### `value`<sup>Required</sup> <a name="value" id="@cdklabs/cdk-ssm-documents.SecureVariable.ofValue.parameter.value"></a>

- *Type:* string

---



### Simulation <a name="Simulation" id="@cdklabs/cdk-ssm-documents.Simulation"></a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Simulation.simulate">simulate</a></code> | Synthesize before calling this function! You can use this to Synthesize: SynthUtils.synthesize(stack); |

---

##### `simulate` <a name="simulate" id="@cdklabs/cdk-ssm-documents.Simulation.simulate"></a>

```typescript
public simulate(inputs: {[ key: string ]: any}): DocumentResult
```

Synthesize before calling this function! You can use this to Synthesize: SynthUtils.synthesize(stack);

Executes the SSM Document in simulation mode.
This method DOES NOT result in invocation of SSM APIs.
Rather, all steps are executed locally and mimic the behavior of SSM.
If any inputs are not provided in this function, the specified defaults for the inputs will be used.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.Simulation.simulate.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

the inputs to feed into the simulated execution.

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Simulation.ofAutomation">ofAutomation</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Simulation.ofCommand">ofCommand</a></code> | *No description.* |

---

##### `ofAutomation` <a name="ofAutomation" id="@cdklabs/cdk-ssm-documents.Simulation.ofAutomation"></a>

```typescript
import { Simulation } from '@cdklabs/cdk-ssm-documents'

Simulation.ofAutomation(document: AutomationDocument, props: AutomationSimulationProps)
```

###### `document`<sup>Required</sup> <a name="document" id="@cdklabs/cdk-ssm-documents.Simulation.ofAutomation.parameter.document"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocument">AutomationDocument</a>

---

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Simulation.ofAutomation.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationSimulationProps">AutomationSimulationProps</a>

---

##### `ofCommand` <a name="ofCommand" id="@cdklabs/cdk-ssm-documents.Simulation.ofCommand"></a>

```typescript
import { Simulation } from '@cdklabs/cdk-ssm-documents'

Simulation.ofCommand(document: CommandDocument, props: CommandSimulationProps)
```

###### `document`<sup>Required</sup> <a name="document" id="@cdklabs/cdk-ssm-documents.Simulation.ofCommand.parameter.document"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocument">CommandDocument</a>

---

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Simulation.ofCommand.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandSimulationProps">CommandSimulationProps</a>

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Simulation.property.document">document</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocument">SsmDocument</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Simulation.property.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SimulationProps">SimulationProps</a></code> | *No description.* |

---

##### `document`<sup>Required</sup> <a name="document" id="@cdklabs/cdk-ssm-documents.Simulation.property.document"></a>

```typescript
public readonly document: SsmDocument;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SsmDocument">SsmDocument</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.Simulation.property.props"></a>

```typescript
public readonly props: SimulationProps;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SimulationProps">SimulationProps</a>

---


### SleepImpl <a name="SleepImpl" id="@cdklabs/cdk-ssm-documents.SleepImpl"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>

Performs a real sleep.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.SleepImpl.Initializer"></a>

```typescript
import { SleepImpl } from '@cdklabs/cdk-ssm-documents'

new SleepImpl()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepImpl.sleep">sleep</a></code> | Synchronously sleeps for duration specified in millis. |

---

##### `sleep` <a name="sleep" id="@cdklabs/cdk-ssm-documents.SleepImpl.sleep"></a>

```typescript
public sleep(timeMillis: number): void
```

Synchronously sleeps for duration specified in millis.

###### `timeMillis`<sup>Required</sup> <a name="timeMillis" id="@cdklabs/cdk-ssm-documents.SleepImpl.sleep.parameter.timeMillis"></a>

- *Type:* number

---




### SleepSimulation <a name="SleepSimulation" id="@cdklabs/cdk-ssm-documents.SleepSimulation"></a>

AutomationStep implemenation for aws:sleep https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-sleep.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.SleepSimulation.Initializer"></a>

```typescript
import { SleepSimulation } from '@cdklabs/cdk-ssm-documents'

new SleepSimulation(step: SleepStep, props: SleepSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SleepStep">SleepStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SleepSimulationProps">SleepSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.SleepSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SleepStep">SleepStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.SleepSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SleepSimulationProps">SleepSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.SleepSimulation.executeStep"></a>

```typescript
public executeStep(_inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.SleepSimulation.executeStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.SleepSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.SleepSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SleepSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.SleepSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.SleepSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### SSMDocumentContent <a name="SSMDocumentContent" id="@cdklabs/cdk-ssm-documents.SSMDocumentContent"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent">IDownloadableContent</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.SSMDocumentContent.Initializer"></a>

```typescript
import { SSMDocumentContent } from '@cdklabs/cdk-ssm-documents'

new SSMDocumentContent(props: SsmDocumentContentProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SSMDocumentContent.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SsmDocumentContentProps">SsmDocumentContentProps</a></code> | *No description.* |

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.SSMDocumentContent.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SsmDocumentContentProps">SsmDocumentContentProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SSMDocumentContent.formatSourceInfo">formatSourceInfo</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SSMDocumentContent.requiredInputs">requiredInputs</a></code> | *No description.* |

---

##### `formatSourceInfo` <a name="formatSourceInfo" id="@cdklabs/cdk-ssm-documents.SSMDocumentContent.formatSourceInfo"></a>

```typescript
public formatSourceInfo(): {[ key: string ]: any}
```

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.SSMDocumentContent.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SSMDocumentContent.property.documentSource">documentSource</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.DocumentSource">DocumentSource</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SSMDocumentContent.property.sourceType">sourceType</a></code> | <code>string</code> | *No description.* |

---

##### `documentSource`<sup>Required</sup> <a name="documentSource" id="@cdklabs/cdk-ssm-documents.SSMDocumentContent.property.documentSource"></a>

```typescript
public readonly documentSource: DocumentSource;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.DocumentSource">DocumentSource</a>

---

##### `sourceType`<sup>Required</sup> <a name="sourceType" id="@cdklabs/cdk-ssm-documents.SSMDocumentContent.property.sourceType"></a>

```typescript
public readonly sourceType: string;
```

- *Type:* string

---


### SsmRunDocument <a name="SsmRunDocument" id="@cdklabs/cdk-ssm-documents.SsmRunDocument"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IRunDocumentLocation">IRunDocumentLocation</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.SsmRunDocument.Initializer"></a>

```typescript
import { SsmRunDocument } from '@cdklabs/cdk-ssm-documents'

new SsmRunDocument(documentName: IStringVariable)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmRunDocument.Initializer.parameter.documentName">documentName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |

---

##### `documentName`<sup>Required</sup> <a name="documentName" id="@cdklabs/cdk-ssm-documents.SsmRunDocument.Initializer.parameter.documentName"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---



#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmRunDocument.property.location">location</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmRunDocument.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `location`<sup>Required</sup> <a name="location" id="@cdklabs/cdk-ssm-documents.SsmRunDocument.property.location"></a>

```typescript
public readonly location: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `type`<sup>Required</sup> <a name="type" id="@cdklabs/cdk-ssm-documents.SsmRunDocument.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---


### SsmSecureVariable <a name="SsmSecureVariable" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.Initializer"></a>

```typescript
import { SsmSecureVariable } from '@cdklabs/cdk-ssm-documents'

new SsmSecureVariable(secureToken: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmSecureVariable.Initializer.parameter.secureToken">secureToken</a></code> | <code>string</code> | *No description.* |

---

##### `secureToken`<sup>Required</sup> <a name="secureToken" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.Initializer.parameter.secureToken"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmSecureVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmSecureVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmSecureVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmSecureVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.resolve"></a>

```typescript
public resolve(_inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.resolve.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmSecureVariable.ofParameter">ofParameter</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmSecureVariable.ofSecureToken">ofSecureToken</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmSecureVariable.ofValue">ofValue</a></code> | *No description.* |

---

##### `ofParameter` <a name="ofParameter" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.ofParameter"></a>

```typescript
import { SsmSecureVariable } from '@cdklabs/cdk-ssm-documents'

SsmSecureVariable.ofParameter(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.ofParameter.parameter.reference"></a>

- *Type:* string

---

##### `ofSecureToken` <a name="ofSecureToken" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.ofSecureToken"></a>

```typescript
import { SsmSecureVariable } from '@cdklabs/cdk-ssm-documents'

SsmSecureVariable.ofSecureToken(secureToken: string)
```

###### `secureToken`<sup>Required</sup> <a name="secureToken" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.ofSecureToken.parameter.secureToken"></a>

- *Type:* string

---

##### `ofValue` <a name="ofValue" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.ofValue"></a>

```typescript
import { SsmSecureVariable } from '@cdklabs/cdk-ssm-documents'

SsmSecureVariable.ofValue(value: string)
```

###### `value`<sup>Required</sup> <a name="value" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.ofValue.parameter.value"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SsmSecureVariable.property.secureToken">secureToken</a></code> | <code>string</code> | *No description.* |

---

##### `secureToken`<sup>Required</sup> <a name="secureToken" id="@cdklabs/cdk-ssm-documents.SsmSecureVariable.property.secureToken"></a>

```typescript
public readonly secureToken: string;
```

- *Type:* string

---


### StepFallback <a name="StepFallback" id="@cdklabs/cdk-ssm-documents.StepFallback"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.StepFallback.Initializer"></a>

```typescript
import { StepFallback } from '@cdklabs/cdk-ssm-documents'

new StepFallback(step: AutomationStep, validateStepAction: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepFallback.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepFallback.Initializer.parameter.validateStepAction">validateStepAction</a></code> | <code>boolean</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.StepFallback.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `validateStepAction`<sup>Required</sup> <a name="validateStepAction" id="@cdklabs/cdk-ssm-documents.StepFallback.Initializer.parameter.validateStepAction"></a>

- *Type:* boolean

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepFallback.stepToInvoke">stepToInvoke</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepFallback.toSsmValue">toSsmValue</a></code> | *No description.* |

---

##### `stepToInvoke` <a name="stepToInvoke" id="@cdklabs/cdk-ssm-documents.StepFallback.stepToInvoke"></a>

```typescript
public stepToInvoke(_currentStep: AutomationStep): string
```

###### `_currentStep`<sup>Required</sup> <a name="_currentStep" id="@cdklabs/cdk-ssm-documents.StepFallback.stepToInvoke.parameter._currentStep"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `toSsmValue` <a name="toSsmValue" id="@cdklabs/cdk-ssm-documents.StepFallback.toSsmValue"></a>

```typescript
public toSsmValue(): string
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepFallback.abort">abort</a></code> | To abort execution if a cancellation occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepFallback.continue">continue</a></code> | To continue execution of the subsequent step if a failure occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepFallback.invokeStep">invokeStep</a></code> | Invoke a specific step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepFallback.invokeStepByName">invokeStepByName</a></code> | Invoke a specific step by the step name for the OnCancel action. |

---

##### `abort` <a name="abort" id="@cdklabs/cdk-ssm-documents.StepFallback.abort"></a>

```typescript
import { StepFallback } from '@cdklabs/cdk-ssm-documents'

StepFallback.abort()
```

To abort execution if a cancellation occurs during execution of the current step.

(This is the default behavior.)

##### `continue` <a name="continue" id="@cdklabs/cdk-ssm-documents.StepFallback.continue"></a>

```typescript
import { StepFallback } from '@cdklabs/cdk-ssm-documents'

StepFallback.continue()
```

To continue execution of the subsequent step if a failure occurs during execution of the current step.

##### `invokeStep` <a name="invokeStep" id="@cdklabs/cdk-ssm-documents.StepFallback.invokeStep"></a>

```typescript
import { StepFallback } from '@cdklabs/cdk-ssm-documents'

StepFallback.invokeStep(step: AutomationStep)
```

Invoke a specific step.

Provide the step object to execute for the onCancel action.
If you don't have a handle to the step object, use the invokeStepByName function.
Not all action types may be invoked during cancellation. See documentation referenced on this class.

###### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.StepFallback.invokeStep.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `invokeStepByName` <a name="invokeStepByName" id="@cdklabs/cdk-ssm-documents.StepFallback.invokeStepByName"></a>

```typescript
import { StepFallback } from '@cdklabs/cdk-ssm-documents'

StepFallback.invokeStepByName(stepName: string)
```

Invoke a specific step by the step name for the OnCancel action.

Not all action types may be invoked during cancellation. See documentation referenced on this class.

###### `stepName`<sup>Required</sup> <a name="stepName" id="@cdklabs/cdk-ssm-documents.StepFallback.invokeStepByName.parameter.stepName"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepFallback.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.StepFallback.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

#### Constants <a name="Constants" id="Constants"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepFallback.property.ILLEGAL_FALLBACK_ACTIONS">ILLEGAL_FALLBACK_ACTIONS</a></code> | <code>string[]</code> | *No description.* |

---

##### `ILLEGAL_FALLBACK_ACTIONS`<sup>Required</sup> <a name="ILLEGAL_FALLBACK_ACTIONS" id="@cdklabs/cdk-ssm-documents.StepFallback.property.ILLEGAL_FALLBACK_ACTIONS"></a>

```typescript
public readonly ILLEGAL_FALLBACK_ACTIONS: string[];
```

- *Type:* string[]

---

### StepNameFallback <a name="StepNameFallback" id="@cdklabs/cdk-ssm-documents.StepNameFallback"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.StepNameFallback.Initializer"></a>

```typescript
import { StepNameFallback } from '@cdklabs/cdk-ssm-documents'

new StepNameFallback(step: string, validateStepAction: boolean)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepNameFallback.Initializer.parameter.step">step</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepNameFallback.Initializer.parameter.validateStepAction">validateStepAction</a></code> | <code>boolean</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.StepNameFallback.Initializer.parameter.step"></a>

- *Type:* string

---

##### `validateStepAction`<sup>Required</sup> <a name="validateStepAction" id="@cdklabs/cdk-ssm-documents.StepNameFallback.Initializer.parameter.validateStepAction"></a>

- *Type:* boolean

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepNameFallback.stepToInvoke">stepToInvoke</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepNameFallback.toSsmValue">toSsmValue</a></code> | *No description.* |

---

##### `stepToInvoke` <a name="stepToInvoke" id="@cdklabs/cdk-ssm-documents.StepNameFallback.stepToInvoke"></a>

```typescript
public stepToInvoke(currentStep: AutomationStep): string
```

###### `currentStep`<sup>Required</sup> <a name="currentStep" id="@cdklabs/cdk-ssm-documents.StepNameFallback.stepToInvoke.parameter.currentStep"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `toSsmValue` <a name="toSsmValue" id="@cdklabs/cdk-ssm-documents.StepNameFallback.toSsmValue"></a>

```typescript
public toSsmValue(): string
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepNameFallback.abort">abort</a></code> | To abort execution if a cancellation occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepNameFallback.continue">continue</a></code> | To continue execution of the subsequent step if a failure occurs during execution of the current step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepNameFallback.invokeStep">invokeStep</a></code> | Invoke a specific step. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepNameFallback.invokeStepByName">invokeStepByName</a></code> | Invoke a specific step by the step name for the OnCancel action. |

---

##### `abort` <a name="abort" id="@cdklabs/cdk-ssm-documents.StepNameFallback.abort"></a>

```typescript
import { StepNameFallback } from '@cdklabs/cdk-ssm-documents'

StepNameFallback.abort()
```

To abort execution if a cancellation occurs during execution of the current step.

(This is the default behavior.)

##### `continue` <a name="continue" id="@cdklabs/cdk-ssm-documents.StepNameFallback.continue"></a>

```typescript
import { StepNameFallback } from '@cdklabs/cdk-ssm-documents'

StepNameFallback.continue()
```

To continue execution of the subsequent step if a failure occurs during execution of the current step.

##### `invokeStep` <a name="invokeStep" id="@cdklabs/cdk-ssm-documents.StepNameFallback.invokeStep"></a>

```typescript
import { StepNameFallback } from '@cdklabs/cdk-ssm-documents'

StepNameFallback.invokeStep(step: AutomationStep)
```

Invoke a specific step.

Provide the step object to execute for the onCancel action.
If you don't have a handle to the step object, use the invokeStepByName function.
Not all action types may be invoked during cancellation. See documentation referenced on this class.

###### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.StepNameFallback.invokeStep.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `invokeStepByName` <a name="invokeStepByName" id="@cdklabs/cdk-ssm-documents.StepNameFallback.invokeStepByName"></a>

```typescript
import { StepNameFallback } from '@cdklabs/cdk-ssm-documents'

StepNameFallback.invokeStepByName(stepName: string)
```

Invoke a specific step by the step name for the OnCancel action.

Not all action types may be invoked during cancellation. See documentation referenced on this class.

###### `stepName`<sup>Required</sup> <a name="stepName" id="@cdklabs/cdk-ssm-documents.StepNameFallback.invokeStepByName.parameter.stepName"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepNameFallback.property.step">step</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepNameFallback.property.validateStepAction">validateStepAction</a></code> | <code>boolean</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.StepNameFallback.property.step"></a>

```typescript
public readonly step: string;
```

- *Type:* string

---

##### `validateStepAction`<sup>Required</sup> <a name="validateStepAction" id="@cdklabs/cdk-ssm-documents.StepNameFallback.property.validateStepAction"></a>

```typescript
public readonly validateStepAction: boolean;
```

- *Type:* boolean

---


### StepRef <a name="StepRef" id="@cdklabs/cdk-ssm-documents.StepRef"></a>

Class to reference AutomationSteps.

The class allows steps to be referenced by the Step object or by the step name.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.StepRef.Initializer"></a>

```typescript
import { StepRef } from '@cdklabs/cdk-ssm-documents'

new StepRef(stepName: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepRef.Initializer.parameter.stepName">stepName</a></code> | <code>string</code> | *No description.* |

---

##### `stepName`<sup>Required</sup> <a name="stepName" id="@cdklabs/cdk-ssm-documents.StepRef.Initializer.parameter.stepName"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepRef.resolve">resolve</a></code> | Resolve to an AutomationStep object. |

---

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.StepRef.resolve"></a>

```typescript
public resolve(allStepsInExecution: AutomationStep[]): AutomationStep
```

Resolve to an AutomationStep object.

Provide all the steps in the execution to find the associated step.

###### `allStepsInExecution`<sup>Required</sup> <a name="allStepsInExecution" id="@cdklabs/cdk-ssm-documents.StepRef.resolve.parameter.allStepsInExecution"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>[]

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepRef.fromName">fromName</a></code> | Static constructor for creating a reference to a step from a step name. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepRef.fromObject">fromObject</a></code> | Static constructor for creating a reference to a step from an AutomationStep object. |

---

##### `fromName` <a name="fromName" id="@cdklabs/cdk-ssm-documents.StepRef.fromName"></a>

```typescript
import { StepRef } from '@cdklabs/cdk-ssm-documents'

StepRef.fromName(stepName: string)
```

Static constructor for creating a reference to a step from a step name.

###### `stepName`<sup>Required</sup> <a name="stepName" id="@cdklabs/cdk-ssm-documents.StepRef.fromName.parameter.stepName"></a>

- *Type:* string

---

##### `fromObject` <a name="fromObject" id="@cdklabs/cdk-ssm-documents.StepRef.fromObject"></a>

```typescript
import { StepRef } from '@cdklabs/cdk-ssm-documents'

StepRef.fromObject(step: AutomationStep)
```

Static constructor for creating a reference to a step from an AutomationStep object.

###### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.StepRef.fromObject.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StepRef.property.stepName">stepName</a></code> | <code>string</code> | *No description.* |

---

##### `stepName`<sup>Required</sup> <a name="stepName" id="@cdklabs/cdk-ssm-documents.StepRef.property.stepName"></a>

```typescript
public readonly stepName: string;
```

- *Type:* string

---


### StringDocument <a name="StringDocument" id="@cdklabs/cdk-ssm-documents.StringDocument"></a>

This AutomationDocument supports declaring your document from an existing document (JSON/YAML String/File).

Importing an existing file allows for benefiting from the simulated execution.
The simulated execution will run locally in the same fashion that SSM Execution would run the document.
You can supply mocks to the simulator and validate the calls and the flow of the document without running via SSM execution.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.StringDocument.Initializer"></a>

```typescript
import { StringDocument } from '@cdklabs/cdk-ssm-documents'

new StringDocument()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---


#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringDocument.fromFile">fromFile</a></code> | Create an AutomationDocument from an existing AutomationDocument yaml or json file. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringDocument.fromJson">fromJson</a></code> | Create an AutomationDocument from an existing json string. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringDocument.fromYaml">fromYaml</a></code> | Create an AutomationDocument from an existing yaml string. |

---

##### `fromFile` <a name="fromFile" id="@cdklabs/cdk-ssm-documents.StringDocument.fromFile"></a>

```typescript
import { StringDocument } from '@cdklabs/cdk-ssm-documents'

StringDocument.fromFile(stack: Construct, id: string, documentFilePath: string)
```

Create an AutomationDocument from an existing AutomationDocument yaml or json file.

Note: This function will deduce whether the file is written in yaml or json based on whether it has a .yaml or .yml extention.
You can use the returned AutomationDocument to run simulations as you would other documents created using this library.

###### `stack`<sup>Required</sup> <a name="stack" id="@cdklabs/cdk-ssm-documents.StringDocument.fromFile.parameter.stack"></a>

- *Type:* constructs.Construct

---

###### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.StringDocument.fromFile.parameter.id"></a>

- *Type:* string

---

###### `documentFilePath`<sup>Required</sup> <a name="documentFilePath" id="@cdklabs/cdk-ssm-documents.StringDocument.fromFile.parameter.documentFilePath"></a>

- *Type:* string

---

##### `fromJson` <a name="fromJson" id="@cdklabs/cdk-ssm-documents.StringDocument.fromJson"></a>

```typescript
import { StringDocument } from '@cdklabs/cdk-ssm-documents'

StringDocument.fromJson(stack: Construct, id: string, documentJson: string)
```

Create an AutomationDocument from an existing json string.

You can use the returned AutomationDocument to run simulations as you would other documents created using this library.

###### `stack`<sup>Required</sup> <a name="stack" id="@cdklabs/cdk-ssm-documents.StringDocument.fromJson.parameter.stack"></a>

- *Type:* constructs.Construct

---

###### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.StringDocument.fromJson.parameter.id"></a>

- *Type:* string

---

###### `documentJson`<sup>Required</sup> <a name="documentJson" id="@cdklabs/cdk-ssm-documents.StringDocument.fromJson.parameter.documentJson"></a>

- *Type:* string

---

##### `fromYaml` <a name="fromYaml" id="@cdklabs/cdk-ssm-documents.StringDocument.fromYaml"></a>

```typescript
import { StringDocument } from '@cdklabs/cdk-ssm-documents'

StringDocument.fromYaml(stack: Construct, id: string, documentYaml: string)
```

Create an AutomationDocument from an existing yaml string.

You can use the returned AutomationDocument to run simulations as you would other documents created using this library.

###### `stack`<sup>Required</sup> <a name="stack" id="@cdklabs/cdk-ssm-documents.StringDocument.fromYaml.parameter.stack"></a>

- *Type:* constructs.Construct

---

###### `id`<sup>Required</sup> <a name="id" id="@cdklabs/cdk-ssm-documents.StringDocument.fromYaml.parameter.id"></a>

- *Type:* string

---

###### `documentYaml`<sup>Required</sup> <a name="documentYaml" id="@cdklabs/cdk-ssm-documents.StringDocument.fromYaml.parameter.documentYaml"></a>

- *Type:* string

---



### StringFormat <a name="StringFormat" id="@cdklabs/cdk-ssm-documents.StringFormat"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

Replacement for strings using Java String format style "%s" replacements.

Example: new StringFormat("This %s a replacement: %s", [new HardCodedValue("is"), new ExportedVariable("myInput")]);
The supported variable strings are either:
1. Implicit indices: "%s" where the first occurrence will match the first variable, the next will match the second...
2. Explicit indices: Example: "%1$s"; where "%1$s" matches the first variable and "%1$s" matches the second.
Do not combine usage of implicit and explicit indices. Choose one per StringFormat instance.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.StringFormat.Initializer"></a>

```typescript
import { StringFormat } from '@cdklabs/cdk-ssm-documents'

new StringFormat(format: string, variables?: IGenericVariable[])
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringFormat.Initializer.parameter.format">format</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringFormat.Initializer.parameter.variables">variables</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>[]</code> | *No description.* |

---

##### `format`<sup>Required</sup> <a name="format" id="@cdklabs/cdk-ssm-documents.StringFormat.Initializer.parameter.format"></a>

- *Type:* string

---

##### `variables`<sup>Optional</sup> <a name="variables" id="@cdklabs/cdk-ssm-documents.StringFormat.Initializer.parameter.variables"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>[]

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringFormat.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringFormat.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringFormat.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringFormat.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringFormat.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.StringFormat.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.StringFormat.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.StringFormat.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.StringFormat.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.StringFormat.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.StringFormat.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.StringFormat.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringFormat.property.format">format</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringFormat.property.variables">variables</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>[]</code> | *No description.* |

---

##### `format`<sup>Required</sup> <a name="format" id="@cdklabs/cdk-ssm-documents.StringFormat.property.format"></a>

```typescript
public readonly format: string;
```

- *Type:* string

---

##### `variables`<sup>Required</sup> <a name="variables" id="@cdklabs/cdk-ssm-documents.StringFormat.property.variables"></a>

```typescript
public readonly variables: IGenericVariable[];
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>[]

---


### StringListVariable <a name="StringListVariable" id="@cdklabs/cdk-ssm-documents.StringListVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

A string list variable reference.

Used to resolve the value from step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.StringListVariable.Initializer"></a>

```typescript
import { StringListVariable } from '@cdklabs/cdk-ssm-documents'

new StringListVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.StringListVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListVariable.resolveToStringList">resolveToStringList</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.StringListVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.StringListVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.StringListVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.StringListVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.StringListVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.StringListVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToStringList` <a name="resolveToStringList" id="@cdklabs/cdk-ssm-documents.StringListVariable.resolveToStringList"></a>

```typescript
public resolveToStringList(inputs: {[ key: string ]: any}): string[]
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.StringListVariable.resolveToStringList.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.StringListVariable.of"></a>

```typescript
import { StringListVariable } from '@cdklabs/cdk-ssm-documents'

StringListVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.StringListVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringListVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.StringListVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---


### StringMapVariable <a name="StringMapVariable" id="@cdklabs/cdk-ssm-documents.StringMapVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

A string map variable reference.

Used to resolve the value from step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.StringMapVariable.Initializer"></a>

```typescript
import { StringMapVariable } from '@cdklabs/cdk-ssm-documents'

new StringMapVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.StringMapVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapVariable.resolveToStringMap">resolveToStringMap</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.StringMapVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.StringMapVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.StringMapVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.StringMapVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.StringMapVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.StringMapVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToStringMap` <a name="resolveToStringMap" id="@cdklabs/cdk-ssm-documents.StringMapVariable.resolveToStringMap"></a>

```typescript
public resolveToStringMap(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.StringMapVariable.resolveToStringMap.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.StringMapVariable.of"></a>

```typescript
import { StringMapVariable } from '@cdklabs/cdk-ssm-documents'

StringMapVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.StringMapVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringMapVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.StringMapVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---


### StringVariable <a name="StringVariable" id="@cdklabs/cdk-ssm-documents.StringVariable"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

A string variable reference.

Used to resolve the value from step inputs.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.StringVariable.Initializer"></a>

```typescript
import { StringVariable } from '@cdklabs/cdk-ssm-documents'

new StringVariable(reference: string)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringVariable.Initializer.parameter.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.StringVariable.Initializer.parameter.reference"></a>

- *Type:* string

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringVariable.toString">toString</a></code> | Returns a string representation of an object. |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringVariable.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.StringVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.StringVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.StringVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.StringVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.StringVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.

##### `toString` <a name="toString" id="@cdklabs/cdk-ssm-documents.StringVariable.toString"></a>

```typescript
public toString(): string
```

Returns a string representation of an object.

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.StringVariable.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.StringVariable.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringVariable.of">of</a></code> | *No description.* |

---

##### `of` <a name="of" id="@cdklabs/cdk-ssm-documents.StringVariable.of"></a>

```typescript
import { StringVariable } from '@cdklabs/cdk-ssm-documents'

StringVariable.of(reference: string)
```

###### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.StringVariable.of.parameter.reference"></a>

- *Type:* string

---

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.StringVariable.property.reference">reference</a></code> | <code>string</code> | *No description.* |

---

##### `reference`<sup>Required</sup> <a name="reference" id="@cdklabs/cdk-ssm-documents.StringVariable.property.reference"></a>

```typescript
public readonly reference: string;
```

- *Type:* string

---


### SynthUtils <a name="SynthUtils" id="@cdklabs/cdk-ssm-documents.SynthUtils"></a>

Wraps SynthUtils from.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.SynthUtils.Initializer"></a>

```typescript
import { SynthUtils } from '@cdklabs/cdk-ssm-documents'

new SynthUtils()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---


#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.SynthUtils.synthesize">synthesize</a></code> | Wraps. |

---

##### `synthesize` <a name="synthesize" id="@cdklabs/cdk-ssm-documents.SynthUtils.synthesize"></a>

```typescript
import { SynthUtils } from '@cdklabs/cdk-ssm-documents'

SynthUtils.synthesize(stack: Stack)
```

Wraps.

###### `stack`<sup>Required</sup> <a name="stack" id="@cdklabs/cdk-ssm-documents.SynthUtils.synthesize.parameter.stack"></a>

- *Type:* aws-cdk-lib.Stack

---



### UpdateVariableSimulation <a name="UpdateVariableSimulation" id="@cdklabs/cdk-ssm-documents.UpdateVariableSimulation"></a>

AutomationStep implementation for aws:update-variable https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-update-variable.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.Initializer"></a>

```typescript
import { UpdateVariableSimulation } from '@cdklabs/cdk-ssm-documents'

new UpdateVariableSimulation(step: UpdateVariableStep)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep">UpdateVariableStep</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep">UpdateVariableStep</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.executeStep">executeStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.executeStep"></a>

```typescript
public executeStep(_inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.executeStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.property.updateVariableStep">updateVariableStep</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep">UpdateVariableStep</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---

##### `updateVariableStep`<sup>Required</sup> <a name="updateVariableStep" id="@cdklabs/cdk-ssm-documents.UpdateVariableSimulation.property.updateVariableStep"></a>

```typescript
public readonly updateVariableStep: UpdateVariableStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep">UpdateVariableStep</a>

---


### UsernamePasswordAuthMethod <a name="UsernamePasswordAuthMethod" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod"></a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.Initializer"></a>

```typescript
import { UsernamePasswordAuthMethod } from '@cdklabs/cdk-ssm-documents'

new UsernamePasswordAuthMethod(authMethod: string, userName: SecureVariable, password: SecureVariable)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.Initializer.parameter.authMethod">authMethod</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.Initializer.parameter.userName">userName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.Initializer.parameter.password">password</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | *No description.* |

---

##### `authMethod`<sup>Required</sup> <a name="authMethod" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.Initializer.parameter.authMethod"></a>

- *Type:* string

---

##### `userName`<sup>Required</sup> <a name="userName" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.Initializer.parameter.userName"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

##### `password`<sup>Required</sup> <a name="password" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.Initializer.parameter.password"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.requiredInputs">requiredInputs</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.toEntry">toEntry</a></code> | *No description.* |

---

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

##### `toEntry` <a name="toEntry" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.toEntry"></a>

```typescript
public toEntry(): {[ key: string ]: any}
```

#### Static Functions <a name="Static Functions" id="Static Functions"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.ofBasic">ofBasic</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.ofDigest">ofDigest</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.ofNone">ofNone</a></code> | *No description.* |

---

##### `ofBasic` <a name="ofBasic" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.ofBasic"></a>

```typescript
import { UsernamePasswordAuthMethod } from '@cdklabs/cdk-ssm-documents'

UsernamePasswordAuthMethod.ofBasic(userName: SecureVariable, password: SecureVariable)
```

###### `userName`<sup>Required</sup> <a name="userName" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.ofBasic.parameter.userName"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

###### `password`<sup>Required</sup> <a name="password" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.ofBasic.parameter.password"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

##### `ofDigest` <a name="ofDigest" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.ofDigest"></a>

```typescript
import { UsernamePasswordAuthMethod } from '@cdklabs/cdk-ssm-documents'

UsernamePasswordAuthMethod.ofDigest(userName: SecureVariable, password: SecureVariable)
```

###### `userName`<sup>Required</sup> <a name="userName" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.ofDigest.parameter.userName"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

###### `password`<sup>Required</sup> <a name="password" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.ofDigest.parameter.password"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

##### `ofNone` <a name="ofNone" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.ofNone"></a>

```typescript
import { UsernamePasswordAuthMethod } from '@cdklabs/cdk-ssm-documents'

UsernamePasswordAuthMethod.ofNone()
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.property.authMethod">authMethod</a></code> | <code>string</code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.property.password">password</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.property.userName">userName</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a></code> | *No description.* |

---

##### `authMethod`<sup>Required</sup> <a name="authMethod" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.property.authMethod"></a>

```typescript
public readonly authMethod: string;
```

- *Type:* string

---

##### `password`<sup>Required</sup> <a name="password" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.property.password"></a>

```typescript
public readonly password: SecureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---

##### `userName`<sup>Required</sup> <a name="userName" id="@cdklabs/cdk-ssm-documents.UsernamePasswordAuthMethod.property.userName"></a>

```typescript
public readonly userName: SecureVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>

---


### WaitForResourceSimulation <a name="WaitForResourceSimulation" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulation"></a>

AutomationStep impl for aws:waitForAwsResourceProperty https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-waitForAwsResourceProperty.html.

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.Initializer"></a>

```typescript
import { WaitForResourceSimulation } from '@cdklabs/cdk-ssm-documents'

new WaitForResourceSimulation(step: WaitForResourceStep, props: WaitForResourceSimulationProps)
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.Initializer.parameter.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep">WaitForResourceStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.Initializer.parameter.props">props</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceSimulationProps">WaitForResourceSimulationProps</a></code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.Initializer.parameter.step"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep">WaitForResourceStep</a>

---

##### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.Initializer.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.WaitForResourceSimulationProps">WaitForResourceSimulationProps</a>

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.executeStep">executeStep</a></code> | As is the case in an SSM Automation execution, this will continue to sleep/execute until desired value is found. |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.nextStep">nextStep</a></code> | *No description.* |

---

##### `executeStep` <a name="executeStep" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.executeStep"></a>

```typescript
public executeStep(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

As is the case in an SSM Automation execution, this will continue to sleep/execute until desired value is found.

This function will throw if the timeoutSeconds is exceeded and the desired value is still not received from AWS.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.executeStep.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

---

##### `nextStep` <a name="nextStep" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.nextStep"></a>

```typescript
public nextStep(_inputs: {[ key: string ]: any}): AutomationStep
```

###### `_inputs`<sup>Required</sup> <a name="_inputs" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.nextStep.parameter._inputs"></a>

- *Type:* {[ key: string ]: any}

---


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.property.step">step</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.property.action">action</a></code> | <code>string</code> | *No description.* |

---

##### `step`<sup>Required</sup> <a name="step" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.property.step"></a>

```typescript
public readonly step: AutomationStep;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>

---

##### `action`<sup>Required</sup> <a name="action" id="@cdklabs/cdk-ssm-documents.WaitForResourceSimulation.property.action"></a>

```typescript
public readonly action: string;
```

- *Type:* string

---


### WebhookImpl <a name="WebhookImpl" id="@cdklabs/cdk-ssm-documents.WebhookImpl"></a>

- *Implements:* <a href="#@cdklabs/cdk-ssm-documents.IWebhook">IWebhook</a>

#### Initializers <a name="Initializers" id="@cdklabs/cdk-ssm-documents.WebhookImpl.Initializer"></a>

```typescript
import { WebhookImpl } from '@cdklabs/cdk-ssm-documents'

new WebhookImpl()
```

| **Name** | **Type** | **Description** |
| --- | --- | --- |

---

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.WebhookImpl.invoke">invoke</a></code> | Invoke the web hook. |

---

##### `invoke` <a name="invoke" id="@cdklabs/cdk-ssm-documents.WebhookImpl.invoke"></a>

```typescript
public invoke(_props: InvokeWebhookProps): InvokeWebhookResult
```

Invoke the web hook.

###### `_props`<sup>Required</sup> <a name="_props" id="@cdklabs/cdk-ssm-documents.WebhookImpl.invoke.parameter._props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookProps">InvokeWebhookProps</a>

---




## Protocols <a name="Protocols" id="Protocols"></a>

### IActionVariable <a name="IActionVariable" id="@cdklabs/cdk-ssm-documents.IActionVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.ActionVariable">ActionVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedAction">HardCodedAction</a>, <a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a>



### IApproveHook <a name="IApproveHook" id="@cdklabs/cdk-ssm-documents.IApproveHook"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.ApproveImpl">ApproveImpl</a>, <a href="#@cdklabs/cdk-ssm-documents.MockApprove">MockApprove</a>, <a href="#@cdklabs/cdk-ssm-documents.IApproveHook">IApproveHook</a>

This can be used to provide a hook for approval implementation for ApproveStep.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IApproveHook.ask">ask</a></code> | Ask for approval. |

---

##### `ask` <a name="ask" id="@cdklabs/cdk-ssm-documents.IApproveHook.ask"></a>

```typescript
public ask(approver: string): boolean
```

Ask for approval.

###### `approver`<sup>Required</sup> <a name="approver" id="@cdklabs/cdk-ssm-documents.IApproveHook.ask.parameter.approver"></a>

- *Type:* string

---


### IAutomationComponent <a name="IAutomationComponent" id="@cdklabs/cdk-ssm-documents.IAutomationComponent"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.ApproveStep">ApproveStep</a>, <a href="#@cdklabs/cdk-ssm-documents.AssertAwsResourceStep">AssertAwsResourceStep</a>, <a href="#@cdklabs/cdk-ssm-documents.AutomationStep">AutomationStep</a>, <a href="#@cdklabs/cdk-ssm-documents.AwsApiStep">AwsApiStep</a>, <a href="#@cdklabs/cdk-ssm-documents.BranchStep">BranchStep</a>, <a href="#@cdklabs/cdk-ssm-documents.ChangeInstanceStateStep">ChangeInstanceStateStep</a>, <a href="#@cdklabs/cdk-ssm-documents.CompositeAutomationStep">CompositeAutomationStep</a>, <a href="#@cdklabs/cdk-ssm-documents.CopyImageStep">CopyImageStep</a>, <a href="#@cdklabs/cdk-ssm-documents.CreateImageStep">CreateImageStep</a>, <a href="#@cdklabs/cdk-ssm-documents.CreateStackStep">CreateStackStep</a>, <a href="#@cdklabs/cdk-ssm-documents.CreateTagsStep">CreateTagsStep</a>, <a href="#@cdklabs/cdk-ssm-documents.DeleteImageStep">DeleteImageStep</a>, <a href="#@cdklabs/cdk-ssm-documents.DeleteStackStep">DeleteStackStep</a>, <a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationStep">ExecuteAutomationStep</a>, <a href="#@cdklabs/cdk-ssm-documents.ExecuteScriptStep">ExecuteScriptStep</a>, <a href="#@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep">ExecuteStateMachineStep</a>, <a href="#@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep">InvokeLambdaFunctionStep</a>, <a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookStep">InvokeWebhookStep</a>, <a href="#@cdklabs/cdk-ssm-documents.PauseStep">PauseStep</a>, <a href="#@cdklabs/cdk-ssm-documents.RebootInstanceAndWait">RebootInstanceAndWait</a>, <a href="#@cdklabs/cdk-ssm-documents.RunCommandStep">RunCommandStep</a>, <a href="#@cdklabs/cdk-ssm-documents.RunInstanceStep">RunInstanceStep</a>, <a href="#@cdklabs/cdk-ssm-documents.SleepStep">SleepStep</a>, <a href="#@cdklabs/cdk-ssm-documents.StringStep">StringStep</a>, <a href="#@cdklabs/cdk-ssm-documents.UpdateVariableStep">UpdateVariableStep</a>, <a href="#@cdklabs/cdk-ssm-documents.WaitForResourceStep">WaitForResourceStep</a>, <a href="#@cdklabs/cdk-ssm-documents.IAutomationComponent">IAutomationComponent</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IAutomationComponent.addToDocument">addToDocument</a></code> | *No description.* |

---

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.IAutomationComponent.addToDocument"></a>

```typescript
public addToDocument(doc: AutomationDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.IAutomationComponent.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.AutomationDocumentBuilder">AutomationDocumentBuilder</a>

---


### IAwsInvoker <a name="IAwsInvoker" id="@cdklabs/cdk-ssm-documents.IAwsInvoker"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.MockAwsInvoker">MockAwsInvoker</a>, <a href="#@cdklabs/cdk-ssm-documents.ReflectiveAwsInvoker">ReflectiveAwsInvoker</a>, <a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker">IAwsInvoker</a>

Aws invoker interface.

This can be used to provide a hook for AWS invocation of steps so as to mock AWS behavior for simulation runs.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IAwsInvoker.invoke">invoke</a></code> | Invoke AWS with the provided invocation request. |

---

##### `invoke` <a name="invoke" id="@cdklabs/cdk-ssm-documents.IAwsInvoker.invoke"></a>

```typescript
public invoke(invocation: Invocation): any
```

Invoke AWS with the provided invocation request.

> [Invocation *](Invocation *)

###### `invocation`<sup>Required</sup> <a name="invocation" id="@cdklabs/cdk-ssm-documents.IAwsInvoker.invoke.parameter.invocation"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.Invocation">Invocation</a>

---


### IBooleanVariable <a name="IBooleanVariable" id="@cdklabs/cdk-ssm-documents.IBooleanVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.BooleanVariable">BooleanVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean">HardCodedBoolean</a>, <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>

A boolean variable.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable.resolveToBoolean">resolveToBoolean</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `resolveToBoolean` <a name="resolveToBoolean" id="@cdklabs/cdk-ssm-documents.IBooleanVariable.resolveToBoolean"></a>

```typescript
public resolveToBoolean(inputs: {[ key: string ]: any}): boolean
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.IBooleanVariable.resolveToBoolean.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

are the execution inputs.

---


### ICommandComponent <a name="ICommandComponent" id="@cdklabs/cdk-ssm-documents.ICommandComponent"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.ApplicationsStep">ApplicationsStep</a>, <a href="#@cdklabs/cdk-ssm-documents.CommandStep">CommandStep</a>, <a href="#@cdklabs/cdk-ssm-documents.CompositeCommandStep">CompositeCommandStep</a>, <a href="#@cdklabs/cdk-ssm-documents.ConfigureDockerStep">ConfigureDockerStep</a>, <a href="#@cdklabs/cdk-ssm-documents.ConfigurePackageStep">ConfigurePackageStep</a>, <a href="#@cdklabs/cdk-ssm-documents.DomainJoinStep">DomainJoinStep</a>, <a href="#@cdklabs/cdk-ssm-documents.DownloadContentStep">DownloadContentStep</a>, <a href="#@cdklabs/cdk-ssm-documents.PsModuleStep">PsModuleStep</a>, <a href="#@cdklabs/cdk-ssm-documents.RunDockerActionStep">RunDockerActionStep</a>, <a href="#@cdklabs/cdk-ssm-documents.RunDocumentStep">RunDocumentStep</a>, <a href="#@cdklabs/cdk-ssm-documents.RunPowerShellScriptStep">RunPowerShellScriptStep</a>, <a href="#@cdklabs/cdk-ssm-documents.RunShellScriptStep">RunShellScriptStep</a>, <a href="#@cdklabs/cdk-ssm-documents.SoftwareInventoryStep">SoftwareInventoryStep</a>, <a href="#@cdklabs/cdk-ssm-documents.UpdateAgentStep">UpdateAgentStep</a>, <a href="#@cdklabs/cdk-ssm-documents.UpdateSSMAgentStep">UpdateSSMAgentStep</a>, <a href="#@cdklabs/cdk-ssm-documents.ICommandComponent">ICommandComponent</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ICommandComponent.addToDocument">addToDocument</a></code> | *No description.* |

---

##### `addToDocument` <a name="addToDocument" id="@cdklabs/cdk-ssm-documents.ICommandComponent.addToDocument"></a>

```typescript
public addToDocument(doc: CommandDocumentBuilder): void
```

###### `doc`<sup>Required</sup> <a name="doc" id="@cdklabs/cdk-ssm-documents.ICommandComponent.addToDocument.parameter.doc"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.CommandDocumentBuilder">CommandDocumentBuilder</a>

---


### IDesiredStateVariable <a name="IDesiredStateVariable" id="@cdklabs/cdk-ssm-documents.IDesiredStateVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable">DesiredStateVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState">HardCodedDesiredState</a>, <a href="#@cdklabs/cdk-ssm-documents.IDesiredStateVariable">IDesiredStateVariable</a>



### IDocumentHashTypeVariable <a name="IDocumentHashTypeVariable" id="@cdklabs/cdk-ssm-documents.IDocumentHashTypeVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable">DocumentHashTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType">HardCodedDocumentHashType</a>, <a href="#@cdklabs/cdk-ssm-documents.IDocumentHashTypeVariable">IDocumentHashTypeVariable</a>



### IDownloadableContent <a name="IDownloadableContent" id="@cdklabs/cdk-ssm-documents.IDownloadableContent"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.GitContent">GitContent</a>, <a href="#@cdklabs/cdk-ssm-documents.GitHubContent">GitHubContent</a>, <a href="#@cdklabs/cdk-ssm-documents.HttpContent">HttpContent</a>, <a href="#@cdklabs/cdk-ssm-documents.S3Content">S3Content</a>, <a href="#@cdklabs/cdk-ssm-documents.SSMDocumentContent">SSMDocumentContent</a>, <a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent">IDownloadableContent</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent.formatSourceInfo">formatSourceInfo</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent.requiredInputs">requiredInputs</a></code> | *No description.* |

---

##### `formatSourceInfo` <a name="formatSourceInfo" id="@cdklabs/cdk-ssm-documents.IDownloadableContent.formatSourceInfo"></a>

```typescript
public formatSourceInfo(): {[ key: string ]: any}
```

##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.IDownloadableContent.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IDownloadableContent.property.sourceType">sourceType</a></code> | <code>string</code> | *No description.* |

---

##### `sourceType`<sup>Required</sup> <a name="sourceType" id="@cdklabs/cdk-ssm-documents.IDownloadableContent.property.sourceType"></a>

```typescript
public readonly sourceType: string;
```

- *Type:* string

---

### IEnvironment <a name="IEnvironment" id="@cdklabs/cdk-ssm-documents.IEnvironment"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.DockerEnvironment">DockerEnvironment</a>, <a href="#@cdklabs/cdk-ssm-documents.LoggingEnvironment">LoggingEnvironment</a>, <a href="#@cdklabs/cdk-ssm-documents.MockEnvironment">MockEnvironment</a>, <a href="#@cdklabs/cdk-ssm-documents.IEnvironment">IEnvironment</a>

IEnvironment is an abstraction for EC2 instances.

The implementations of this interface provides customers with
alternatives to test their commands rather than a real instance.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IEnvironment.run">run</a></code> | *No description.* |

---

##### `run` <a name="run" id="@cdklabs/cdk-ssm-documents.IEnvironment.run"></a>

```typescript
public run(command: string): string
```

###### `command`<sup>Required</sup> <a name="command" id="@cdklabs/cdk-ssm-documents.IEnvironment.run.parameter.command"></a>

- *Type:* string

---


### IExecuteAutomationHook <a name="IExecuteAutomationHook" id="@cdklabs/cdk-ssm-documents.IExecuteAutomationHook"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.ApiExecuteAutomationHook">ApiExecuteAutomationHook</a>, <a href="#@cdklabs/cdk-ssm-documents.IExecuteAutomationHook">IExecuteAutomationHook</a>

Interface for simulating aws:executeAutomation.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IExecuteAutomationHook.execute">execute</a></code> | Simulate the aws:executeAutomation. |

---

##### `execute` <a name="execute" id="@cdklabs/cdk-ssm-documents.IExecuteAutomationHook.execute"></a>

```typescript
public execute(props: ExecuteAutomationProps): ExecuteAutomationOutputs
```

Simulate the aws:executeAutomation.

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.IExecuteAutomationHook.execute.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.ExecuteAutomationProps">ExecuteAutomationProps</a>

---


### IGenericVariable <a name="IGenericVariable" id="@cdklabs/cdk-ssm-documents.IGenericVariable"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.ActionVariable">ActionVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.BooleanVariable">BooleanVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable">DesiredStateVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.DictFormat">DictFormat</a>, <a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable">DocumentHashTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.GenericVariable">GenericVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedAction">HardCodedAction</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedBoolean">HardCodedBoolean</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState">HardCodedDesiredState</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType">HardCodedDocumentHashType</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair">HardCodedInstallUninstallRepair</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType">HardCodedInstallationType</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedMapList">HardCodedMapList</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedNumber">HardCodedNumber</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure">HardCodedOnFailure</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType">HardCodedResourceType</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedSecureVariable">HardCodedSecureVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedString">HardCodedString</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedStringList">HardCodedStringList</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedStringMap">HardCodedStringMap</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedValueBase">HardCodedValueBase</a>, <a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable">InstallUninstallRepairVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable">InstallationTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.MapListVariable">MapListVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.NonSecureVariable">NonSecureVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.NumberVariable">NumberVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable">OnFailureVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable">PackageNameVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable">ResourceTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.SecureVariable">SecureVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.SsmSecureVariable">SsmSecureVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.StringFormat">StringFormat</a>, <a href="#@cdklabs/cdk-ssm-documents.StringListVariable">StringListVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.StringMapVariable">StringMapVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.StringVariable">StringVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IBooleanVariable">IBooleanVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IDesiredStateVariable">IDesiredStateVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IDocumentHashTypeVariable">IDocumentHashTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IInstallUninstallRepairVariable">IInstallUninstallRepairVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IInstallationTypeVariable">IInstallationTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IOnFailureVariable">IOnFailureVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IPackageNameVariable">IPackageNameVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IResourceTypeVariable">IResourceTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

Variables hold references to a value.

There are two implementations: HardCodedValue and ExportedVariable.
This interface allows you to reference variable outputs from previous steps via the exported step.variable().
If you do not have a reference to a variable, you may generate your own variable using the ExportedVariable ctor.
In the event that a hardcoded value is passed into a step, you can reference the value with a HardCodedValue.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable.print">print</a></code> | Prints the variable in a way that SSM understands. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable.requiredInputs">requiredInputs</a></code> | The inputs that are required for determining the value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable.resolve">resolve</a></code> | Given the execution inputs, return the resolved value of this variable. |
| <code><a href="#@cdklabs/cdk-ssm-documents.IGenericVariable.toJSON">toJSON</a></code> | JSON.stringify(variable) will implicitly invoke this variable. |

---

##### `print` <a name="print" id="@cdklabs/cdk-ssm-documents.IGenericVariable.print"></a>

```typescript
public print(): any
```

Prints the variable in a way that SSM understands.

This is typically in the form of {{ Variable }} or the value.

*Example*

```typescript
{{ MyVariable }}
```


##### `requiredInputs` <a name="requiredInputs" id="@cdklabs/cdk-ssm-documents.IGenericVariable.requiredInputs"></a>

```typescript
public requiredInputs(): string[]
```

The inputs that are required for determining the value of this variable.

In the case of a single variable string, this will return a single value.

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.IGenericVariable.resolve"></a>

```typescript
public resolve(inputs: {[ key: string ]: any}): any
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.IGenericVariable.resolve.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

are the execution inputs.

---

##### `toJSON` <a name="toJSON" id="@cdklabs/cdk-ssm-documents.IGenericVariable.toJSON"></a>

```typescript
public toJSON(): any
```

JSON.stringify(variable) will implicitly invoke this variable.


### IInstallationTypeVariable <a name="IInstallationTypeVariable" id="@cdklabs/cdk-ssm-documents.IInstallationTypeVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType">HardCodedInstallationType</a>, <a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable">InstallationTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IInstallationTypeVariable">IInstallationTypeVariable</a>



### IInstallUninstallRepairVariable <a name="IInstallUninstallRepairVariable" id="@cdklabs/cdk-ssm-documents.IInstallUninstallRepairVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair">HardCodedInstallUninstallRepair</a>, <a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable">InstallUninstallRepairVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IInstallUninstallRepairVariable">IInstallUninstallRepairVariable</a>



### IMapListVariable <a name="IMapListVariable" id="@cdklabs/cdk-ssm-documents.IMapListVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedMapList">HardCodedMapList</a>, <a href="#@cdklabs/cdk-ssm-documents.MapListVariable">MapListVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IMapListVariable">IMapListVariable</a>

A map list variable.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IMapListVariable.resolveToMapList">resolveToMapList</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `resolveToMapList` <a name="resolveToMapList" id="@cdklabs/cdk-ssm-documents.IMapListVariable.resolveToMapList"></a>

```typescript
public resolveToMapList(inputs: {[ key: string ]: any}): {[ key: string ]: any}[]
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.IMapListVariable.resolveToMapList.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

are the execution inputs.

---


### INumberVariable <a name="INumberVariable" id="@cdklabs/cdk-ssm-documents.INumberVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedNumber">HardCodedNumber</a>, <a href="#@cdklabs/cdk-ssm-documents.NumberVariable">NumberVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.INumberVariable">INumberVariable</a>

A number variable.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.INumberVariable.resolveToNumber">resolveToNumber</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `resolveToNumber` <a name="resolveToNumber" id="@cdklabs/cdk-ssm-documents.INumberVariable.resolveToNumber"></a>

```typescript
public resolveToNumber(inputs: {[ key: string ]: any}): number
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.INumberVariable.resolveToNumber.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

are the execution inputs.

---


### IObserver <a name="IObserver" id="@cdklabs/cdk-ssm-documents.IObserver"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.NoopObserver">NoopObserver</a>, <a href="#@cdklabs/cdk-ssm-documents.IObserver">IObserver</a>

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IObserver.accept">accept</a></code> | *No description.* |

---

##### `accept` <a name="accept" id="@cdklabs/cdk-ssm-documents.IObserver.accept"></a>

```typescript
public accept(value: {[ key: string ]: any}): void
```

###### `value`<sup>Required</sup> <a name="value" id="@cdklabs/cdk-ssm-documents.IObserver.accept.parameter.value"></a>

- *Type:* {[ key: string ]: any}

---


### IOnFailureVariable <a name="IOnFailureVariable" id="@cdklabs/cdk-ssm-documents.IOnFailureVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure">HardCodedOnFailure</a>, <a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable">OnFailureVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IOnFailureVariable">IOnFailureVariable</a>



### IPackageNameVariable <a name="IPackageNameVariable" id="@cdklabs/cdk-ssm-documents.IPackageNameVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a>, <a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable">PackageNameVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IPackageNameVariable">IPackageNameVariable</a>



### IParameterResolver <a name="IParameterResolver" id="@cdklabs/cdk-ssm-documents.IParameterResolver"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.IParameterResolver">IParameterResolver</a>

Resolver for secure strings in Parameters.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IParameterResolver.resolve">resolve</a></code> | Resolve the token to its value. |

---

##### `resolve` <a name="resolve" id="@cdklabs/cdk-ssm-documents.IParameterResolver.resolve"></a>

```typescript
public resolve(input: string): string
```

Resolve the token to its value.

###### `input`<sup>Required</sup> <a name="input" id="@cdklabs/cdk-ssm-documents.IParameterResolver.resolve.parameter.input"></a>

- *Type:* string

---


### IPauseHook <a name="IPauseHook" id="@cdklabs/cdk-ssm-documents.IPauseHook"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.MockPause">MockPause</a>, <a href="#@cdklabs/cdk-ssm-documents.PauseImpl">PauseImpl</a>, <a href="#@cdklabs/cdk-ssm-documents.IPauseHook">IPauseHook</a>

This can be used to provide a hook for pausing implementation for PauseStep.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IPauseHook.pause">pause</a></code> | *No description.* |

---

##### `pause` <a name="pause" id="@cdklabs/cdk-ssm-documents.IPauseHook.pause"></a>

```typescript
public pause(): void
```


### IResourceTypeVariable <a name="IResourceTypeVariable" id="@cdklabs/cdk-ssm-documents.IResourceTypeVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType">HardCodedResourceType</a>, <a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable">ResourceTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IResourceTypeVariable">IResourceTypeVariable</a>



### IRunCommandHook <a name="IRunCommandHook" id="@cdklabs/cdk-ssm-documents.IRunCommandHook"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.ApiRunCommandHook">ApiRunCommandHook</a>, <a href="#@cdklabs/cdk-ssm-documents.IRunCommandHook">IRunCommandHook</a>

Interface for simulating aws:runCommand.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IRunCommandHook.execute">execute</a></code> | Simulate the aws:runCommand. |

---

##### `execute` <a name="execute" id="@cdklabs/cdk-ssm-documents.IRunCommandHook.execute"></a>

```typescript
public execute(props: RunCommandProps): RunCommandOutputs
```

Simulate the aws:runCommand.

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.IRunCommandHook.execute.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.RunCommandProps">RunCommandProps</a>

---


### IRunDocumentLocation <a name="IRunDocumentLocation" id="@cdklabs/cdk-ssm-documents.IRunDocumentLocation"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.LocalRunDocument">LocalRunDocument</a>, <a href="#@cdklabs/cdk-ssm-documents.SsmRunDocument">SsmRunDocument</a>, <a href="#@cdklabs/cdk-ssm-documents.IRunDocumentLocation">IRunDocumentLocation</a>


#### Properties <a name="Properties" id="Properties"></a>

| **Name** | **Type** | **Description** |
| --- | --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IRunDocumentLocation.property.location">location</a></code> | <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.IRunDocumentLocation.property.type">type</a></code> | <code>string</code> | *No description.* |

---

##### `location`<sup>Required</sup> <a name="location" id="@cdklabs/cdk-ssm-documents.IRunDocumentLocation.property.location"></a>

```typescript
public readonly location: IStringVariable;
```

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

---

##### `type`<sup>Required</sup> <a name="type" id="@cdklabs/cdk-ssm-documents.IRunDocumentLocation.property.type"></a>

```typescript
public readonly type: string;
```

- *Type:* string

---

### ISleepHook <a name="ISleepHook" id="@cdklabs/cdk-ssm-documents.ISleepHook"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.MockSleep">MockSleep</a>, <a href="#@cdklabs/cdk-ssm-documents.SleepImpl">SleepImpl</a>, <a href="#@cdklabs/cdk-ssm-documents.ISleepHook">ISleepHook</a>

This can be used to provide a hook for sleeping for SleepStep (and other places where sleep is required).

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ISleepHook.sleep">sleep</a></code> | *No description.* |

---

##### `sleep` <a name="sleep" id="@cdklabs/cdk-ssm-documents.ISleepHook.sleep"></a>

```typescript
public sleep(timeMillis: number): void
```

###### `timeMillis`<sup>Required</sup> <a name="timeMillis" id="@cdklabs/cdk-ssm-documents.ISleepHook.sleep.parameter.timeMillis"></a>

- *Type:* number

---


### IStringListVariable <a name="IStringListVariable" id="@cdklabs/cdk-ssm-documents.IStringListVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedStringList">HardCodedStringList</a>, <a href="#@cdklabs/cdk-ssm-documents.StringListVariable">StringListVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IStringListVariable">IStringListVariable</a>

A string list variable.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IStringListVariable.resolveToStringList">resolveToStringList</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `resolveToStringList` <a name="resolveToStringList" id="@cdklabs/cdk-ssm-documents.IStringListVariable.resolveToStringList"></a>

```typescript
public resolveToStringList(inputs: {[ key: string ]: any}): string[]
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.IStringListVariable.resolveToStringList.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

are the execution inputs.

---


### IStringMapVariable <a name="IStringMapVariable" id="@cdklabs/cdk-ssm-documents.IStringMapVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.HardCodedStringMap">HardCodedStringMap</a>, <a href="#@cdklabs/cdk-ssm-documents.StringMapVariable">StringMapVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable">IStringMapVariable</a>

A string map variable.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IStringMapVariable.resolveToStringMap">resolveToStringMap</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `resolveToStringMap` <a name="resolveToStringMap" id="@cdklabs/cdk-ssm-documents.IStringMapVariable.resolveToStringMap"></a>

```typescript
public resolveToStringMap(inputs: {[ key: string ]: any}): {[ key: string ]: any}
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.IStringMapVariable.resolveToStringMap.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

are the execution inputs.

---


### IStringVariable <a name="IStringVariable" id="@cdklabs/cdk-ssm-documents.IStringVariable"></a>

- *Extends:* <a href="#@cdklabs/cdk-ssm-documents.IGenericVariable">IGenericVariable</a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.ActionVariable">ActionVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.DesiredStateVariable">DesiredStateVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.DictFormat">DictFormat</a>, <a href="#@cdklabs/cdk-ssm-documents.DocumentHashTypeVariable">DocumentHashTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedAction">HardCodedAction</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedDesiredState">HardCodedDesiredState</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedDocumentHashType">HardCodedDocumentHashType</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallUninstallRepair">HardCodedInstallUninstallRepair</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedInstallationType">HardCodedInstallationType</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedOnFailure">HardCodedOnFailure</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedPackageName">HardCodedPackageName</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedResourceType">HardCodedResourceType</a>, <a href="#@cdklabs/cdk-ssm-documents.HardCodedString">HardCodedString</a>, <a href="#@cdklabs/cdk-ssm-documents.InstallUninstallRepairVariable">InstallUninstallRepairVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.InstallationTypeVariable">InstallationTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.OnFailureVariable">OnFailureVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.PackageNameVariable">PackageNameVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.ResourceTypeVariable">ResourceTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.StringFormat">StringFormat</a>, <a href="#@cdklabs/cdk-ssm-documents.StringVariable">StringVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IActionVariable">IActionVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IDesiredStateVariable">IDesiredStateVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IDocumentHashTypeVariable">IDocumentHashTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IInstallUninstallRepairVariable">IInstallUninstallRepairVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IInstallationTypeVariable">IInstallationTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IOnFailureVariable">IOnFailureVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IPackageNameVariable">IPackageNameVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IResourceTypeVariable">IResourceTypeVariable</a>, <a href="#@cdklabs/cdk-ssm-documents.IStringVariable">IStringVariable</a>

A string variable.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IStringVariable.resolveToString">resolveToString</a></code> | Given the execution inputs, return the resolved value of this variable. |

---

##### `resolveToString` <a name="resolveToString" id="@cdklabs/cdk-ssm-documents.IStringVariable.resolveToString"></a>

```typescript
public resolveToString(inputs: {[ key: string ]: any}): string
```

Given the execution inputs, return the resolved value of this variable.

###### `inputs`<sup>Required</sup> <a name="inputs" id="@cdklabs/cdk-ssm-documents.IStringVariable.resolveToString.parameter.inputs"></a>

- *Type:* {[ key: string ]: any}

are the execution inputs.

---


### IWebhook <a name="IWebhook" id="@cdklabs/cdk-ssm-documents.IWebhook"></a>

- *Implemented By:* <a href="#@cdklabs/cdk-ssm-documents.WebhookImpl">WebhookImpl</a>, <a href="#@cdklabs/cdk-ssm-documents.IWebhook">IWebhook</a>

Hook for simulating aws:invokeWebhook.

#### Methods <a name="Methods" id="Methods"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.IWebhook.invoke">invoke</a></code> | Invoke the web hook. |

---

##### `invoke` <a name="invoke" id="@cdklabs/cdk-ssm-documents.IWebhook.invoke"></a>

```typescript
public invoke(props: InvokeWebhookProps): InvokeWebhookResult
```

Invoke the web hook.

###### `props`<sup>Required</sup> <a name="props" id="@cdklabs/cdk-ssm-documents.IWebhook.invoke.parameter.props"></a>

- *Type:* <a href="#@cdklabs/cdk-ssm-documents.InvokeWebhookProps">InvokeWebhookProps</a>

---


## Enums <a name="Enums" id="Enums"></a>

### BodyOrUrlType <a name="BodyOrUrlType" id="@cdklabs/cdk-ssm-documents.BodyOrUrlType"></a>

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.BodyOrUrlType.BODY">BODY</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.BodyOrUrlType.URL">URL</a></code> | *No description.* |

---

##### `BODY` <a name="BODY" id="@cdklabs/cdk-ssm-documents.BodyOrUrlType.BODY"></a>

---


##### `URL` <a name="URL" id="@cdklabs/cdk-ssm-documents.BodyOrUrlType.URL"></a>

---


### DataTypeEnum <a name="DataTypeEnum" id="@cdklabs/cdk-ssm-documents.DataTypeEnum"></a>

DataTypes as supported by SSM Documents.

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum.STRING">STRING</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum.INTEGER">INTEGER</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum.BOOLEAN">BOOLEAN</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum.STRING_LIST">STRING_LIST</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum.STRING_MAP">STRING_MAP</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DataTypeEnum.MAP_LIST">MAP_LIST</a></code> | *No description.* |

---

##### `STRING` <a name="STRING" id="@cdklabs/cdk-ssm-documents.DataTypeEnum.STRING"></a>

---


##### `INTEGER` <a name="INTEGER" id="@cdklabs/cdk-ssm-documents.DataTypeEnum.INTEGER"></a>

---


##### `BOOLEAN` <a name="BOOLEAN" id="@cdklabs/cdk-ssm-documents.DataTypeEnum.BOOLEAN"></a>

---


##### `STRING_LIST` <a name="STRING_LIST" id="@cdklabs/cdk-ssm-documents.DataTypeEnum.STRING_LIST"></a>

---


##### `STRING_MAP` <a name="STRING_MAP" id="@cdklabs/cdk-ssm-documents.DataTypeEnum.STRING_MAP"></a>

---


##### `MAP_LIST` <a name="MAP_LIST" id="@cdklabs/cdk-ssm-documents.DataTypeEnum.MAP_LIST"></a>

---


### DocumentFormat <a name="DocumentFormat" id="@cdklabs/cdk-ssm-documents.DocumentFormat"></a>

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentFormat.JSON">JSON</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.DocumentFormat.YAML">YAML</a></code> | *No description.* |

---

##### `JSON` <a name="JSON" id="@cdklabs/cdk-ssm-documents.DocumentFormat.JSON"></a>

---


##### `YAML` <a name="YAML" id="@cdklabs/cdk-ssm-documents.DocumentFormat.YAML"></a>

---


### Operation <a name="Operation" id="@cdklabs/cdk-ssm-documents.Operation"></a>

Operation to use for comparing a Choice's or Preconditions with provided value.

See https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-branch.html
or https://docs.aws.amazon.com/systems-manager/latest/userguide/document-schemas-features.html

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Operation.BOOLEAN_EQUALS">BOOLEAN_EQUALS</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Operation.CONTAINS">CONTAINS</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Operation.ENDS_WITH">ENDS_WITH</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Operation.STARTS_WITH">STARTS_WITH</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Operation.STRING_EQUALS">STRING_EQUALS</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Operation.EQUALS_IGNORE_CASE">EQUALS_IGNORE_CASE</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Operation.NUMERIC_EQUALS">NUMERIC_EQUALS</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Operation.NUMERIC_GREATER">NUMERIC_GREATER</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Operation.NUMERIC_GREATER_OR_EQUALS">NUMERIC_GREATER_OR_EQUALS</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Operation.NUMERIC_LESSER">NUMERIC_LESSER</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Operation.NUMERIC_LESSER_OR_EQUALS">NUMERIC_LESSER_OR_EQUALS</a></code> | *No description.* |

---

##### `BOOLEAN_EQUALS` <a name="BOOLEAN_EQUALS" id="@cdklabs/cdk-ssm-documents.Operation.BOOLEAN_EQUALS"></a>

---


##### `CONTAINS` <a name="CONTAINS" id="@cdklabs/cdk-ssm-documents.Operation.CONTAINS"></a>

---


##### `ENDS_WITH` <a name="ENDS_WITH" id="@cdklabs/cdk-ssm-documents.Operation.ENDS_WITH"></a>

---


##### `STARTS_WITH` <a name="STARTS_WITH" id="@cdklabs/cdk-ssm-documents.Operation.STARTS_WITH"></a>

---


##### `STRING_EQUALS` <a name="STRING_EQUALS" id="@cdklabs/cdk-ssm-documents.Operation.STRING_EQUALS"></a>

---


##### `EQUALS_IGNORE_CASE` <a name="EQUALS_IGNORE_CASE" id="@cdklabs/cdk-ssm-documents.Operation.EQUALS_IGNORE_CASE"></a>

---


##### `NUMERIC_EQUALS` <a name="NUMERIC_EQUALS" id="@cdklabs/cdk-ssm-documents.Operation.NUMERIC_EQUALS"></a>

---


##### `NUMERIC_GREATER` <a name="NUMERIC_GREATER" id="@cdklabs/cdk-ssm-documents.Operation.NUMERIC_GREATER"></a>

---


##### `NUMERIC_GREATER_OR_EQUALS` <a name="NUMERIC_GREATER_OR_EQUALS" id="@cdklabs/cdk-ssm-documents.Operation.NUMERIC_GREATER_OR_EQUALS"></a>

---


##### `NUMERIC_LESSER` <a name="NUMERIC_LESSER" id="@cdklabs/cdk-ssm-documents.Operation.NUMERIC_LESSER"></a>

---


##### `NUMERIC_LESSER_OR_EQUALS` <a name="NUMERIC_LESSER_OR_EQUALS" id="@cdklabs/cdk-ssm-documents.Operation.NUMERIC_LESSER_OR_EQUALS"></a>

---


### Platform <a name="Platform" id="@cdklabs/cdk-ssm-documents.Platform"></a>

Command steps are not all applicable to all platforms.

Each command step declares which Platforms it supports.
That allows customers to validate their CommandDocument against a given platform prior to execution.

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.Platform.LINUX">LINUX</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Platform.WINDOWS">WINDOWS</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.Platform.MAC_OS">MAC_OS</a></code> | *No description.* |

---

##### `LINUX` <a name="LINUX" id="@cdklabs/cdk-ssm-documents.Platform.LINUX"></a>

---


##### `WINDOWS` <a name="WINDOWS" id="@cdklabs/cdk-ssm-documents.Platform.WINDOWS"></a>

---


##### `MAC_OS` <a name="MAC_OS" id="@cdklabs/cdk-ssm-documents.Platform.MAC_OS"></a>

---


### PythonVersion <a name="PythonVersion" id="@cdklabs/cdk-ssm-documents.PythonVersion"></a>

Python runtime to use when writing SSM Document.

Simulation will use local python version.

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.PythonVersion.VERSION_3_7">VERSION_3_7</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PythonVersion.VERSION_3_8">VERSION_3_8</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PythonVersion.VERSION_3_9">VERSION_3_9</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PythonVersion.VERSION_3_10">VERSION_3_10</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.PythonVersion.VERSION_3_11">VERSION_3_11</a></code> | *No description.* |

---

##### `VERSION_3_7` <a name="VERSION_3_7" id="@cdklabs/cdk-ssm-documents.PythonVersion.VERSION_3_7"></a>

---


##### `VERSION_3_8` <a name="VERSION_3_8" id="@cdklabs/cdk-ssm-documents.PythonVersion.VERSION_3_8"></a>

---


##### `VERSION_3_9` <a name="VERSION_3_9" id="@cdklabs/cdk-ssm-documents.PythonVersion.VERSION_3_9"></a>

---


##### `VERSION_3_10` <a name="VERSION_3_10" id="@cdklabs/cdk-ssm-documents.PythonVersion.VERSION_3_10"></a>

---


##### `VERSION_3_11` <a name="VERSION_3_11" id="@cdklabs/cdk-ssm-documents.PythonVersion.VERSION_3_11"></a>

---


### ResponseCode <a name="ResponseCode" id="@cdklabs/cdk-ssm-documents.ResponseCode"></a>

Steps report their ResponseCode using this enum.

A successful response will contain the outputs expected.
A failed/canceled response will contain the stackTrace.

#### Members <a name="Members" id="Members"></a>

| **Name** | **Description** |
| --- | --- |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResponseCode.SUCCESS">SUCCESS</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResponseCode.CANCELED">CANCELED</a></code> | *No description.* |
| <code><a href="#@cdklabs/cdk-ssm-documents.ResponseCode.FAILED">FAILED</a></code> | *No description.* |

---

##### `SUCCESS` <a name="SUCCESS" id="@cdklabs/cdk-ssm-documents.ResponseCode.SUCCESS"></a>

---


##### `CANCELED` <a name="CANCELED" id="@cdklabs/cdk-ssm-documents.ResponseCode.CANCELED"></a>

---


##### `FAILED` <a name="FAILED" id="@cdklabs/cdk-ssm-documents.ResponseCode.FAILED"></a>

---

