diff --git a/clients/client-imagebuilder/README.md b/clients/client-imagebuilder/README.md
index 7a33355adacb0..b177ee7b50e4e 100644
--- a/clients/client-imagebuilder/README.md
+++ b/clients/client-imagebuilder/README.md
@@ -285,6 +285,14 @@ CreateLifecyclePolicy
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/CreateLifecyclePolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/CreateLifecyclePolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/CreateLifecyclePolicyCommandOutput/)
+
+
+
+CreateWorkflow
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/CreateWorkflowCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/CreateWorkflowCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/CreateWorkflowCommandOutput/)
+
@@ -349,6 +357,14 @@ DeleteLifecyclePolicy
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/DeleteLifecyclePolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/DeleteLifecyclePolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/DeleteLifecyclePolicyCommandOutput/)
+
+
+
+DeleteWorkflow
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/DeleteWorkflowCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/DeleteWorkflowCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/DeleteWorkflowCommandOutput/)
+
@@ -453,6 +469,14 @@ GetLifecyclePolicy
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/GetLifecyclePolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/GetLifecyclePolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/GetLifecyclePolicyCommandOutput/)
+
+
+
+GetWorkflow
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/GetWorkflowCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/GetWorkflowCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/GetWorkflowCommandOutput/)
+
@@ -621,6 +645,22 @@ ListTagsForResource
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/ListTagsForResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/ListTagsForResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/ListTagsForResourceCommandOutput/)
+
+
+
+ListWaitingWorkflowSteps
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/ListWaitingWorkflowStepsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/ListWaitingWorkflowStepsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/ListWaitingWorkflowStepsCommandOutput/)
+
+
+
+
+ListWorkflowBuildVersions
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/ListWorkflowBuildVersionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/ListWorkflowBuildVersionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/ListWorkflowBuildVersionsCommandOutput/)
+
@@ -629,6 +669,14 @@ ListWorkflowExecutions
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/ListWorkflowExecutionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/ListWorkflowExecutionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/ListWorkflowExecutionsCommandOutput/)
+
+
+
+ListWorkflows
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/ListWorkflowsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/ListWorkflowsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/ListWorkflowsCommandOutput/)
+
@@ -669,6 +717,14 @@ PutImageRecipePolicy
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/PutImageRecipePolicyCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/PutImageRecipePolicyCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/PutImageRecipePolicyCommandOutput/)
+
+
+
+SendWorkflowStepAction
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/imagebuilder/command/SendWorkflowStepActionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/SendWorkflowStepActionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-imagebuilder/Interface/SendWorkflowStepActionCommandOutput/)
+
diff --git a/clients/client-imagebuilder/src/Imagebuilder.ts b/clients/client-imagebuilder/src/Imagebuilder.ts
index c47702bc7a15c..10568f8ae1814 100644
--- a/clients/client-imagebuilder/src/Imagebuilder.ts
+++ b/clients/client-imagebuilder/src/Imagebuilder.ts
@@ -48,6 +48,11 @@ import {
CreateLifecyclePolicyCommandInput,
CreateLifecyclePolicyCommandOutput,
} from "./commands/CreateLifecyclePolicyCommand";
+import {
+ CreateWorkflowCommand,
+ CreateWorkflowCommandInput,
+ CreateWorkflowCommandOutput,
+} from "./commands/CreateWorkflowCommand";
import {
DeleteComponentCommand,
DeleteComponentCommandInput,
@@ -84,6 +89,11 @@ import {
DeleteLifecyclePolicyCommandInput,
DeleteLifecyclePolicyCommandOutput,
} from "./commands/DeleteLifecyclePolicyCommand";
+import {
+ DeleteWorkflowCommand,
+ DeleteWorkflowCommandInput,
+ DeleteWorkflowCommandOutput,
+} from "./commands/DeleteWorkflowCommand";
import {
GetComponentCommand,
GetComponentCommandInput,
@@ -145,6 +155,7 @@ import {
GetLifecyclePolicyCommandInput,
GetLifecyclePolicyCommandOutput,
} from "./commands/GetLifecyclePolicyCommand";
+import { GetWorkflowCommand, GetWorkflowCommandInput, GetWorkflowCommandOutput } from "./commands/GetWorkflowCommand";
import {
GetWorkflowExecutionCommand,
GetWorkflowExecutionCommandInput,
@@ -246,11 +257,26 @@ import {
ListTagsForResourceCommandInput,
ListTagsForResourceCommandOutput,
} from "./commands/ListTagsForResourceCommand";
+import {
+ ListWaitingWorkflowStepsCommand,
+ ListWaitingWorkflowStepsCommandInput,
+ ListWaitingWorkflowStepsCommandOutput,
+} from "./commands/ListWaitingWorkflowStepsCommand";
+import {
+ ListWorkflowBuildVersionsCommand,
+ ListWorkflowBuildVersionsCommandInput,
+ ListWorkflowBuildVersionsCommandOutput,
+} from "./commands/ListWorkflowBuildVersionsCommand";
import {
ListWorkflowExecutionsCommand,
ListWorkflowExecutionsCommandInput,
ListWorkflowExecutionsCommandOutput,
} from "./commands/ListWorkflowExecutionsCommand";
+import {
+ ListWorkflowsCommand,
+ ListWorkflowsCommandInput,
+ ListWorkflowsCommandOutput,
+} from "./commands/ListWorkflowsCommand";
import {
ListWorkflowStepExecutionsCommand,
ListWorkflowStepExecutionsCommandInput,
@@ -276,6 +302,11 @@ import {
PutImageRecipePolicyCommandInput,
PutImageRecipePolicyCommandOutput,
} from "./commands/PutImageRecipePolicyCommand";
+import {
+ SendWorkflowStepActionCommand,
+ SendWorkflowStepActionCommandInput,
+ SendWorkflowStepActionCommandOutput,
+} from "./commands/SendWorkflowStepActionCommand";
import {
StartImagePipelineExecutionCommand,
StartImagePipelineExecutionCommandInput,
@@ -325,6 +356,7 @@ const commands = {
CreateImageRecipeCommand,
CreateInfrastructureConfigurationCommand,
CreateLifecyclePolicyCommand,
+ CreateWorkflowCommand,
DeleteComponentCommand,
DeleteContainerRecipeCommand,
DeleteDistributionConfigurationCommand,
@@ -333,6 +365,7 @@ const commands = {
DeleteImageRecipeCommand,
DeleteInfrastructureConfigurationCommand,
DeleteLifecyclePolicyCommand,
+ DeleteWorkflowCommand,
GetComponentCommand,
GetComponentPolicyCommand,
GetContainerRecipeCommand,
@@ -346,6 +379,7 @@ const commands = {
GetInfrastructureConfigurationCommand,
GetLifecycleExecutionCommand,
GetLifecyclePolicyCommand,
+ GetWorkflowCommand,
GetWorkflowExecutionCommand,
GetWorkflowStepExecutionCommand,
ImportComponentCommand,
@@ -367,12 +401,16 @@ const commands = {
ListLifecycleExecutionsCommand,
ListLifecyclePoliciesCommand,
ListTagsForResourceCommand,
+ ListWaitingWorkflowStepsCommand,
+ ListWorkflowBuildVersionsCommand,
ListWorkflowExecutionsCommand,
+ ListWorkflowsCommand,
ListWorkflowStepExecutionsCommand,
PutComponentPolicyCommand,
PutContainerRecipePolicyCommand,
PutImagePolicyCommand,
PutImageRecipePolicyCommand,
+ SendWorkflowStepActionCommand,
StartImagePipelineExecutionCommand,
StartResourceStateUpdateCommand,
TagResourceCommand,
@@ -545,6 +583,20 @@ export interface Imagebuilder {
cb: (err: any, data?: CreateLifecyclePolicyCommandOutput) => void
): void;
+ /**
+ * @see {@link CreateWorkflowCommand}
+ */
+ createWorkflow(
+ args: CreateWorkflowCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ createWorkflow(args: CreateWorkflowCommandInput, cb: (err: any, data?: CreateWorkflowCommandOutput) => void): void;
+ createWorkflow(
+ args: CreateWorkflowCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateWorkflowCommandOutput) => void
+ ): void;
+
/**
* @see {@link DeleteComponentCommand}
*/
@@ -672,6 +724,20 @@ export interface Imagebuilder {
cb: (err: any, data?: DeleteLifecyclePolicyCommandOutput) => void
): void;
+ /**
+ * @see {@link DeleteWorkflowCommand}
+ */
+ deleteWorkflow(
+ args: DeleteWorkflowCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ deleteWorkflow(args: DeleteWorkflowCommandInput, cb: (err: any, data?: DeleteWorkflowCommandOutput) => void): void;
+ deleteWorkflow(
+ args: DeleteWorkflowCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteWorkflowCommandOutput) => void
+ ): void;
+
/**
* @see {@link GetComponentCommand}
*/
@@ -875,6 +941,17 @@ export interface Imagebuilder {
cb: (err: any, data?: GetLifecyclePolicyCommandOutput) => void
): void;
+ /**
+ * @see {@link GetWorkflowCommand}
+ */
+ getWorkflow(args: GetWorkflowCommandInput, options?: __HttpHandlerOptions): Promise;
+ getWorkflow(args: GetWorkflowCommandInput, cb: (err: any, data?: GetWorkflowCommandOutput) => void): void;
+ getWorkflow(
+ args: GetWorkflowCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetWorkflowCommandOutput) => void
+ ): void;
+
/**
* @see {@link GetWorkflowExecutionCommand}
*/
@@ -1214,6 +1291,40 @@ export interface Imagebuilder {
cb: (err: any, data?: ListTagsForResourceCommandOutput) => void
): void;
+ /**
+ * @see {@link ListWaitingWorkflowStepsCommand}
+ */
+ listWaitingWorkflowSteps(
+ args: ListWaitingWorkflowStepsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listWaitingWorkflowSteps(
+ args: ListWaitingWorkflowStepsCommandInput,
+ cb: (err: any, data?: ListWaitingWorkflowStepsCommandOutput) => void
+ ): void;
+ listWaitingWorkflowSteps(
+ args: ListWaitingWorkflowStepsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListWaitingWorkflowStepsCommandOutput) => void
+ ): void;
+
+ /**
+ * @see {@link ListWorkflowBuildVersionsCommand}
+ */
+ listWorkflowBuildVersions(
+ args: ListWorkflowBuildVersionsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ listWorkflowBuildVersions(
+ args: ListWorkflowBuildVersionsCommandInput,
+ cb: (err: any, data?: ListWorkflowBuildVersionsCommandOutput) => void
+ ): void;
+ listWorkflowBuildVersions(
+ args: ListWorkflowBuildVersionsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListWorkflowBuildVersionsCommandOutput) => void
+ ): void;
+
/**
* @see {@link ListWorkflowExecutionsCommand}
*/
@@ -1231,6 +1342,17 @@ export interface Imagebuilder {
cb: (err: any, data?: ListWorkflowExecutionsCommandOutput) => void
): void;
+ /**
+ * @see {@link ListWorkflowsCommand}
+ */
+ listWorkflows(args: ListWorkflowsCommandInput, options?: __HttpHandlerOptions): Promise;
+ listWorkflows(args: ListWorkflowsCommandInput, cb: (err: any, data?: ListWorkflowsCommandOutput) => void): void;
+ listWorkflows(
+ args: ListWorkflowsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListWorkflowsCommandOutput) => void
+ ): void;
+
/**
* @see {@link ListWorkflowStepExecutionsCommand}
*/
@@ -1313,6 +1435,23 @@ export interface Imagebuilder {
cb: (err: any, data?: PutImageRecipePolicyCommandOutput) => void
): void;
+ /**
+ * @see {@link SendWorkflowStepActionCommand}
+ */
+ sendWorkflowStepAction(
+ args: SendWorkflowStepActionCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ sendWorkflowStepAction(
+ args: SendWorkflowStepActionCommandInput,
+ cb: (err: any, data?: SendWorkflowStepActionCommandOutput) => void
+ ): void;
+ sendWorkflowStepAction(
+ args: SendWorkflowStepActionCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: SendWorkflowStepActionCommandOutput) => void
+ ): void;
+
/**
* @see {@link StartImagePipelineExecutionCommand}
*/
diff --git a/clients/client-imagebuilder/src/ImagebuilderClient.ts b/clients/client-imagebuilder/src/ImagebuilderClient.ts
index 131e5309d8685..f7b00d436081d 100644
--- a/clients/client-imagebuilder/src/ImagebuilderClient.ts
+++ b/clients/client-imagebuilder/src/ImagebuilderClient.ts
@@ -79,6 +79,7 @@ import {
CreateLifecyclePolicyCommandInput,
CreateLifecyclePolicyCommandOutput,
} from "./commands/CreateLifecyclePolicyCommand";
+import { CreateWorkflowCommandInput, CreateWorkflowCommandOutput } from "./commands/CreateWorkflowCommand";
import { DeleteComponentCommandInput, DeleteComponentCommandOutput } from "./commands/DeleteComponentCommand";
import {
DeleteContainerRecipeCommandInput,
@@ -102,6 +103,7 @@ import {
DeleteLifecyclePolicyCommandInput,
DeleteLifecyclePolicyCommandOutput,
} from "./commands/DeleteLifecyclePolicyCommand";
+import { DeleteWorkflowCommandInput, DeleteWorkflowCommandOutput } from "./commands/DeleteWorkflowCommand";
import { GetComponentCommandInput, GetComponentCommandOutput } from "./commands/GetComponentCommand";
import { GetComponentPolicyCommandInput, GetComponentPolicyCommandOutput } from "./commands/GetComponentPolicyCommand";
import { GetContainerRecipeCommandInput, GetContainerRecipeCommandOutput } from "./commands/GetContainerRecipeCommand";
@@ -130,6 +132,7 @@ import {
GetLifecycleExecutionCommandOutput,
} from "./commands/GetLifecycleExecutionCommand";
import { GetLifecyclePolicyCommandInput, GetLifecyclePolicyCommandOutput } from "./commands/GetLifecyclePolicyCommand";
+import { GetWorkflowCommandInput, GetWorkflowCommandOutput } from "./commands/GetWorkflowCommand";
import {
GetWorkflowExecutionCommandInput,
GetWorkflowExecutionCommandOutput,
@@ -193,10 +196,19 @@ import {
ListTagsForResourceCommandInput,
ListTagsForResourceCommandOutput,
} from "./commands/ListTagsForResourceCommand";
+import {
+ ListWaitingWorkflowStepsCommandInput,
+ ListWaitingWorkflowStepsCommandOutput,
+} from "./commands/ListWaitingWorkflowStepsCommand";
+import {
+ ListWorkflowBuildVersionsCommandInput,
+ ListWorkflowBuildVersionsCommandOutput,
+} from "./commands/ListWorkflowBuildVersionsCommand";
import {
ListWorkflowExecutionsCommandInput,
ListWorkflowExecutionsCommandOutput,
} from "./commands/ListWorkflowExecutionsCommand";
+import { ListWorkflowsCommandInput, ListWorkflowsCommandOutput } from "./commands/ListWorkflowsCommand";
import {
ListWorkflowStepExecutionsCommandInput,
ListWorkflowStepExecutionsCommandOutput,
@@ -211,6 +223,10 @@ import {
PutImageRecipePolicyCommandInput,
PutImageRecipePolicyCommandOutput,
} from "./commands/PutImageRecipePolicyCommand";
+import {
+ SendWorkflowStepActionCommandInput,
+ SendWorkflowStepActionCommandOutput,
+} from "./commands/SendWorkflowStepActionCommand";
import {
StartImagePipelineExecutionCommandInput,
StartImagePipelineExecutionCommandOutput,
@@ -262,6 +278,7 @@ export type ServiceInputTypes =
| CreateImageRecipeCommandInput
| CreateInfrastructureConfigurationCommandInput
| CreateLifecyclePolicyCommandInput
+ | CreateWorkflowCommandInput
| DeleteComponentCommandInput
| DeleteContainerRecipeCommandInput
| DeleteDistributionConfigurationCommandInput
@@ -270,6 +287,7 @@ export type ServiceInputTypes =
| DeleteImageRecipeCommandInput
| DeleteInfrastructureConfigurationCommandInput
| DeleteLifecyclePolicyCommandInput
+ | DeleteWorkflowCommandInput
| GetComponentCommandInput
| GetComponentPolicyCommandInput
| GetContainerRecipeCommandInput
@@ -283,6 +301,7 @@ export type ServiceInputTypes =
| GetInfrastructureConfigurationCommandInput
| GetLifecycleExecutionCommandInput
| GetLifecyclePolicyCommandInput
+ | GetWorkflowCommandInput
| GetWorkflowExecutionCommandInput
| GetWorkflowStepExecutionCommandInput
| ImportComponentCommandInput
@@ -304,12 +323,16 @@ export type ServiceInputTypes =
| ListLifecycleExecutionsCommandInput
| ListLifecyclePoliciesCommandInput
| ListTagsForResourceCommandInput
+ | ListWaitingWorkflowStepsCommandInput
+ | ListWorkflowBuildVersionsCommandInput
| ListWorkflowExecutionsCommandInput
| ListWorkflowStepExecutionsCommandInput
+ | ListWorkflowsCommandInput
| PutComponentPolicyCommandInput
| PutContainerRecipePolicyCommandInput
| PutImagePolicyCommandInput
| PutImageRecipePolicyCommandInput
+ | SendWorkflowStepActionCommandInput
| StartImagePipelineExecutionCommandInput
| StartResourceStateUpdateCommandInput
| TagResourceCommandInput
@@ -333,6 +356,7 @@ export type ServiceOutputTypes =
| CreateImageRecipeCommandOutput
| CreateInfrastructureConfigurationCommandOutput
| CreateLifecyclePolicyCommandOutput
+ | CreateWorkflowCommandOutput
| DeleteComponentCommandOutput
| DeleteContainerRecipeCommandOutput
| DeleteDistributionConfigurationCommandOutput
@@ -341,6 +365,7 @@ export type ServiceOutputTypes =
| DeleteImageRecipeCommandOutput
| DeleteInfrastructureConfigurationCommandOutput
| DeleteLifecyclePolicyCommandOutput
+ | DeleteWorkflowCommandOutput
| GetComponentCommandOutput
| GetComponentPolicyCommandOutput
| GetContainerRecipeCommandOutput
@@ -354,6 +379,7 @@ export type ServiceOutputTypes =
| GetInfrastructureConfigurationCommandOutput
| GetLifecycleExecutionCommandOutput
| GetLifecyclePolicyCommandOutput
+ | GetWorkflowCommandOutput
| GetWorkflowExecutionCommandOutput
| GetWorkflowStepExecutionCommandOutput
| ImportComponentCommandOutput
@@ -375,12 +401,16 @@ export type ServiceOutputTypes =
| ListLifecycleExecutionsCommandOutput
| ListLifecyclePoliciesCommandOutput
| ListTagsForResourceCommandOutput
+ | ListWaitingWorkflowStepsCommandOutput
+ | ListWorkflowBuildVersionsCommandOutput
| ListWorkflowExecutionsCommandOutput
| ListWorkflowStepExecutionsCommandOutput
+ | ListWorkflowsCommandOutput
| PutComponentPolicyCommandOutput
| PutContainerRecipePolicyCommandOutput
| PutImagePolicyCommandOutput
| PutImageRecipePolicyCommandOutput
+ | SendWorkflowStepActionCommandOutput
| StartImagePipelineExecutionCommandOutput
| StartResourceStateUpdateCommandOutput
| TagResourceCommandOutput
diff --git a/clients/client-imagebuilder/src/commands/CreateImageCommand.ts b/clients/client-imagebuilder/src/commands/CreateImageCommand.ts
index 1622c10453f64..2a3b800d6befd 100644
--- a/clients/client-imagebuilder/src/commands/CreateImageCommand.ts
+++ b/clients/client-imagebuilder/src/commands/CreateImageCommand.ts
@@ -70,6 +70,22 @@ export interface CreateImageCommandOutput extends CreateImageResponse, __Metadat
* ],
* },
* },
+ * workflows: [ // WorkflowConfigurationList
+ * { // WorkflowConfiguration
+ * workflowArn: "STRING_VALUE", // required
+ * parameters: [ // WorkflowParameterList
+ * { // WorkflowParameter
+ * name: "STRING_VALUE", // required
+ * value: [ // WorkflowParameterValueList // required
+ * "STRING_VALUE",
+ * ],
+ * },
+ * ],
+ * parallelGroup: "STRING_VALUE",
+ * onFailure: "CONTINUE" || "ABORT",
+ * },
+ * ],
+ * executionRole: "STRING_VALUE",
* };
* const command = new CreateImageCommand(input);
* const response = await client.send(command);
diff --git a/clients/client-imagebuilder/src/commands/CreateImagePipelineCommand.ts b/clients/client-imagebuilder/src/commands/CreateImagePipelineCommand.ts
index b0a6855a9768b..b9100ec825781 100644
--- a/clients/client-imagebuilder/src/commands/CreateImagePipelineCommand.ts
+++ b/clients/client-imagebuilder/src/commands/CreateImagePipelineCommand.ts
@@ -76,6 +76,22 @@ export interface CreateImagePipelineCommandOutput extends CreateImagePipelineRes
* ],
* },
* },
+ * workflows: [ // WorkflowConfigurationList
+ * { // WorkflowConfiguration
+ * workflowArn: "STRING_VALUE", // required
+ * parameters: [ // WorkflowParameterList
+ * { // WorkflowParameter
+ * name: "STRING_VALUE", // required
+ * value: [ // WorkflowParameterValueList // required
+ * "STRING_VALUE",
+ * ],
+ * },
+ * ],
+ * parallelGroup: "STRING_VALUE",
+ * onFailure: "CONTINUE" || "ABORT",
+ * },
+ * ],
+ * executionRole: "STRING_VALUE",
* };
* const command = new CreateImagePipelineCommand(input);
* const response = await client.send(command);
diff --git a/clients/client-imagebuilder/src/commands/CreateWorkflowCommand.ts b/clients/client-imagebuilder/src/commands/CreateWorkflowCommand.ts
new file mode 100644
index 0000000000000..24e9bcf40637c
--- /dev/null
+++ b/clients/client-imagebuilder/src/commands/CreateWorkflowCommand.ts
@@ -0,0 +1,192 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ImagebuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ImagebuilderClient";
+import { CreateWorkflowRequest, CreateWorkflowResponse } from "../models/models_0";
+import { de_CreateWorkflowCommand, se_CreateWorkflowCommand } from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link CreateWorkflowCommand}.
+ */
+export interface CreateWorkflowCommandInput extends CreateWorkflowRequest {}
+/**
+ * @public
+ *
+ * The output of {@link CreateWorkflowCommand}.
+ */
+export interface CreateWorkflowCommandOutput extends CreateWorkflowResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Create a new workflow or a new version of an existing workflow.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ImagebuilderClient, CreateWorkflowCommand } from "@aws-sdk/client-imagebuilder"; // ES Modules import
+ * // const { ImagebuilderClient, CreateWorkflowCommand } = require("@aws-sdk/client-imagebuilder"); // CommonJS import
+ * const client = new ImagebuilderClient(config);
+ * const input = { // CreateWorkflowRequest
+ * name: "STRING_VALUE", // required
+ * semanticVersion: "STRING_VALUE", // required
+ * description: "STRING_VALUE",
+ * changeDescription: "STRING_VALUE",
+ * data: "STRING_VALUE",
+ * uri: "STRING_VALUE",
+ * kmsKeyId: "STRING_VALUE",
+ * tags: { // TagMap
+ * "": "STRING_VALUE",
+ * },
+ * clientToken: "STRING_VALUE", // required
+ * type: "BUILD" || "TEST" || "DISTRIBUTION", // required
+ * };
+ * const command = new CreateWorkflowCommand(input);
+ * const response = await client.send(command);
+ * // { // CreateWorkflowResponse
+ * // clientToken: "STRING_VALUE",
+ * // workflowBuildVersionArn: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param CreateWorkflowCommandInput - {@link CreateWorkflowCommandInput}
+ * @returns {@link CreateWorkflowCommandOutput}
+ * @see {@link CreateWorkflowCommandInput} for command's `input` shape.
+ * @see {@link CreateWorkflowCommandOutput} for command's `response` shape.
+ * @see {@link ImagebuilderClientResolvedConfig | config} for ImagebuilderClient's `config` shape.
+ *
+ * @throws {@link CallRateLimitExceededException} (client fault)
+ * You have exceeded the permitted request rate for the specific operation.
+ *
+ * @throws {@link ClientException} (client fault)
+ * These errors are usually caused by a client action, such as using an action or
+ * resource on behalf of a user that doesn't have permissions to use the action or
+ * resource, or specifying an invalid resource identifier.
+ *
+ * @throws {@link ForbiddenException} (client fault)
+ * You are not authorized to perform the requested operation.
+ *
+ * @throws {@link IdempotentParameterMismatchException} (client fault)
+ * You have specified a client token for an operation using parameter values that differ
+ * from a previous request that used the same client token.
+ *
+ * @throws {@link InvalidParameterCombinationException} (client fault)
+ * You have specified two or more mutually exclusive parameters. Review the error message
+ * for details.
+ *
+ * @throws {@link InvalidRequestException} (client fault)
+ * You have requested an action that that the service doesn't support.
+ *
+ * @throws {@link InvalidVersionNumberException} (client fault)
+ * Your version number is out of bounds or does not follow the required syntax.
+ *
+ * @throws {@link ResourceInUseException} (client fault)
+ * The resource that you are trying to operate on is currently in use. Review the message
+ * details and retry later.
+ *
+ * @throws {@link ServiceException} (server fault)
+ * This exception is thrown when the service encounters an unrecoverable
+ * exception.
+ *
+ * @throws {@link ServiceQuotaExceededException} (client fault)
+ * You have exceeded the number of permitted resources or operations for this service.
+ * For service quotas, see EC2 Image Builder endpoints and
+ * quotas.
+ *
+ * @throws {@link ServiceUnavailableException} (server fault)
+ * The service is unable to process your request at this time.
+ *
+ * @throws {@link ImagebuilderServiceException}
+ * Base exception class for all service exceptions from Imagebuilder service.
+ *
+ */
+export class CreateWorkflowCommand extends $Command<
+ CreateWorkflowCommandInput,
+ CreateWorkflowCommandOutput,
+ ImagebuilderClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: CreateWorkflowCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ImagebuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, CreateWorkflowCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ImagebuilderClient";
+ const commandName = "CreateWorkflowCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "imagebuilder",
+ operation: "CreateWorkflow",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: CreateWorkflowCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_CreateWorkflowCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_CreateWorkflowCommand(output, context);
+ }
+}
diff --git a/clients/client-imagebuilder/src/commands/DeleteWorkflowCommand.ts b/clients/client-imagebuilder/src/commands/DeleteWorkflowCommand.ts
new file mode 100644
index 0000000000000..799490c3eaabb
--- /dev/null
+++ b/clients/client-imagebuilder/src/commands/DeleteWorkflowCommand.ts
@@ -0,0 +1,164 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ImagebuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ImagebuilderClient";
+import { DeleteWorkflowRequest, DeleteWorkflowResponse } from "../models/models_0";
+import { de_DeleteWorkflowCommand, se_DeleteWorkflowCommand } from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link DeleteWorkflowCommand}.
+ */
+export interface DeleteWorkflowCommandInput extends DeleteWorkflowRequest {}
+/**
+ * @public
+ *
+ * The output of {@link DeleteWorkflowCommand}.
+ */
+export interface DeleteWorkflowCommandOutput extends DeleteWorkflowResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Deletes a specific workflow resource.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ImagebuilderClient, DeleteWorkflowCommand } from "@aws-sdk/client-imagebuilder"; // ES Modules import
+ * // const { ImagebuilderClient, DeleteWorkflowCommand } = require("@aws-sdk/client-imagebuilder"); // CommonJS import
+ * const client = new ImagebuilderClient(config);
+ * const input = { // DeleteWorkflowRequest
+ * workflowBuildVersionArn: "STRING_VALUE", // required
+ * };
+ * const command = new DeleteWorkflowCommand(input);
+ * const response = await client.send(command);
+ * // { // DeleteWorkflowResponse
+ * // workflowBuildVersionArn: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param DeleteWorkflowCommandInput - {@link DeleteWorkflowCommandInput}
+ * @returns {@link DeleteWorkflowCommandOutput}
+ * @see {@link DeleteWorkflowCommandInput} for command's `input` shape.
+ * @see {@link DeleteWorkflowCommandOutput} for command's `response` shape.
+ * @see {@link ImagebuilderClientResolvedConfig | config} for ImagebuilderClient's `config` shape.
+ *
+ * @throws {@link CallRateLimitExceededException} (client fault)
+ * You have exceeded the permitted request rate for the specific operation.
+ *
+ * @throws {@link ClientException} (client fault)
+ * These errors are usually caused by a client action, such as using an action or
+ * resource on behalf of a user that doesn't have permissions to use the action or
+ * resource, or specifying an invalid resource identifier.
+ *
+ * @throws {@link ForbiddenException} (client fault)
+ * You are not authorized to perform the requested operation.
+ *
+ * @throws {@link InvalidRequestException} (client fault)
+ * You have requested an action that that the service doesn't support.
+ *
+ * @throws {@link ResourceDependencyException} (client fault)
+ * You have attempted to mutate or delete a resource with a dependency that prohibits
+ * this action. See the error message for more details.
+ *
+ * @throws {@link ServiceException} (server fault)
+ * This exception is thrown when the service encounters an unrecoverable
+ * exception.
+ *
+ * @throws {@link ServiceUnavailableException} (server fault)
+ * The service is unable to process your request at this time.
+ *
+ * @throws {@link ImagebuilderServiceException}
+ * Base exception class for all service exceptions from Imagebuilder service.
+ *
+ */
+export class DeleteWorkflowCommand extends $Command<
+ DeleteWorkflowCommandInput,
+ DeleteWorkflowCommandOutput,
+ ImagebuilderClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: DeleteWorkflowCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ImagebuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, DeleteWorkflowCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ImagebuilderClient";
+ const commandName = "DeleteWorkflowCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "imagebuilder",
+ operation: "DeleteWorkflow",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: DeleteWorkflowCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_DeleteWorkflowCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_DeleteWorkflowCommand(output, context);
+ }
+}
diff --git a/clients/client-imagebuilder/src/commands/GetImageCommand.ts b/clients/client-imagebuilder/src/commands/GetImageCommand.ts
index 1282c75fc9558..6b0ce4e287bdb 100644
--- a/clients/client-imagebuilder/src/commands/GetImageCommand.ts
+++ b/clients/client-imagebuilder/src/commands/GetImageCommand.ts
@@ -329,6 +329,22 @@ export interface GetImageCommandOutput extends GetImageResponse, __MetadataBeare
* // },
* // deprecationTime: new Date("TIMESTAMP"),
* // lifecycleExecutionId: "STRING_VALUE",
+ * // executionRole: "STRING_VALUE",
+ * // workflows: [ // WorkflowConfigurationList
+ * // { // WorkflowConfiguration
+ * // workflowArn: "STRING_VALUE", // required
+ * // parameters: [ // WorkflowParameterList
+ * // { // WorkflowParameter
+ * // name: "STRING_VALUE", // required
+ * // value: [ // WorkflowParameterValueList // required
+ * // "STRING_VALUE",
+ * // ],
+ * // },
+ * // ],
+ * // parallelGroup: "STRING_VALUE",
+ * // onFailure: "CONTINUE" || "ABORT",
+ * // },
+ * // ],
* // },
* // };
*
diff --git a/clients/client-imagebuilder/src/commands/GetImagePipelineCommand.ts b/clients/client-imagebuilder/src/commands/GetImagePipelineCommand.ts
index 91fd5c1ed1409..aa7625bd3597b 100644
--- a/clients/client-imagebuilder/src/commands/GetImagePipelineCommand.ts
+++ b/clients/client-imagebuilder/src/commands/GetImagePipelineCommand.ts
@@ -87,6 +87,22 @@ export interface GetImagePipelineCommandOutput extends GetImagePipelineResponse,
* // ],
* // },
* // },
+ * // executionRole: "STRING_VALUE",
+ * // workflows: [ // WorkflowConfigurationList
+ * // { // WorkflowConfiguration
+ * // workflowArn: "STRING_VALUE", // required
+ * // parameters: [ // WorkflowParameterList
+ * // { // WorkflowParameter
+ * // name: "STRING_VALUE", // required
+ * // value: [ // WorkflowParameterValueList // required
+ * // "STRING_VALUE",
+ * // ],
+ * // },
+ * // ],
+ * // parallelGroup: "STRING_VALUE",
+ * // onFailure: "CONTINUE" || "ABORT",
+ * // },
+ * // ],
* // },
* // };
*
diff --git a/clients/client-imagebuilder/src/commands/GetWorkflowCommand.ts b/clients/client-imagebuilder/src/commands/GetWorkflowCommand.ts
new file mode 100644
index 0000000000000..13b1e68701a40
--- /dev/null
+++ b/clients/client-imagebuilder/src/commands/GetWorkflowCommand.ts
@@ -0,0 +1,186 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ImagebuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ImagebuilderClient";
+import { GetWorkflowRequest, GetWorkflowResponse } from "../models/models_0";
+import { de_GetWorkflowCommand, se_GetWorkflowCommand } from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link GetWorkflowCommand}.
+ */
+export interface GetWorkflowCommandInput extends GetWorkflowRequest {}
+/**
+ * @public
+ *
+ * The output of {@link GetWorkflowCommand}.
+ */
+export interface GetWorkflowCommandOutput extends GetWorkflowResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Get a workflow resource object.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ImagebuilderClient, GetWorkflowCommand } from "@aws-sdk/client-imagebuilder"; // ES Modules import
+ * // const { ImagebuilderClient, GetWorkflowCommand } = require("@aws-sdk/client-imagebuilder"); // CommonJS import
+ * const client = new ImagebuilderClient(config);
+ * const input = { // GetWorkflowRequest
+ * workflowBuildVersionArn: "STRING_VALUE", // required
+ * };
+ * const command = new GetWorkflowCommand(input);
+ * const response = await client.send(command);
+ * // { // GetWorkflowResponse
+ * // workflow: { // Workflow
+ * // arn: "STRING_VALUE",
+ * // name: "STRING_VALUE",
+ * // version: "STRING_VALUE",
+ * // description: "STRING_VALUE",
+ * // changeDescription: "STRING_VALUE",
+ * // type: "BUILD" || "TEST" || "DISTRIBUTION",
+ * // state: { // WorkflowState
+ * // status: "DEPRECATED",
+ * // reason: "STRING_VALUE",
+ * // },
+ * // owner: "STRING_VALUE",
+ * // data: "STRING_VALUE",
+ * // kmsKeyId: "STRING_VALUE",
+ * // dateCreated: "STRING_VALUE",
+ * // tags: { // TagMap
+ * // "": "STRING_VALUE",
+ * // },
+ * // parameters: [ // WorkflowParameterDetailList
+ * // { // WorkflowParameterDetail
+ * // name: "STRING_VALUE", // required
+ * // type: "STRING_VALUE", // required
+ * // defaultValue: [ // WorkflowParameterValueList
+ * // "STRING_VALUE",
+ * // ],
+ * // description: "STRING_VALUE",
+ * // },
+ * // ],
+ * // },
+ * // };
+ *
+ * ```
+ *
+ * @param GetWorkflowCommandInput - {@link GetWorkflowCommandInput}
+ * @returns {@link GetWorkflowCommandOutput}
+ * @see {@link GetWorkflowCommandInput} for command's `input` shape.
+ * @see {@link GetWorkflowCommandOutput} for command's `response` shape.
+ * @see {@link ImagebuilderClientResolvedConfig | config} for ImagebuilderClient's `config` shape.
+ *
+ * @throws {@link CallRateLimitExceededException} (client fault)
+ * You have exceeded the permitted request rate for the specific operation.
+ *
+ * @throws {@link ClientException} (client fault)
+ * These errors are usually caused by a client action, such as using an action or
+ * resource on behalf of a user that doesn't have permissions to use the action or
+ * resource, or specifying an invalid resource identifier.
+ *
+ * @throws {@link ForbiddenException} (client fault)
+ * You are not authorized to perform the requested operation.
+ *
+ * @throws {@link InvalidRequestException} (client fault)
+ * You have requested an action that that the service doesn't support.
+ *
+ * @throws {@link ServiceException} (server fault)
+ * This exception is thrown when the service encounters an unrecoverable
+ * exception.
+ *
+ * @throws {@link ServiceUnavailableException} (server fault)
+ * The service is unable to process your request at this time.
+ *
+ * @throws {@link ImagebuilderServiceException}
+ * Base exception class for all service exceptions from Imagebuilder service.
+ *
+ */
+export class GetWorkflowCommand extends $Command<
+ GetWorkflowCommandInput,
+ GetWorkflowCommandOutput,
+ ImagebuilderClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: GetWorkflowCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ImagebuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, GetWorkflowCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ImagebuilderClient";
+ const commandName = "GetWorkflowCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "imagebuilder",
+ operation: "GetWorkflow",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: GetWorkflowCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_GetWorkflowCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_GetWorkflowCommand(output, context);
+ }
+}
diff --git a/clients/client-imagebuilder/src/commands/GetWorkflowExecutionCommand.ts b/clients/client-imagebuilder/src/commands/GetWorkflowExecutionCommand.ts
index f46d1c0085c78..09f4bbb65c1ee 100644
--- a/clients/client-imagebuilder/src/commands/GetWorkflowExecutionCommand.ts
+++ b/clients/client-imagebuilder/src/commands/GetWorkflowExecutionCommand.ts
@@ -56,7 +56,7 @@ export interface GetWorkflowExecutionCommandOutput extends GetWorkflowExecutionR
* // workflowExecutionId: "STRING_VALUE",
* // imageBuildVersionArn: "STRING_VALUE",
* // type: "BUILD" || "TEST" || "DISTRIBUTION",
- * // status: "PENDING" || "SKIPPED" || "RUNNING" || "COMPLETED" || "FAILED" || "ROLLBACK_IN_PROGRESS" || "ROLLBACK_COMPLETED",
+ * // status: "PENDING" || "SKIPPED" || "RUNNING" || "COMPLETED" || "FAILED" || "ROLLBACK_IN_PROGRESS" || "ROLLBACK_COMPLETED" || "CANCELLED",
* // message: "STRING_VALUE",
* // totalStepCount: Number("int"),
* // totalStepsSucceeded: Number("int"),
@@ -64,6 +64,7 @@ export interface GetWorkflowExecutionCommandOutput extends GetWorkflowExecutionR
* // totalStepsSkipped: Number("int"),
* // startTime: "STRING_VALUE",
* // endTime: "STRING_VALUE",
+ * // parallelGroup: "STRING_VALUE",
* // };
*
* ```
diff --git a/clients/client-imagebuilder/src/commands/GetWorkflowStepExecutionCommand.ts b/clients/client-imagebuilder/src/commands/GetWorkflowStepExecutionCommand.ts
index 761aa1901a6a5..70134c537db1f 100644
--- a/clients/client-imagebuilder/src/commands/GetWorkflowStepExecutionCommand.ts
+++ b/clients/client-imagebuilder/src/commands/GetWorkflowStepExecutionCommand.ts
@@ -59,7 +59,7 @@ export interface GetWorkflowStepExecutionCommandOutput extends GetWorkflowStepEx
* // name: "STRING_VALUE",
* // description: "STRING_VALUE",
* // action: "STRING_VALUE",
- * // status: "PENDING" || "SKIPPED" || "RUNNING" || "COMPLETED" || "FAILED",
+ * // status: "PENDING" || "SKIPPED" || "RUNNING" || "COMPLETED" || "FAILED" || "CANCELLED",
* // rollbackStatus: "RUNNING" || "COMPLETED" || "SKIPPED" || "FAILED",
* // message: "STRING_VALUE",
* // inputs: "STRING_VALUE",
diff --git a/clients/client-imagebuilder/src/commands/ListImagePipelinesCommand.ts b/clients/client-imagebuilder/src/commands/ListImagePipelinesCommand.ts
index c46b927618784..8c634135d8cc8 100644
--- a/clients/client-imagebuilder/src/commands/ListImagePipelinesCommand.ts
+++ b/clients/client-imagebuilder/src/commands/ListImagePipelinesCommand.ts
@@ -97,6 +97,22 @@ export interface ListImagePipelinesCommandOutput extends ListImagePipelinesRespo
* // ],
* // },
* // },
+ * // executionRole: "STRING_VALUE",
+ * // workflows: [ // WorkflowConfigurationList
+ * // { // WorkflowConfiguration
+ * // workflowArn: "STRING_VALUE", // required
+ * // parameters: [ // WorkflowParameterList
+ * // { // WorkflowParameter
+ * // name: "STRING_VALUE", // required
+ * // value: [ // WorkflowParameterValueList // required
+ * // "STRING_VALUE",
+ * // ],
+ * // },
+ * // ],
+ * // parallelGroup: "STRING_VALUE",
+ * // onFailure: "CONTINUE" || "ABORT",
+ * // },
+ * // ],
* // },
* // ],
* // nextToken: "STRING_VALUE",
diff --git a/clients/client-imagebuilder/src/commands/ListWaitingWorkflowStepsCommand.ts b/clients/client-imagebuilder/src/commands/ListWaitingWorkflowStepsCommand.ts
new file mode 100644
index 0000000000000..25912cb484a2e
--- /dev/null
+++ b/clients/client-imagebuilder/src/commands/ListWaitingWorkflowStepsCommand.ts
@@ -0,0 +1,176 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ImagebuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ImagebuilderClient";
+import { ListWaitingWorkflowStepsRequest, ListWaitingWorkflowStepsResponse } from "../models/models_0";
+import { de_ListWaitingWorkflowStepsCommand, se_ListWaitingWorkflowStepsCommand } from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListWaitingWorkflowStepsCommand}.
+ */
+export interface ListWaitingWorkflowStepsCommandInput extends ListWaitingWorkflowStepsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListWaitingWorkflowStepsCommand}.
+ */
+export interface ListWaitingWorkflowStepsCommandOutput extends ListWaitingWorkflowStepsResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Get a list of workflow steps that are waiting for action for workflows
+ * in your Amazon Web Services account.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ImagebuilderClient, ListWaitingWorkflowStepsCommand } from "@aws-sdk/client-imagebuilder"; // ES Modules import
+ * // const { ImagebuilderClient, ListWaitingWorkflowStepsCommand } = require("@aws-sdk/client-imagebuilder"); // CommonJS import
+ * const client = new ImagebuilderClient(config);
+ * const input = { // ListWaitingWorkflowStepsRequest
+ * maxResults: Number("int"),
+ * nextToken: "STRING_VALUE",
+ * };
+ * const command = new ListWaitingWorkflowStepsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListWaitingWorkflowStepsResponse
+ * // steps: [ // WorkflowStepExecutionList
+ * // { // WorkflowStepExecution
+ * // stepExecutionId: "STRING_VALUE",
+ * // imageBuildVersionArn: "STRING_VALUE",
+ * // workflowExecutionId: "STRING_VALUE",
+ * // workflowBuildVersionArn: "STRING_VALUE",
+ * // name: "STRING_VALUE",
+ * // action: "STRING_VALUE",
+ * // startTime: "STRING_VALUE",
+ * // },
+ * // ],
+ * // nextToken: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param ListWaitingWorkflowStepsCommandInput - {@link ListWaitingWorkflowStepsCommandInput}
+ * @returns {@link ListWaitingWorkflowStepsCommandOutput}
+ * @see {@link ListWaitingWorkflowStepsCommandInput} for command's `input` shape.
+ * @see {@link ListWaitingWorkflowStepsCommandOutput} for command's `response` shape.
+ * @see {@link ImagebuilderClientResolvedConfig | config} for ImagebuilderClient's `config` shape.
+ *
+ * @throws {@link CallRateLimitExceededException} (client fault)
+ * You have exceeded the permitted request rate for the specific operation.
+ *
+ * @throws {@link ClientException} (client fault)
+ * These errors are usually caused by a client action, such as using an action or
+ * resource on behalf of a user that doesn't have permissions to use the action or
+ * resource, or specifying an invalid resource identifier.
+ *
+ * @throws {@link ForbiddenException} (client fault)
+ * You are not authorized to perform the requested operation.
+ *
+ * @throws {@link InvalidPaginationTokenException} (client fault)
+ * You have provided an invalid pagination token in your request.
+ *
+ * @throws {@link InvalidRequestException} (client fault)
+ * You have requested an action that that the service doesn't support.
+ *
+ * @throws {@link ServiceException} (server fault)
+ * This exception is thrown when the service encounters an unrecoverable
+ * exception.
+ *
+ * @throws {@link ServiceUnavailableException} (server fault)
+ * The service is unable to process your request at this time.
+ *
+ * @throws {@link ImagebuilderServiceException}
+ * Base exception class for all service exceptions from Imagebuilder service.
+ *
+ */
+export class ListWaitingWorkflowStepsCommand extends $Command<
+ ListWaitingWorkflowStepsCommandInput,
+ ListWaitingWorkflowStepsCommandOutput,
+ ImagebuilderClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListWaitingWorkflowStepsCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ImagebuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListWaitingWorkflowStepsCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ImagebuilderClient";
+ const commandName = "ListWaitingWorkflowStepsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "imagebuilder",
+ operation: "ListWaitingWorkflowSteps",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListWaitingWorkflowStepsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListWaitingWorkflowStepsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListWaitingWorkflowStepsCommand(output, context);
+ }
+}
diff --git a/clients/client-imagebuilder/src/commands/ListWorkflowBuildVersionsCommand.ts b/clients/client-imagebuilder/src/commands/ListWorkflowBuildVersionsCommand.ts
new file mode 100644
index 0000000000000..00d1e7eb93de6
--- /dev/null
+++ b/clients/client-imagebuilder/src/commands/ListWorkflowBuildVersionsCommand.ts
@@ -0,0 +1,187 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ImagebuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ImagebuilderClient";
+import { ListWorkflowBuildVersionsRequest, ListWorkflowBuildVersionsResponse } from "../models/models_0";
+import { de_ListWorkflowBuildVersionsCommand, se_ListWorkflowBuildVersionsCommand } from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListWorkflowBuildVersionsCommand}.
+ */
+export interface ListWorkflowBuildVersionsCommandInput extends ListWorkflowBuildVersionsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListWorkflowBuildVersionsCommand}.
+ */
+export interface ListWorkflowBuildVersionsCommandOutput extends ListWorkflowBuildVersionsResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Returns a list of build versions for a specific workflow resource.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ImagebuilderClient, ListWorkflowBuildVersionsCommand } from "@aws-sdk/client-imagebuilder"; // ES Modules import
+ * // const { ImagebuilderClient, ListWorkflowBuildVersionsCommand } = require("@aws-sdk/client-imagebuilder"); // CommonJS import
+ * const client = new ImagebuilderClient(config);
+ * const input = { // ListWorkflowBuildVersionsRequest
+ * workflowVersionArn: "STRING_VALUE", // required
+ * maxResults: Number("int"),
+ * nextToken: "STRING_VALUE",
+ * };
+ * const command = new ListWorkflowBuildVersionsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListWorkflowBuildVersionsResponse
+ * // workflowSummaryList: [ // WorkflowSummaryList
+ * // { // WorkflowSummary
+ * // arn: "STRING_VALUE",
+ * // name: "STRING_VALUE",
+ * // version: "STRING_VALUE",
+ * // description: "STRING_VALUE",
+ * // changeDescription: "STRING_VALUE",
+ * // type: "BUILD" || "TEST" || "DISTRIBUTION",
+ * // owner: "STRING_VALUE",
+ * // state: { // WorkflowState
+ * // status: "DEPRECATED",
+ * // reason: "STRING_VALUE",
+ * // },
+ * // dateCreated: "STRING_VALUE",
+ * // tags: { // TagMap
+ * // "": "STRING_VALUE",
+ * // },
+ * // },
+ * // ],
+ * // nextToken: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param ListWorkflowBuildVersionsCommandInput - {@link ListWorkflowBuildVersionsCommandInput}
+ * @returns {@link ListWorkflowBuildVersionsCommandOutput}
+ * @see {@link ListWorkflowBuildVersionsCommandInput} for command's `input` shape.
+ * @see {@link ListWorkflowBuildVersionsCommandOutput} for command's `response` shape.
+ * @see {@link ImagebuilderClientResolvedConfig | config} for ImagebuilderClient's `config` shape.
+ *
+ * @throws {@link CallRateLimitExceededException} (client fault)
+ * You have exceeded the permitted request rate for the specific operation.
+ *
+ * @throws {@link ClientException} (client fault)
+ * These errors are usually caused by a client action, such as using an action or
+ * resource on behalf of a user that doesn't have permissions to use the action or
+ * resource, or specifying an invalid resource identifier.
+ *
+ * @throws {@link ForbiddenException} (client fault)
+ * You are not authorized to perform the requested operation.
+ *
+ * @throws {@link InvalidPaginationTokenException} (client fault)
+ * You have provided an invalid pagination token in your request.
+ *
+ * @throws {@link InvalidRequestException} (client fault)
+ * You have requested an action that that the service doesn't support.
+ *
+ * @throws {@link ServiceException} (server fault)
+ * This exception is thrown when the service encounters an unrecoverable
+ * exception.
+ *
+ * @throws {@link ServiceUnavailableException} (server fault)
+ * The service is unable to process your request at this time.
+ *
+ * @throws {@link ImagebuilderServiceException}
+ * Base exception class for all service exceptions from Imagebuilder service.
+ *
+ */
+export class ListWorkflowBuildVersionsCommand extends $Command<
+ ListWorkflowBuildVersionsCommandInput,
+ ListWorkflowBuildVersionsCommandOutput,
+ ImagebuilderClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListWorkflowBuildVersionsCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ImagebuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, ListWorkflowBuildVersionsCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ImagebuilderClient";
+ const commandName = "ListWorkflowBuildVersionsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "imagebuilder",
+ operation: "ListWorkflowBuildVersions",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListWorkflowBuildVersionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListWorkflowBuildVersionsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return de_ListWorkflowBuildVersionsCommand(output, context);
+ }
+}
diff --git a/clients/client-imagebuilder/src/commands/ListWorkflowExecutionsCommand.ts b/clients/client-imagebuilder/src/commands/ListWorkflowExecutionsCommand.ts
index add7ac8db91ab..f3f2772aa1c5c 100644
--- a/clients/client-imagebuilder/src/commands/ListWorkflowExecutionsCommand.ts
+++ b/clients/client-imagebuilder/src/commands/ListWorkflowExecutionsCommand.ts
@@ -59,7 +59,7 @@ export interface ListWorkflowExecutionsCommandOutput extends ListWorkflowExecuti
* // workflowBuildVersionArn: "STRING_VALUE",
* // workflowExecutionId: "STRING_VALUE",
* // type: "BUILD" || "TEST" || "DISTRIBUTION",
- * // status: "PENDING" || "SKIPPED" || "RUNNING" || "COMPLETED" || "FAILED" || "ROLLBACK_IN_PROGRESS" || "ROLLBACK_COMPLETED",
+ * // status: "PENDING" || "SKIPPED" || "RUNNING" || "COMPLETED" || "FAILED" || "ROLLBACK_IN_PROGRESS" || "ROLLBACK_COMPLETED" || "CANCELLED",
* // message: "STRING_VALUE",
* // totalStepCount: Number("int"),
* // totalStepsSucceeded: Number("int"),
@@ -67,6 +67,7 @@ export interface ListWorkflowExecutionsCommandOutput extends ListWorkflowExecuti
* // totalStepsSkipped: Number("int"),
* // startTime: "STRING_VALUE",
* // endTime: "STRING_VALUE",
+ * // parallelGroup: "STRING_VALUE",
* // },
* // ],
* // imageBuildVersionArn: "STRING_VALUE",
diff --git a/clients/client-imagebuilder/src/commands/ListWorkflowStepExecutionsCommand.ts b/clients/client-imagebuilder/src/commands/ListWorkflowStepExecutionsCommand.ts
index 76cc68886667d..946934fc5136f 100644
--- a/clients/client-imagebuilder/src/commands/ListWorkflowStepExecutionsCommand.ts
+++ b/clients/client-imagebuilder/src/commands/ListWorkflowStepExecutionsCommand.ts
@@ -37,7 +37,7 @@ export interface ListWorkflowStepExecutionsCommandOutput extends ListWorkflowSte
/**
* @public
- * Shows runtime data for each step in a runtime instance of the workflow
+ *
Returns runtime data for each step in a runtime instance of the workflow
* that you specify in the request.
* @example
* Use a bare-bones client and the command you need to make an API call.
@@ -60,7 +60,7 @@ export interface ListWorkflowStepExecutionsCommandOutput extends ListWorkflowSte
* // name: "STRING_VALUE",
* // description: "STRING_VALUE",
* // action: "STRING_VALUE",
- * // status: "PENDING" || "SKIPPED" || "RUNNING" || "COMPLETED" || "FAILED",
+ * // status: "PENDING" || "SKIPPED" || "RUNNING" || "COMPLETED" || "FAILED" || "CANCELLED",
* // rollbackStatus: "RUNNING" || "COMPLETED" || "SKIPPED" || "FAILED",
* // message: "STRING_VALUE",
* // inputs: "STRING_VALUE",
diff --git a/clients/client-imagebuilder/src/commands/ListWorkflowsCommand.ts b/clients/client-imagebuilder/src/commands/ListWorkflowsCommand.ts
new file mode 100644
index 0000000000000..e12dfb8af0413
--- /dev/null
+++ b/clients/client-imagebuilder/src/commands/ListWorkflowsCommand.ts
@@ -0,0 +1,183 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ImagebuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ImagebuilderClient";
+import { ListWorkflowsRequest, ListWorkflowsResponse } from "../models/models_0";
+import { de_ListWorkflowsCommand, se_ListWorkflowsCommand } from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link ListWorkflowsCommand}.
+ */
+export interface ListWorkflowsCommandInput extends ListWorkflowsRequest {}
+/**
+ * @public
+ *
+ * The output of {@link ListWorkflowsCommand}.
+ */
+export interface ListWorkflowsCommandOutput extends ListWorkflowsResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Lists workflow build versions based on filtering parameters.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ImagebuilderClient, ListWorkflowsCommand } from "@aws-sdk/client-imagebuilder"; // ES Modules import
+ * // const { ImagebuilderClient, ListWorkflowsCommand } = require("@aws-sdk/client-imagebuilder"); // CommonJS import
+ * const client = new ImagebuilderClient(config);
+ * const input = { // ListWorkflowsRequest
+ * owner: "Self" || "Shared" || "Amazon" || "ThirdParty",
+ * filters: [ // FilterList
+ * { // Filter
+ * name: "STRING_VALUE",
+ * values: [ // FilterValues
+ * "STRING_VALUE",
+ * ],
+ * },
+ * ],
+ * byName: true || false,
+ * maxResults: Number("int"),
+ * nextToken: "STRING_VALUE",
+ * };
+ * const command = new ListWorkflowsCommand(input);
+ * const response = await client.send(command);
+ * // { // ListWorkflowsResponse
+ * // workflowVersionList: [ // WorkflowVersionList
+ * // { // WorkflowVersion
+ * // arn: "STRING_VALUE",
+ * // name: "STRING_VALUE",
+ * // version: "STRING_VALUE",
+ * // description: "STRING_VALUE",
+ * // type: "BUILD" || "TEST" || "DISTRIBUTION",
+ * // owner: "STRING_VALUE",
+ * // dateCreated: "STRING_VALUE",
+ * // },
+ * // ],
+ * // nextToken: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param ListWorkflowsCommandInput - {@link ListWorkflowsCommandInput}
+ * @returns {@link ListWorkflowsCommandOutput}
+ * @see {@link ListWorkflowsCommandInput} for command's `input` shape.
+ * @see {@link ListWorkflowsCommandOutput} for command's `response` shape.
+ * @see {@link ImagebuilderClientResolvedConfig | config} for ImagebuilderClient's `config` shape.
+ *
+ * @throws {@link CallRateLimitExceededException} (client fault)
+ * You have exceeded the permitted request rate for the specific operation.
+ *
+ * @throws {@link ClientException} (client fault)
+ * These errors are usually caused by a client action, such as using an action or
+ * resource on behalf of a user that doesn't have permissions to use the action or
+ * resource, or specifying an invalid resource identifier.
+ *
+ * @throws {@link ForbiddenException} (client fault)
+ * You are not authorized to perform the requested operation.
+ *
+ * @throws {@link InvalidPaginationTokenException} (client fault)
+ * You have provided an invalid pagination token in your request.
+ *
+ * @throws {@link InvalidRequestException} (client fault)
+ * You have requested an action that that the service doesn't support.
+ *
+ * @throws {@link ServiceException} (server fault)
+ * This exception is thrown when the service encounters an unrecoverable
+ * exception.
+ *
+ * @throws {@link ServiceUnavailableException} (server fault)
+ * The service is unable to process your request at this time.
+ *
+ * @throws {@link ImagebuilderServiceException}
+ * Base exception class for all service exceptions from Imagebuilder service.
+ *
+ */
+export class ListWorkflowsCommand extends $Command<
+ ListWorkflowsCommandInput,
+ ListWorkflowsCommandOutput,
+ ImagebuilderClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: ListWorkflowsCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ImagebuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(getEndpointPlugin(configuration, ListWorkflowsCommand.getEndpointParameterInstructions()));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ImagebuilderClient";
+ const commandName = "ListWorkflowsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "imagebuilder",
+ operation: "ListWorkflows",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: ListWorkflowsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_ListWorkflowsCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_ListWorkflowsCommand(output, context);
+ }
+}
diff --git a/clients/client-imagebuilder/src/commands/SendWorkflowStepActionCommand.ts b/clients/client-imagebuilder/src/commands/SendWorkflowStepActionCommand.ts
new file mode 100644
index 0000000000000..827513cfb3c39
--- /dev/null
+++ b/clients/client-imagebuilder/src/commands/SendWorkflowStepActionCommand.ts
@@ -0,0 +1,181 @@
+// smithy-typescript generated code
+import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
+import { getSerdePlugin } from "@smithy/middleware-serde";
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
+import { Command as $Command } from "@smithy/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ MetadataBearer as __MetadataBearer,
+ MiddlewareStack,
+ SerdeContext as __SerdeContext,
+ SMITHY_CONTEXT_KEY,
+} from "@smithy/types";
+
+import { ImagebuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ImagebuilderClient";
+import { SendWorkflowStepActionRequest, SendWorkflowStepActionResponse } from "../models/models_0";
+import { de_SendWorkflowStepActionCommand, se_SendWorkflowStepActionCommand } from "../protocols/Aws_restJson1";
+
+/**
+ * @public
+ */
+export { __MetadataBearer, $Command };
+/**
+ * @public
+ *
+ * The input for {@link SendWorkflowStepActionCommand}.
+ */
+export interface SendWorkflowStepActionCommandInput extends SendWorkflowStepActionRequest {}
+/**
+ * @public
+ *
+ * The output of {@link SendWorkflowStepActionCommand}.
+ */
+export interface SendWorkflowStepActionCommandOutput extends SendWorkflowStepActionResponse, __MetadataBearer {}
+
+/**
+ * @public
+ * Pauses or resumes image creation when the associated workflow runs a
+ * WaitForAction
step.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ImagebuilderClient, SendWorkflowStepActionCommand } from "@aws-sdk/client-imagebuilder"; // ES Modules import
+ * // const { ImagebuilderClient, SendWorkflowStepActionCommand } = require("@aws-sdk/client-imagebuilder"); // CommonJS import
+ * const client = new ImagebuilderClient(config);
+ * const input = { // SendWorkflowStepActionRequest
+ * stepExecutionId: "STRING_VALUE", // required
+ * imageBuildVersionArn: "STRING_VALUE", // required
+ * action: "RESUME" || "STOP", // required
+ * reason: "STRING_VALUE",
+ * clientToken: "STRING_VALUE", // required
+ * };
+ * const command = new SendWorkflowStepActionCommand(input);
+ * const response = await client.send(command);
+ * // { // SendWorkflowStepActionResponse
+ * // stepExecutionId: "STRING_VALUE",
+ * // imageBuildVersionArn: "STRING_VALUE",
+ * // clientToken: "STRING_VALUE",
+ * // };
+ *
+ * ```
+ *
+ * @param SendWorkflowStepActionCommandInput - {@link SendWorkflowStepActionCommandInput}
+ * @returns {@link SendWorkflowStepActionCommandOutput}
+ * @see {@link SendWorkflowStepActionCommandInput} for command's `input` shape.
+ * @see {@link SendWorkflowStepActionCommandOutput} for command's `response` shape.
+ * @see {@link ImagebuilderClientResolvedConfig | config} for ImagebuilderClient's `config` shape.
+ *
+ * @throws {@link CallRateLimitExceededException} (client fault)
+ * You have exceeded the permitted request rate for the specific operation.
+ *
+ * @throws {@link ClientException} (client fault)
+ * These errors are usually caused by a client action, such as using an action or
+ * resource on behalf of a user that doesn't have permissions to use the action or
+ * resource, or specifying an invalid resource identifier.
+ *
+ * @throws {@link ForbiddenException} (client fault)
+ * You are not authorized to perform the requested operation.
+ *
+ * @throws {@link IdempotentParameterMismatchException} (client fault)
+ * You have specified a client token for an operation using parameter values that differ
+ * from a previous request that used the same client token.
+ *
+ * @throws {@link InvalidParameterValueException} (client fault)
+ * The value that you provided for the specified parameter is invalid.
+ *
+ * @throws {@link InvalidRequestException} (client fault)
+ * You have requested an action that that the service doesn't support.
+ *
+ * @throws {@link ResourceInUseException} (client fault)
+ * The resource that you are trying to operate on is currently in use. Review the message
+ * details and retry later.
+ *
+ * @throws {@link ResourceNotFoundException} (client fault)
+ * At least one of the resources referenced by your request does not exist.
+ *
+ * @throws {@link ServiceException} (server fault)
+ * This exception is thrown when the service encounters an unrecoverable
+ * exception.
+ *
+ * @throws {@link ServiceUnavailableException} (server fault)
+ * The service is unable to process your request at this time.
+ *
+ * @throws {@link ImagebuilderServiceException}
+ * Base exception class for all service exceptions from Imagebuilder service.
+ *
+ */
+export class SendWorkflowStepActionCommand extends $Command<
+ SendWorkflowStepActionCommandInput,
+ SendWorkflowStepActionCommandOutput,
+ ImagebuilderClientResolvedConfig
+> {
+ public static getEndpointParameterInstructions(): EndpointParameterInstructions {
+ return {
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
+ Endpoint: { type: "builtInParams", name: "endpoint" },
+ Region: { type: "builtInParams", name: "region" },
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
+ };
+ }
+
+ /**
+ * @public
+ */
+ constructor(readonly input: SendWorkflowStepActionCommandInput) {
+ super();
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ImagebuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+ this.middlewareStack.use(
+ getEndpointPlugin(configuration, SendWorkflowStepActionCommand.getEndpointParameterInstructions())
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ImagebuilderClient";
+ const commandName = "SendWorkflowStepActionCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: (_: any) => _,
+ outputFilterSensitiveLog: (_: any) => _,
+ [SMITHY_CONTEXT_KEY]: {
+ service: "imagebuilder",
+ operation: "SendWorkflowStepAction",
+ },
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ /**
+ * @internal
+ */
+ private serialize(input: SendWorkflowStepActionCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return se_SendWorkflowStepActionCommand(input, context);
+ }
+
+ /**
+ * @internal
+ */
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return de_SendWorkflowStepActionCommand(output, context);
+ }
+}
diff --git a/clients/client-imagebuilder/src/commands/UpdateImagePipelineCommand.ts b/clients/client-imagebuilder/src/commands/UpdateImagePipelineCommand.ts
index 90c5c406b1c74..5484182f8b888 100644
--- a/clients/client-imagebuilder/src/commands/UpdateImagePipelineCommand.ts
+++ b/clients/client-imagebuilder/src/commands/UpdateImagePipelineCommand.ts
@@ -38,7 +38,8 @@ export interface UpdateImagePipelineCommandOutput extends UpdateImagePipelineRes
/**
* @public
* Updates an image pipeline. Image pipelines enable you to automate the creation and
- * distribution of images.
+ * distribution of images. You must specify exactly one recipe for your image, using either
+ * a containerRecipeArn
or an imageRecipeArn
.
*
* UpdateImagePipeline does not support selective updates for the pipeline. You must
* specify all of the required properties in the update request, not just the
@@ -78,6 +79,22 @@ export interface UpdateImagePipelineCommandOutput extends UpdateImagePipelineRes
* ],
* },
* },
+ * workflows: [ // WorkflowConfigurationList
+ * { // WorkflowConfiguration
+ * workflowArn: "STRING_VALUE", // required
+ * parameters: [ // WorkflowParameterList
+ * { // WorkflowParameter
+ * name: "STRING_VALUE", // required
+ * value: [ // WorkflowParameterValueList // required
+ * "STRING_VALUE",
+ * ],
+ * },
+ * ],
+ * parallelGroup: "STRING_VALUE",
+ * onFailure: "CONTINUE" || "ABORT",
+ * },
+ * ],
+ * executionRole: "STRING_VALUE",
* };
* const command = new UpdateImagePipelineCommand(input);
* const response = await client.send(command);
diff --git a/clients/client-imagebuilder/src/commands/index.ts b/clients/client-imagebuilder/src/commands/index.ts
index eb234b9bf0dd9..1e66d0de5141b 100644
--- a/clients/client-imagebuilder/src/commands/index.ts
+++ b/clients/client-imagebuilder/src/commands/index.ts
@@ -9,6 +9,7 @@ export * from "./CreateImagePipelineCommand";
export * from "./CreateImageRecipeCommand";
export * from "./CreateInfrastructureConfigurationCommand";
export * from "./CreateLifecyclePolicyCommand";
+export * from "./CreateWorkflowCommand";
export * from "./DeleteComponentCommand";
export * from "./DeleteContainerRecipeCommand";
export * from "./DeleteDistributionConfigurationCommand";
@@ -17,6 +18,7 @@ export * from "./DeleteImagePipelineCommand";
export * from "./DeleteImageRecipeCommand";
export * from "./DeleteInfrastructureConfigurationCommand";
export * from "./DeleteLifecyclePolicyCommand";
+export * from "./DeleteWorkflowCommand";
export * from "./GetComponentCommand";
export * from "./GetComponentPolicyCommand";
export * from "./GetContainerRecipeCommand";
@@ -30,6 +32,7 @@ export * from "./GetImageRecipePolicyCommand";
export * from "./GetInfrastructureConfigurationCommand";
export * from "./GetLifecycleExecutionCommand";
export * from "./GetLifecyclePolicyCommand";
+export * from "./GetWorkflowCommand";
export * from "./GetWorkflowExecutionCommand";
export * from "./GetWorkflowStepExecutionCommand";
export * from "./ImportComponentCommand";
@@ -51,12 +54,16 @@ export * from "./ListLifecycleExecutionResourcesCommand";
export * from "./ListLifecycleExecutionsCommand";
export * from "./ListLifecyclePoliciesCommand";
export * from "./ListTagsForResourceCommand";
+export * from "./ListWaitingWorkflowStepsCommand";
+export * from "./ListWorkflowBuildVersionsCommand";
export * from "./ListWorkflowExecutionsCommand";
export * from "./ListWorkflowStepExecutionsCommand";
+export * from "./ListWorkflowsCommand";
export * from "./PutComponentPolicyCommand";
export * from "./PutContainerRecipePolicyCommand";
export * from "./PutImagePolicyCommand";
export * from "./PutImageRecipePolicyCommand";
+export * from "./SendWorkflowStepActionCommand";
export * from "./StartImagePipelineExecutionCommand";
export * from "./StartResourceStateUpdateCommand";
export * from "./TagResourceCommand";
diff --git a/clients/client-imagebuilder/src/models/models_0.ts b/clients/client-imagebuilder/src/models/models_0.ts
index 305d6f489495b..4302a4441515c 100644
--- a/clients/client-imagebuilder/src/models/models_0.ts
+++ b/clients/client-imagebuilder/src/models/models_0.ts
@@ -593,8 +593,7 @@ export type ComponentStatus = (typeof ComponentStatus)[keyof typeof ComponentSta
/**
* @public
- *
A group of fields that describe the current status of components that are no longer
- * active.
+ * A group of fields that describe the current status of components.
*/
export interface ComponentState {
/**
@@ -655,7 +654,8 @@ export interface Component {
/**
* @public
- * The change description of the component.
+ * Describes what change has been made in this version of the component,
+ * or what makes this version different from other versions of the component.
*/
changeDescription?: string;
@@ -1441,7 +1441,7 @@ export interface CreateComponentRequest {
/**
* @public
* The change description of the component. Describes what change has been made in this
- * version, or what makes this version different from other versions of this
+ * version, or what makes this version different from other versions of the
* component.
*/
changeDescription?: string;
@@ -2105,6 +2105,75 @@ export interface ImageTestsConfiguration {
timeoutMinutes?: number;
}
+/**
+ * @public
+ * @enum
+ */
+export const OnWorkflowFailure = {
+ ABORT: "ABORT",
+ CONTINUE: "CONTINUE",
+} as const;
+
+/**
+ * @public
+ */
+export type OnWorkflowFailure = (typeof OnWorkflowFailure)[keyof typeof OnWorkflowFailure];
+
+/**
+ * @public
+ * Contains a key/value pair that sets the named workflow parameter.
+ */
+export interface WorkflowParameter {
+ /**
+ * @public
+ * The name of the workflow parameter to set.
+ */
+ name: string | undefined;
+
+ /**
+ * @public
+ * Sets the value for the named workflow parameter.
+ */
+ value: string[] | undefined;
+}
+
+/**
+ * @public
+ * Contains control settings and configurable inputs for a workflow
+ * resource.
+ */
+export interface WorkflowConfiguration {
+ /**
+ * @public
+ * The Amazon Resource Name (ARN) of the workflow resource.
+ */
+ workflowArn: string | undefined;
+
+ /**
+ * @public
+ * Contains parameter values for each of the parameters that the workflow
+ * document defined for the workflow resource.
+ */
+ parameters?: WorkflowParameter[];
+
+ /**
+ * @public
+ * Test workflows are defined within named runtime groups called parallel groups.
+ * The parallel group is the named group that contains this test workflow. Test
+ * workflows within a parallel group can run at the same time. Image Builder starts up to five
+ * test workflows in the group at the same time, and starts additional workflows as
+ * others complete, until all workflows in the group have completed. This field only
+ * applies for test workflows.
+ */
+ parallelGroup?: string;
+
+ /**
+ * @public
+ * The action to take if the workflow fails.
+ */
+ onFailure?: OnWorkflowFailure;
+}
+
/**
* @public
*/
@@ -2170,6 +2239,19 @@ export interface CreateImageRequest {
* Contains settings for vulnerability scans.
*/
imageScanningConfiguration?: ImageScanningConfiguration;
+
+ /**
+ * @public
+ * Contains an array of workflow configuration objects.
+ */
+ workflows?: WorkflowConfiguration[];
+
+ /**
+ * @public
+ * The name or Amazon Resource Name (ARN) for the IAM role you create that grants
+ * Image Builder access to perform workflow actions.
+ */
+ executionRole?: string;
}
/**
@@ -2212,7 +2294,7 @@ export type PipelineExecutionStartCondition =
/**
* @public
- * A schedule configures how often and when a pipeline will automatically create a new
+ *
A schedule configures when and how often a pipeline will automatically create a new
* image.
*/
export interface Schedule {
@@ -2349,6 +2431,19 @@ export interface CreateImagePipelineRequest {
* Contains settings for vulnerability scans.
*/
imageScanningConfiguration?: ImageScanningConfiguration;
+
+ /**
+ * @public
+ * Contains an array of workflow configuration objects.
+ */
+ workflows?: WorkflowConfiguration[];
+
+ /**
+ * @public
+ * The name or Amazon Resource Name (ARN) for the IAM role you create that grants
+ * Image Builder access to perform workflow actions.
+ */
+ executionRole?: string;
}
/**
@@ -2794,20 +2889,20 @@ export interface LifecyclePolicyDetailExclusionRulesAmis {
/**
* @public
- * Specifies Amazon Web Services accounts whose resources are excluded from the lifecycle action.
+ * Configures Amazon Web Services Regions that are excluded from the lifecycle action.
*/
regions?: string[];
/**
* @public
- * Specifies configuration details for Image Builder to exclude the most recent resources
- * from lifecycle actions.
+ * Specifies Amazon Web Services accounts whose resources are excluded from the lifecycle action.
*/
sharedAccounts?: string[];
/**
* @public
- * Configures Amazon Web Services Regions that are excluded from the lifecycle action.
+ * Specifies configuration details for Image Builder to exclude the most recent resources
+ * from lifecycle actions.
*/
lastLaunched?: LifecyclePolicyDetailExclusionRulesAmisLastLaunched;
@@ -2825,7 +2920,7 @@ export interface LifecyclePolicyDetailExclusionRulesAmis {
export interface LifecyclePolicyDetailExclusionRules {
/**
* @public
- * Contains a list of tags that Image Builder uses to skip lifecycle actions for AMIs that have them.
+ * Contains a list of tags that Image Builder uses to skip lifecycle actions for resources that have them.
*/
tagMap?: Record;
@@ -3007,7 +3102,7 @@ export interface CreateLifecyclePolicyRequest {
/**
* @public
- * The role name or Amazon Resource Name (ARN) for the IAM role that grants
+ *
The name or Amazon Resource Name (ARN) for the IAM role you create that grants
* Image Builder access to run lifecycle actions.
*/
executionRole: string | undefined;
@@ -3062,6 +3157,127 @@ export interface CreateLifecyclePolicyResponse {
lifecyclePolicyArn?: string;
}
+/**
+ * @public
+ * @enum
+ */
+export const WorkflowType = {
+ BUILD: "BUILD",
+ DISTRIBUTION: "DISTRIBUTION",
+ TEST: "TEST",
+} as const;
+
+/**
+ * @public
+ */
+export type WorkflowType = (typeof WorkflowType)[keyof typeof WorkflowType];
+
+/**
+ * @public
+ */
+export interface CreateWorkflowRequest {
+ /**
+ * @public
+ * The name of the workflow to create.
+ */
+ name: string | undefined;
+
+ /**
+ * @public
+ * The semantic version of this workflow resource. The semantic version syntax
+ * adheres to the following rules.
+ *
+ * The semantic version has four nodes: ../.
+ * You can assign values for the first three, and can filter on all of them.
+ *
+ * Assignment: For the first three nodes you can assign any positive integer value, including
+ * zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the
+ * build number to the fourth node.
+ *
+ * Patterns: You can use any numeric pattern that adheres to the assignment requirements for
+ * the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or
+ * a date, such as 2021.01.01.
+ *
+ */
+ semanticVersion: string | undefined;
+
+ /**
+ * @public
+ * Describes the workflow.
+ */
+ description?: string;
+
+ /**
+ * @public
+ * Describes what change has been made in this version of the workflow, or
+ * what makes this version different from other versions of the workflow.
+ */
+ changeDescription?: string;
+
+ /**
+ * @public
+ * Contains the UTF-8 encoded YAML document content for the workflow.
+ * Alternatively, you can specify the uri
of a YAML document file stored in
+ * Amazon S3. However, you cannot specify both properties.
+ */
+ data?: string;
+
+ /**
+ * @public
+ * The uri
of a YAML component document file. This must be an S3 URL
+ * (s3://bucket/key
), and the requester must have permission to access the
+ * S3 bucket it points to. If you use Amazon S3, you can specify component content up to your
+ * service quota.
+ * Alternatively, you can specify the YAML document inline, using the component
+ * data
property. You cannot specify both properties.
+ */
+ uri?: string;
+
+ /**
+ * @public
+ * The ID of the KMS key that is used to encrypt this workflow resource.
+ */
+ kmsKeyId?: string;
+
+ /**
+ * @public
+ * Tags that apply to the workflow resource.
+ */
+ tags?: Record;
+
+ /**
+ * @public
+ * Unique, case-sensitive identifier you provide to ensure
+ * idempotency of the request. For more information, see Ensuring idempotency
+ * in the Amazon EC2 API Reference.
+ */
+ clientToken?: string;
+
+ /**
+ * @public
+ * The phase in the image build process for which the workflow resource
+ * is responsible.
+ */
+ type: WorkflowType | undefined;
+}
+
+/**
+ * @public
+ */
+export interface CreateWorkflowResponse {
+ /**
+ * @public
+ * The client token that uniquely identifies the request.
+ */
+ clientToken?: string;
+
+ /**
+ * @public
+ * The Amazon Resource Name (ARN) of the workflow resource that the request created.
+ */
+ workflowBuildVersionArn?: string;
+}
+
/**
* @public
* Amazon Inspector generates a risk score for each finding. This score helps you to prioritize
@@ -3400,6 +3616,28 @@ export interface DeleteLifecyclePolicyResponse {
lifecyclePolicyArn?: string;
}
+/**
+ * @public
+ */
+export interface DeleteWorkflowRequest {
+ /**
+ * @public
+ *
The Amazon Resource Name (ARN) of the workflow resource to delete.
+ */
+ workflowBuildVersionArn: string | undefined;
+}
+
+/**
+ * @public
+ */
+export interface DeleteWorkflowResponse {
+ /**
+ * @public
+ * The ARN of the workflow resource that this request deleted.
+ */
+ workflowBuildVersionArn?: string;
+}
+
/**
* @public
* A distribution configuration.
@@ -3547,7 +3785,7 @@ export interface GetComponentResponse {
/**
* @public
- * The component object associated with the specified ARN.
+ * The component object specified in the request.
*/
component?: Component;
}
@@ -4194,6 +4432,19 @@ export interface Image {
* Identifies the last runtime instance of the lifecycle policy to take action on the image.
*/
lifecycleExecutionId?: string;
+
+ /**
+ * @public
+ * The name or Amazon Resource Name (ARN) for the IAM role you create that grants
+ * Image Builder access to perform workflow actions.
+ */
+ executionRole?: string;
+
+ /**
+ * @public
+ * Contains the build and test workflows that are associated with the image.
+ */
+ workflows?: WorkflowConfiguration[];
}
/**
@@ -4342,6 +4593,19 @@ export interface ImagePipeline {
* Contains settings for vulnerability scans.
*/
imageScanningConfiguration?: ImageScanningConfiguration;
+
+ /**
+ * @public
+ * The name or Amazon Resource Name (ARN) for the IAM role you create that grants
+ * Image Builder access to perform workflow actions.
+ */
+ executionRole?: string;
+
+ /**
+ * @public
+ * Contains the workflows that run for the image pipeline.
+ */
+ workflows?: WorkflowConfiguration[];
}
/**
@@ -4633,7 +4897,7 @@ export interface LifecyclePolicy {
/**
* @public
- * The name of the IAM role that Image Builder uses to run the lifecycle policy.
+ *
The name or Amazon Resource Name (ARN) of the IAM role that Image Builder uses to run the lifecycle policy.
* This is a custom role that you create.
*/
executionRole?: string;
@@ -4697,48 +4961,209 @@ export interface GetLifecyclePolicyResponse {
/**
* @public
*/
-export interface GetWorkflowExecutionRequest {
+export interface GetWorkflowRequest {
/**
* @public
- * Use the unique identifier for a runtime instance of the workflow to get
- * runtime details.
+ * The Amazon Resource Name (ARN) of the workflow resource that you want to get.
*/
- workflowExecutionId: string | undefined;
+ workflowBuildVersionArn: string | undefined;
}
/**
* @public
- * @enum
+ * Defines a parameter that's used to provide configuration details for the
+ * workflow.
*/
-export const WorkflowExecutionStatus = {
- COMPLETED: "COMPLETED",
- FAILED: "FAILED",
- PENDING: "PENDING",
- ROLLBACK_COMPLETED: "ROLLBACK_COMPLETED",
- ROLLBACK_IN_PROGRESS: "ROLLBACK_IN_PROGRESS",
- RUNNING: "RUNNING",
- SKIPPED: "SKIPPED",
-} as const;
+export interface WorkflowParameterDetail {
+ /**
+ * @public
+ * The name of this input parameter.
+ */
+ name: string | undefined;
-/**
- * @public
- */
-export type WorkflowExecutionStatus = (typeof WorkflowExecutionStatus)[keyof typeof WorkflowExecutionStatus];
+ /**
+ * @public
+ * The type of input this parameter provides. The currently supported value is
+ * "string".
+ */
+ type: string | undefined;
+
+ /**
+ * @public
+ * The default value of this parameter if no input is provided.
+ */
+ defaultValue?: string[];
+
+ /**
+ * @public
+ * Describes this parameter.
+ */
+ description?: string;
+}
/**
* @public
* @enum
*/
-export const WorkflowType = {
- BUILD: "BUILD",
- DISTRIBUTION: "DISTRIBUTION",
- TEST: "TEST",
+export const WorkflowStatus = {
+ DEPRECATED: "DEPRECATED",
} as const;
/**
* @public
*/
-export type WorkflowType = (typeof WorkflowType)[keyof typeof WorkflowType];
+export type WorkflowStatus = (typeof WorkflowStatus)[keyof typeof WorkflowStatus];
+
+/**
+ * @public
+ * A group of fields that describe the current status of workflow.
+ */
+export interface WorkflowState {
+ /**
+ * @public
+ * The current state of the workflow.
+ */
+ status?: WorkflowStatus;
+
+ /**
+ * @public
+ * Describes how or why the workflow changed state.
+ */
+ reason?: string;
+}
+
+/**
+ * @public
+ * Defines a process that Image Builder uses to build and test images during
+ * the image creation process.
+ */
+export interface Workflow {
+ /**
+ * @public
+ * The Amazon Resource Name (ARN) of the workflow resource.
+ */
+ arn?: string;
+
+ /**
+ * @public
+ * The name of the workflow resource.
+ */
+ name?: string;
+
+ /**
+ * @public
+ * The workflow resource version. Workflow resources are immutable.
+ * To make a change, you can clone a workflow or create a new version.
+ */
+ version?: string;
+
+ /**
+ * @public
+ * The description of the workflow.
+ */
+ description?: string;
+
+ /**
+ * @public
+ * Describes what change has been made in this version of the workflow, or
+ * what makes this version different from other versions of the workflow.
+ */
+ changeDescription?: string;
+
+ /**
+ * @public
+ * Specifies the image creation stage that the workflow applies to. Image Builder
+ * currently supports build and test workflows.
+ */
+ type?: WorkflowType;
+
+ /**
+ * @public
+ * Describes the current status of the workflow and the reason for
+ * that status.
+ */
+ state?: WorkflowState;
+
+ /**
+ * @public
+ * The owner of the workflow resource.
+ */
+ owner?: string;
+
+ /**
+ * @public
+ * Contains the YAML document content for the workflow.
+ */
+ data?: string;
+
+ /**
+ * @public
+ * The KMS key identifier used to encrypt the workflow resource.
+ */
+ kmsKeyId?: string;
+
+ /**
+ * @public
+ * The timestamp when Image Builder created the workflow resource.
+ */
+ dateCreated?: string;
+
+ /**
+ * @public
+ * The tags that apply to the workflow resource
+ */
+ tags?: Record;
+
+ /**
+ * @public
+ * An array of input parameters that that the image workflow uses
+ * to control actions or configure settings.
+ */
+ parameters?: WorkflowParameterDetail[];
+}
+
+/**
+ * @public
+ */
+export interface GetWorkflowResponse {
+ /**
+ * @public
+ * The workflow resource specified in the request.
+ */
+ workflow?: Workflow;
+}
+
+/**
+ * @public
+ */
+export interface GetWorkflowExecutionRequest {
+ /**
+ * @public
+ * Use the unique identifier for a runtime instance of the workflow to get
+ * runtime details.
+ */
+ workflowExecutionId: string | undefined;
+}
+
+/**
+ * @public
+ * @enum
+ */
+export const WorkflowExecutionStatus = {
+ CANCELLED: "CANCELLED",
+ COMPLETED: "COMPLETED",
+ FAILED: "FAILED",
+ PENDING: "PENDING",
+ ROLLBACK_COMPLETED: "ROLLBACK_COMPLETED",
+ ROLLBACK_IN_PROGRESS: "ROLLBACK_IN_PROGRESS",
+ RUNNING: "RUNNING",
+ SKIPPED: "SKIPPED",
+} as const;
+
+/**
+ * @public
+ */
+export type WorkflowExecutionStatus = (typeof WorkflowExecutionStatus)[keyof typeof WorkflowExecutionStatus];
/**
* @public
@@ -4829,6 +5254,13 @@ export interface GetWorkflowExecutionResponse {
* The timestamp when the specified runtime instance of the workflow finished.
*/
endTime?: string;
+
+ /**
+ * @public
+ * Test workflows are defined within named runtime groups. The parallel group
+ * is a named group that contains one or more test workflows.
+ */
+ parallelGroup?: string;
}
/**
@@ -4865,6 +5297,7 @@ export type WorkflowStepExecutionRollbackStatus =
* @enum
*/
export const WorkflowStepExecutionStatus = {
+ CANCELLED: "CANCELLED",
COMPLETED: "COMPLETED",
FAILED: "FAILED",
PENDING: "PENDING",
@@ -5046,7 +5479,7 @@ export interface ImportComponentRequest {
* @public
* The change description of the component. This description indicates the change that
* has been made in this version, or what makes this version different from other versions
- * of this component.
+ * of the component.
*/
changeDescription?: string;
@@ -7239,7 +7672,7 @@ export interface LifecyclePolicySummary {
/**
* @public
- * The name of the IAM role that Image Builder uses to run the lifecycle policy.
+ * The name or Amazon Resource Name (ARN) of the IAM role that Image Builder uses to run the lifecycle policy.
*/
executionRole?: string;
@@ -7339,6 +7772,206 @@ export interface ListTagsForResourceResponse {
tags?: Record;
}
+/**
+ * @public
+ */
+export interface ListWaitingWorkflowStepsRequest {
+ /**
+ * @public
+ * The maximum items to return in a request.
+ */
+ maxResults?: number;
+
+ /**
+ * @public
+ * A token to specify where to start paginating. This is the nextToken
+ * from a previously truncated response.
+ */
+ nextToken?: string;
+}
+
+/**
+ * @public
+ * Contains runtime details for an instance of a workflow that ran for the
+ * associated image build version.
+ */
+export interface WorkflowStepExecution {
+ /**
+ * @public
+ * Uniquely identifies the workflow step that ran for the associated
+ * image build version.
+ */
+ stepExecutionId?: string;
+
+ /**
+ * @public
+ * The Amazon Resource Name (ARN) of the image build version that ran the workflow.
+ */
+ imageBuildVersionArn?: string;
+
+ /**
+ * @public
+ * Uniquely identifies the runtime instance of the workflow that contains
+ * the workflow step that ran for the associated image build version.
+ */
+ workflowExecutionId?: string;
+
+ /**
+ * @public
+ * The ARN of the workflow resource that ran.
+ */
+ workflowBuildVersionArn?: string;
+
+ /**
+ * @public
+ * The name of the workflow step.
+ */
+ name?: string;
+
+ /**
+ * @public
+ * The name of the step action.
+ */
+ action?: string;
+
+ /**
+ * @public
+ * The timestamp when the workflow step started.
+ */
+ startTime?: string;
+}
+
+/**
+ * @public
+ */
+export interface ListWaitingWorkflowStepsResponse {
+ /**
+ * @public
+ * An array of the workflow steps that are waiting for action in your
+ * Amazon Web Services account.
+ */
+ steps?: WorkflowStepExecution[];
+
+ /**
+ * @public
+ * The next token used for paginated responses. When this field isn't empty,
+ * there are additional elements that the service hasn't included in this request. Use this token
+ * with the next request to retrieve additional objects.
+ */
+ nextToken?: string;
+}
+
+/**
+ * @public
+ */
+export interface ListWorkflowBuildVersionsRequest {
+ /**
+ * @public
+ * The Amazon Resource Name (ARN) of the workflow resource for which to get a list of build versions.
+ */
+ workflowVersionArn: string | undefined;
+
+ /**
+ * @public
+ * The maximum items to return in a request.
+ */
+ maxResults?: number;
+
+ /**
+ * @public
+ * A token to specify where to start paginating. This is the nextToken
+ * from a previously truncated response.
+ */
+ nextToken?: string;
+}
+
+/**
+ * @public
+ * Contains metadata about the workflow resource.
+ */
+export interface WorkflowSummary {
+ /**
+ * @public
+ * The Amazon Resource Name (ARN) of the workflow resource.
+ */
+ arn?: string;
+
+ /**
+ * @public
+ * The name of the workflow.
+ */
+ name?: string;
+
+ /**
+ * @public
+ * The version of the workflow.
+ */
+ version?: string;
+
+ /**
+ * @public
+ * Describes the workflow.
+ */
+ description?: string;
+
+ /**
+ * @public
+ * The change description for the current version of the workflow resource.
+ */
+ changeDescription?: string;
+
+ /**
+ * @public
+ * The image creation stage that this workflow applies to. Image Builder currently
+ * supports build and test stage workflows.
+ */
+ type?: WorkflowType;
+
+ /**
+ * @public
+ * The owner of the workflow resource.
+ */
+ owner?: string;
+
+ /**
+ * @public
+ * Describes the current state of the workflow resource.
+ */
+ state?: WorkflowState;
+
+ /**
+ * @public
+ * The original creation date of the workflow resource.
+ */
+ dateCreated?: string;
+
+ /**
+ * @public
+ * Contains a list of tags that are defined for the workflow.
+ */
+ tags?: Record;
+}
+
+/**
+ * @public
+ */
+export interface ListWorkflowBuildVersionsResponse {
+ /**
+ * @public
+ * A list that contains metadata for the workflow builds that have run for
+ * the workflow resource specified in the request.
+ */
+ workflowSummaryList?: WorkflowSummary[];
+
+ /**
+ * @public
+ * The next token used for paginated responses. When this field isn't empty,
+ * there are additional elements that the service hasn't included in this request. Use this token
+ * with the next request to retrieve additional objects.
+ */
+ nextToken?: string;
+}
+
/**
* @public
*/
@@ -7436,6 +8069,12 @@ export interface WorkflowExecutionMetadata {
* The timestamp when this runtime instance of the workflow finished.
*/
endTime?: string;
+
+ /**
+ * @public
+ * The name of the test group that included the test workflow resource at runtime.
+ */
+ parallelGroup?: string;
}
/**
@@ -7477,6 +8116,110 @@ export interface ListWorkflowExecutionsResponse {
nextToken?: string;
}
+/**
+ * @public
+ */
+export interface ListWorkflowsRequest {
+ /**
+ * @public
+ * Used to get a list of workflow build version filtered by the identity of the creator.
+ */
+ owner?: Ownership;
+
+ /**
+ * @public
+ * Used to streamline search results.
+ */
+ filters?: Filter[];
+
+ /**
+ * @public
+ * Specify all or part of the workflow name to streamline results.
+ */
+ byName?: boolean;
+
+ /**
+ * @public
+ * The maximum items to return in a request.
+ */
+ maxResults?: number;
+
+ /**
+ * @public
+ * A token to specify where to start paginating. This is the nextToken
+ * from a previously truncated response.
+ */
+ nextToken?: string;
+}
+
+/**
+ * @public
+ * Contains details about this version of the workflow.
+ */
+export interface WorkflowVersion {
+ /**
+ * @public
+ * The Amazon Resource Name (ARN) of the workflow resource.
+ */
+ arn?: string;
+
+ /**
+ * @public
+ * The name of the workflow.
+ */
+ name?: string;
+
+ /**
+ * @public
+ * The semantic version of the workflow resource. The format includes three nodes: ...
+ */
+ version?: string;
+
+ /**
+ * @public
+ * Describes the workflow.
+ */
+ description?: string;
+
+ /**
+ * @public
+ * The image creation stage that this workflow applies to. Image Builder currently
+ * supports build and test stage workflows.
+ */
+ type?: WorkflowType;
+
+ /**
+ * @public
+ * The owner of the workflow resource.
+ */
+ owner?: string;
+
+ /**
+ * @public
+ * The timestamp when Image Builder created the workflow version.
+ */
+ dateCreated?: string;
+}
+
+/**
+ * @public
+ */
+export interface ListWorkflowsResponse {
+ /**
+ * @public
+ * A list of workflow build versions that match the request criteria.
+ */
+ workflowVersionList?: WorkflowVersion[];
+
+ /**
+ * @public
+ * The next token used for paginated responses. When this field isn't empty,
+ * there are additional elements that the service hasn't included in this request. Use this token
+ * with the next request to retrieve additional objects.
+ */
+ nextToken?: string;
+}
+
/**
* @public
*/
@@ -7790,6 +8533,82 @@ export interface PutImageRecipePolicyResponse {
imageRecipeArn?: string;
}
+/**
+ * @public
+ * @enum
+ */
+export const WorkflowStepActionType = {
+ RESUME: "RESUME",
+ STOP: "STOP",
+} as const;
+
+/**
+ * @public
+ */
+export type WorkflowStepActionType = (typeof WorkflowStepActionType)[keyof typeof WorkflowStepActionType];
+
+/**
+ * @public
+ */
+export interface SendWorkflowStepActionRequest {
+ /**
+ * @public
+ * Uniquely identifies the workflow step that sent the step action.
+ */
+ stepExecutionId: string | undefined;
+
+ /**
+ * @public
+ * The Amazon Resource Name (ARN) of the image build version to send action for.
+ */
+ imageBuildVersionArn: string | undefined;
+
+ /**
+ * @public
+ * The action for the image creation process to take while a workflow
+ * WaitForAction
step waits for an asynchronous action to complete.
+ */
+ action: WorkflowStepActionType | undefined;
+
+ /**
+ * @public
+ * The reason why this action is sent.
+ */
+ reason?: string;
+
+ /**
+ * @public
+ * Unique, case-sensitive identifier you provide to ensure
+ * idempotency of the request. For more information, see Ensuring idempotency
+ * in the Amazon EC2 API Reference.
+ */
+ clientToken?: string;
+}
+
+/**
+ * @public
+ */
+export interface SendWorkflowStepActionResponse {
+ /**
+ * @public
+ * The workflow step that sent the step action.
+ */
+ stepExecutionId?: string;
+
+ /**
+ * @public
+ * The Amazon Resource Name (ARN) of the image build version that received the action
+ * request.
+ */
+ imageBuildVersionArn?: string;
+
+ /**
+ * @public
+ * The client token that uniquely identifies the request.
+ */
+ clientToken?: string;
+}
+
/**
* @public
*/
@@ -8148,6 +8967,19 @@ export interface UpdateImagePipelineRequest {
* Contains settings for vulnerability scans.
*/
imageScanningConfiguration?: ImageScanningConfiguration;
+
+ /**
+ * @public
+ * Contains the workflows to run for the pipeline.
+ */
+ workflows?: WorkflowConfiguration[];
+
+ /**
+ * @public
+ * The name or Amazon Resource Name (ARN) for the IAM role you create that grants
+ * Image Builder access to perform workflow actions.
+ */
+ executionRole?: string;
}
/**
@@ -8339,7 +9171,7 @@ export interface UpdateLifecyclePolicyRequest {
/**
* @public
- * The name of the IAM role that Image Builder should use to update the
+ *
The name or Amazon Resource Name (ARN) of the IAM role that Image Builder uses to update the
* lifecycle policy.
*/
executionRole: string | undefined;
diff --git a/clients/client-imagebuilder/src/pagination/ListWaitingWorkflowStepsPaginator.ts b/clients/client-imagebuilder/src/pagination/ListWaitingWorkflowStepsPaginator.ts
new file mode 100644
index 0000000000000..bcccbb459b875
--- /dev/null
+++ b/clients/client-imagebuilder/src/pagination/ListWaitingWorkflowStepsPaginator.ts
@@ -0,0 +1,50 @@
+// smithy-typescript generated code
+import { Paginator } from "@smithy/types";
+
+import {
+ ListWaitingWorkflowStepsCommand,
+ ListWaitingWorkflowStepsCommandInput,
+ ListWaitingWorkflowStepsCommandOutput,
+} from "../commands/ListWaitingWorkflowStepsCommand";
+import { ImagebuilderClient } from "../ImagebuilderClient";
+import { ImagebuilderPaginationConfiguration } from "./Interfaces";
+
+/**
+ * @internal
+ */
+const makePagedClientRequest = async (
+ client: ImagebuilderClient,
+ input: ListWaitingWorkflowStepsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.send(new ListWaitingWorkflowStepsCommand(input), ...args);
+};
+/**
+ * @public
+ */
+export async function* paginateListWaitingWorkflowSteps(
+ config: ImagebuilderPaginationConfiguration,
+ input: ListWaitingWorkflowStepsCommandInput,
+ ...additionalArguments: any
+): Paginator {
+ // ToDo: replace with actual type instead of typeof input.nextToken
+ let token: typeof input.nextToken | undefined = config.startingToken || undefined;
+ let hasNext = true;
+ let page: ListWaitingWorkflowStepsCommandOutput;
+ while (hasNext) {
+ input.nextToken = token;
+ input["maxResults"] = config.pageSize;
+ if (config.client instanceof ImagebuilderClient) {
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
+ } else {
+ throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient");
+ }
+ yield page;
+ const prevToken = token;
+ token = page.nextToken;
+ hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
+ }
+ // @ts-ignore
+ return undefined;
+}
diff --git a/clients/client-imagebuilder/src/pagination/ListWorkflowBuildVersionsPaginator.ts b/clients/client-imagebuilder/src/pagination/ListWorkflowBuildVersionsPaginator.ts
new file mode 100644
index 0000000000000..3d654bd9a99cb
--- /dev/null
+++ b/clients/client-imagebuilder/src/pagination/ListWorkflowBuildVersionsPaginator.ts
@@ -0,0 +1,50 @@
+// smithy-typescript generated code
+import { Paginator } from "@smithy/types";
+
+import {
+ ListWorkflowBuildVersionsCommand,
+ ListWorkflowBuildVersionsCommandInput,
+ ListWorkflowBuildVersionsCommandOutput,
+} from "../commands/ListWorkflowBuildVersionsCommand";
+import { ImagebuilderClient } from "../ImagebuilderClient";
+import { ImagebuilderPaginationConfiguration } from "./Interfaces";
+
+/**
+ * @internal
+ */
+const makePagedClientRequest = async (
+ client: ImagebuilderClient,
+ input: ListWorkflowBuildVersionsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.send(new ListWorkflowBuildVersionsCommand(input), ...args);
+};
+/**
+ * @public
+ */
+export async function* paginateListWorkflowBuildVersions(
+ config: ImagebuilderPaginationConfiguration,
+ input: ListWorkflowBuildVersionsCommandInput,
+ ...additionalArguments: any
+): Paginator {
+ // ToDo: replace with actual type instead of typeof input.nextToken
+ let token: typeof input.nextToken | undefined = config.startingToken || undefined;
+ let hasNext = true;
+ let page: ListWorkflowBuildVersionsCommandOutput;
+ while (hasNext) {
+ input.nextToken = token;
+ input["maxResults"] = config.pageSize;
+ if (config.client instanceof ImagebuilderClient) {
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
+ } else {
+ throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient");
+ }
+ yield page;
+ const prevToken = token;
+ token = page.nextToken;
+ hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
+ }
+ // @ts-ignore
+ return undefined;
+}
diff --git a/clients/client-imagebuilder/src/pagination/ListWorkflowsPaginator.ts b/clients/client-imagebuilder/src/pagination/ListWorkflowsPaginator.ts
new file mode 100644
index 0000000000000..8271375dbee23
--- /dev/null
+++ b/clients/client-imagebuilder/src/pagination/ListWorkflowsPaginator.ts
@@ -0,0 +1,50 @@
+// smithy-typescript generated code
+import { Paginator } from "@smithy/types";
+
+import {
+ ListWorkflowsCommand,
+ ListWorkflowsCommandInput,
+ ListWorkflowsCommandOutput,
+} from "../commands/ListWorkflowsCommand";
+import { ImagebuilderClient } from "../ImagebuilderClient";
+import { ImagebuilderPaginationConfiguration } from "./Interfaces";
+
+/**
+ * @internal
+ */
+const makePagedClientRequest = async (
+ client: ImagebuilderClient,
+ input: ListWorkflowsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.send(new ListWorkflowsCommand(input), ...args);
+};
+/**
+ * @public
+ */
+export async function* paginateListWorkflows(
+ config: ImagebuilderPaginationConfiguration,
+ input: ListWorkflowsCommandInput,
+ ...additionalArguments: any
+): Paginator {
+ // ToDo: replace with actual type instead of typeof input.nextToken
+ let token: typeof input.nextToken | undefined = config.startingToken || undefined;
+ let hasNext = true;
+ let page: ListWorkflowsCommandOutput;
+ while (hasNext) {
+ input.nextToken = token;
+ input["maxResults"] = config.pageSize;
+ if (config.client instanceof ImagebuilderClient) {
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
+ } else {
+ throw new Error("Invalid client, expected Imagebuilder | ImagebuilderClient");
+ }
+ yield page;
+ const prevToken = token;
+ token = page.nextToken;
+ hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
+ }
+ // @ts-ignore
+ return undefined;
+}
diff --git a/clients/client-imagebuilder/src/pagination/index.ts b/clients/client-imagebuilder/src/pagination/index.ts
index f8d7f1258d93a..7cbd1d0068500 100644
--- a/clients/client-imagebuilder/src/pagination/index.ts
+++ b/clients/client-imagebuilder/src/pagination/index.ts
@@ -16,5 +16,8 @@ export * from "./ListInfrastructureConfigurationsPaginator";
export * from "./ListLifecycleExecutionResourcesPaginator";
export * from "./ListLifecycleExecutionsPaginator";
export * from "./ListLifecyclePoliciesPaginator";
+export * from "./ListWaitingWorkflowStepsPaginator";
+export * from "./ListWorkflowBuildVersionsPaginator";
export * from "./ListWorkflowExecutionsPaginator";
export * from "./ListWorkflowStepExecutionsPaginator";
+export * from "./ListWorkflowsPaginator";
diff --git a/clients/client-imagebuilder/src/protocols/Aws_restJson1.ts b/clients/client-imagebuilder/src/protocols/Aws_restJson1.ts
index 2f6688fe696c2..a3d279ff36666 100644
--- a/clients/client-imagebuilder/src/protocols/Aws_restJson1.ts
+++ b/clients/client-imagebuilder/src/protocols/Aws_restJson1.ts
@@ -56,6 +56,7 @@ import {
CreateLifecyclePolicyCommandInput,
CreateLifecyclePolicyCommandOutput,
} from "../commands/CreateLifecyclePolicyCommand";
+import { CreateWorkflowCommandInput, CreateWorkflowCommandOutput } from "../commands/CreateWorkflowCommand";
import { DeleteComponentCommandInput, DeleteComponentCommandOutput } from "../commands/DeleteComponentCommand";
import {
DeleteContainerRecipeCommandInput,
@@ -79,6 +80,7 @@ import {
DeleteLifecyclePolicyCommandInput,
DeleteLifecyclePolicyCommandOutput,
} from "../commands/DeleteLifecyclePolicyCommand";
+import { DeleteWorkflowCommandInput, DeleteWorkflowCommandOutput } from "../commands/DeleteWorkflowCommand";
import { GetComponentCommandInput, GetComponentCommandOutput } from "../commands/GetComponentCommand";
import { GetComponentPolicyCommandInput, GetComponentPolicyCommandOutput } from "../commands/GetComponentPolicyCommand";
import { GetContainerRecipeCommandInput, GetContainerRecipeCommandOutput } from "../commands/GetContainerRecipeCommand";
@@ -107,6 +109,7 @@ import {
GetLifecycleExecutionCommandOutput,
} from "../commands/GetLifecycleExecutionCommand";
import { GetLifecyclePolicyCommandInput, GetLifecyclePolicyCommandOutput } from "../commands/GetLifecyclePolicyCommand";
+import { GetWorkflowCommandInput, GetWorkflowCommandOutput } from "../commands/GetWorkflowCommand";
import {
GetWorkflowExecutionCommandInput,
GetWorkflowExecutionCommandOutput,
@@ -170,10 +173,19 @@ import {
ListTagsForResourceCommandInput,
ListTagsForResourceCommandOutput,
} from "../commands/ListTagsForResourceCommand";
+import {
+ ListWaitingWorkflowStepsCommandInput,
+ ListWaitingWorkflowStepsCommandOutput,
+} from "../commands/ListWaitingWorkflowStepsCommand";
+import {
+ ListWorkflowBuildVersionsCommandInput,
+ ListWorkflowBuildVersionsCommandOutput,
+} from "../commands/ListWorkflowBuildVersionsCommand";
import {
ListWorkflowExecutionsCommandInput,
ListWorkflowExecutionsCommandOutput,
} from "../commands/ListWorkflowExecutionsCommand";
+import { ListWorkflowsCommandInput, ListWorkflowsCommandOutput } from "../commands/ListWorkflowsCommand";
import {
ListWorkflowStepExecutionsCommandInput,
ListWorkflowStepExecutionsCommandOutput,
@@ -188,6 +200,10 @@ import {
PutImageRecipePolicyCommandInput,
PutImageRecipePolicyCommandOutput,
} from "../commands/PutImageRecipePolicyCommand";
+import {
+ SendWorkflowStepActionCommandInput,
+ SendWorkflowStepActionCommandOutput,
+} from "../commands/SendWorkflowStepActionCommand";
import {
StartImagePipelineExecutionCommandInput,
StartImagePipelineExecutionCommandOutput,
@@ -281,6 +297,8 @@ import {
ServiceUnavailableException,
SystemsManagerAgent,
TargetContainerRepository,
+ WorkflowConfiguration,
+ WorkflowParameter,
} from "../models/models_0";
/**
@@ -480,11 +498,13 @@ export const se_CreateImageCommand = async (
containerRecipeArn: [],
distributionConfigurationArn: [],
enhancedImageMetadataEnabled: [],
+ executionRole: [],
imageRecipeArn: [],
imageScanningConfiguration: (_) => _json(_),
imageTestsConfiguration: (_) => _json(_),
infrastructureConfigurationArn: [],
tags: (_) => _json(_),
+ workflows: (_) => _json(_),
})
);
return new __HttpRequest({
@@ -518,6 +538,7 @@ export const se_CreateImagePipelineCommand = async (
description: [],
distributionConfigurationArn: [],
enhancedImageMetadataEnabled: [],
+ executionRole: [],
imageRecipeArn: [],
imageScanningConfiguration: (_) => _json(_),
imageTestsConfiguration: (_) => _json(_),
@@ -526,6 +547,7 @@ export const se_CreateImagePipelineCommand = async (
schedule: (_) => _json(_),
status: [],
tags: (_) => _json(_),
+ workflows: (_) => _json(_),
})
);
return new __HttpRequest({
@@ -657,6 +679,44 @@ export const se_CreateLifecyclePolicyCommand = async (
});
};
+/**
+ * serializeAws_restJson1CreateWorkflowCommand
+ */
+export const se_CreateWorkflowCommand = async (
+ input: CreateWorkflowCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+ const headers: any = {
+ "content-type": "application/json",
+ };
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/CreateWorkflow";
+ let body: any;
+ body = JSON.stringify(
+ take(input, {
+ changeDescription: [],
+ clientToken: [true, (_) => _ ?? generateIdempotencyToken()],
+ data: [],
+ description: [],
+ kmsKeyId: [],
+ name: [],
+ semanticVersion: [],
+ tags: (_) => _json(_),
+ type: [],
+ uri: [],
+ })
+ );
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "PUT",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
/**
* serializeAws_restJson1DeleteComponentCommand
*/
@@ -873,6 +933,32 @@ export const se_DeleteLifecyclePolicyCommand = async (
});
};
+/**
+ * serializeAws_restJson1DeleteWorkflowCommand
+ */
+export const se_DeleteWorkflowCommand = async (
+ input: DeleteWorkflowCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+ const headers: any = {};
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/DeleteWorkflow";
+ const query: any = map({
+ workflowBuildVersionArn: [, __expectNonNull(input.workflowBuildVersionArn!, `workflowBuildVersionArn`)],
+ });
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "DELETE",
+ headers,
+ path: resolvedPath,
+ query,
+ body,
+ });
+};
+
/**
* serializeAws_restJson1GetComponentCommand
*/
@@ -1220,6 +1306,32 @@ export const se_GetLifecyclePolicyCommand = async (
});
};
+/**
+ * serializeAws_restJson1GetWorkflowCommand
+ */
+export const se_GetWorkflowCommand = async (
+ input: GetWorkflowCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+ const headers: any = {};
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/GetWorkflow";
+ const query: any = map({
+ workflowBuildVersionArn: [, __expectNonNull(input.workflowBuildVersionArn!, `workflowBuildVersionArn`)],
+ });
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ query,
+ body,
+ });
+};
+
/**
* serializeAws_restJson1GetWorkflowExecutionCommand
*/
@@ -1885,6 +1997,69 @@ export const se_ListTagsForResourceCommand = async (
});
};
+/**
+ * serializeAws_restJson1ListWaitingWorkflowStepsCommand
+ */
+export const se_ListWaitingWorkflowStepsCommand = async (
+ input: ListWaitingWorkflowStepsCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+ const headers: any = {
+ "content-type": "application/json",
+ };
+ const resolvedPath =
+ `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/ListWaitingWorkflowSteps";
+ let body: any;
+ body = JSON.stringify(
+ take(input, {
+ maxResults: [],
+ nextToken: [],
+ })
+ );
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
+/**
+ * serializeAws_restJson1ListWorkflowBuildVersionsCommand
+ */
+export const se_ListWorkflowBuildVersionsCommand = async (
+ input: ListWorkflowBuildVersionsCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+ const headers: any = {
+ "content-type": "application/json",
+ };
+ const resolvedPath =
+ `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/ListWorkflowBuildVersions";
+ let body: any;
+ body = JSON.stringify(
+ take(input, {
+ maxResults: [],
+ nextToken: [],
+ workflowVersionArn: [],
+ })
+ );
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
/**
* serializeAws_restJson1ListWorkflowExecutionsCommand
*/
@@ -1917,6 +2092,39 @@ export const se_ListWorkflowExecutionsCommand = async (
});
};
+/**
+ * serializeAws_restJson1ListWorkflowsCommand
+ */
+export const se_ListWorkflowsCommand = async (
+ input: ListWorkflowsCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+ const headers: any = {
+ "content-type": "application/json",
+ };
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/ListWorkflows";
+ let body: any;
+ body = JSON.stringify(
+ take(input, {
+ byName: [],
+ filters: (_) => _json(_),
+ maxResults: [],
+ nextToken: [],
+ owner: [],
+ })
+ );
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
/**
* serializeAws_restJson1ListWorkflowStepExecutionsCommand
*/
@@ -2070,6 +2278,40 @@ export const se_PutImageRecipePolicyCommand = async (
});
};
+/**
+ * serializeAws_restJson1SendWorkflowStepActionCommand
+ */
+export const se_SendWorkflowStepActionCommand = async (
+ input: SendWorkflowStepActionCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+ const headers: any = {
+ "content-type": "application/json",
+ };
+ const resolvedPath =
+ `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/SendWorkflowStepAction";
+ let body: any;
+ body = JSON.stringify(
+ take(input, {
+ action: [],
+ clientToken: [true, (_) => _ ?? generateIdempotencyToken()],
+ imageBuildVersionArn: [],
+ reason: [],
+ stepExecutionId: [],
+ })
+ );
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "PUT",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
/**
* serializeAws_restJson1StartImagePipelineExecutionCommand
*/
@@ -2250,6 +2492,7 @@ export const se_UpdateImagePipelineCommand = async (
description: [],
distributionConfigurationArn: [],
enhancedImageMetadataEnabled: [],
+ executionRole: [],
imagePipelineArn: [],
imageRecipeArn: [],
imageScanningConfiguration: (_) => _json(_),
@@ -2257,6 +2500,7 @@ export const se_UpdateImagePipelineCommand = async (
infrastructureConfigurationArn: [],
schedule: (_) => _json(_),
status: [],
+ workflows: (_) => _json(_),
})
);
return new __HttpRequest({
@@ -3103,34 +3347,34 @@ const de_CreateLifecyclePolicyCommandError = async (
};
/**
- * deserializeAws_restJson1DeleteComponentCommand
+ * deserializeAws_restJson1CreateWorkflowCommand
*/
-export const de_DeleteComponentCommand = async (
+export const de_CreateWorkflowCommand = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
- return de_DeleteComponentCommandError(output, context);
+ return de_CreateWorkflowCommandError(output, context);
}
const contents: any = map({
$metadata: deserializeMetadata(output),
});
const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
const doc = take(data, {
- componentBuildVersionArn: __expectString,
- requestId: __expectString,
+ clientToken: __expectString,
+ workflowBuildVersionArn: __expectString,
});
Object.assign(contents, doc);
return contents;
};
/**
- * deserializeAws_restJson1DeleteComponentCommandError
+ * deserializeAws_restJson1CreateWorkflowCommandError
*/
-const de_DeleteComponentCommandError = async (
+const de_CreateWorkflowCommandError = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseErrorBody(output.body, context),
@@ -3146,15 +3390,27 @@ const de_DeleteComponentCommandError = async (
case "ForbiddenException":
case "com.amazonaws.imagebuilder#ForbiddenException":
throw await de_ForbiddenExceptionRes(parsedOutput, context);
+ case "IdempotentParameterMismatchException":
+ case "com.amazonaws.imagebuilder#IdempotentParameterMismatchException":
+ throw await de_IdempotentParameterMismatchExceptionRes(parsedOutput, context);
+ case "InvalidParameterCombinationException":
+ case "com.amazonaws.imagebuilder#InvalidParameterCombinationException":
+ throw await de_InvalidParameterCombinationExceptionRes(parsedOutput, context);
case "InvalidRequestException":
case "com.amazonaws.imagebuilder#InvalidRequestException":
throw await de_InvalidRequestExceptionRes(parsedOutput, context);
- case "ResourceDependencyException":
- case "com.amazonaws.imagebuilder#ResourceDependencyException":
- throw await de_ResourceDependencyExceptionRes(parsedOutput, context);
+ case "InvalidVersionNumberException":
+ case "com.amazonaws.imagebuilder#InvalidVersionNumberException":
+ throw await de_InvalidVersionNumberExceptionRes(parsedOutput, context);
+ case "ResourceInUseException":
+ case "com.amazonaws.imagebuilder#ResourceInUseException":
+ throw await de_ResourceInUseExceptionRes(parsedOutput, context);
case "ServiceException":
case "com.amazonaws.imagebuilder#ServiceException":
throw await de_ServiceExceptionRes(parsedOutput, context);
+ case "ServiceQuotaExceededException":
+ case "com.amazonaws.imagebuilder#ServiceQuotaExceededException":
+ throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context);
case "ServiceUnavailableException":
case "com.amazonaws.imagebuilder#ServiceUnavailableException":
throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);
@@ -3169,21 +3425,21 @@ const de_DeleteComponentCommandError = async (
};
/**
- * deserializeAws_restJson1DeleteContainerRecipeCommand
+ * deserializeAws_restJson1DeleteComponentCommand
*/
-export const de_DeleteContainerRecipeCommand = async (
+export const de_DeleteComponentCommand = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
- return de_DeleteContainerRecipeCommandError(output, context);
+ return de_DeleteComponentCommandError(output, context);
}
const contents: any = map({
$metadata: deserializeMetadata(output),
});
const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
const doc = take(data, {
- containerRecipeArn: __expectString,
+ componentBuildVersionArn: __expectString,
requestId: __expectString,
});
Object.assign(contents, doc);
@@ -3191,12 +3447,12 @@ export const de_DeleteContainerRecipeCommand = async (
};
/**
- * deserializeAws_restJson1DeleteContainerRecipeCommandError
+ * deserializeAws_restJson1DeleteComponentCommandError
*/
-const de_DeleteContainerRecipeCommandError = async (
+const de_DeleteComponentCommandError = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseErrorBody(output.body, context),
@@ -3235,21 +3491,21 @@ const de_DeleteContainerRecipeCommandError = async (
};
/**
- * deserializeAws_restJson1DeleteDistributionConfigurationCommand
+ * deserializeAws_restJson1DeleteContainerRecipeCommand
*/
-export const de_DeleteDistributionConfigurationCommand = async (
+export const de_DeleteContainerRecipeCommand = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
- return de_DeleteDistributionConfigurationCommandError(output, context);
+ return de_DeleteContainerRecipeCommandError(output, context);
}
const contents: any = map({
$metadata: deserializeMetadata(output),
});
const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
const doc = take(data, {
- distributionConfigurationArn: __expectString,
+ containerRecipeArn: __expectString,
requestId: __expectString,
});
Object.assign(contents, doc);
@@ -3257,12 +3513,12 @@ export const de_DeleteDistributionConfigurationCommand = async (
};
/**
- * deserializeAws_restJson1DeleteDistributionConfigurationCommandError
+ * deserializeAws_restJson1DeleteContainerRecipeCommandError
*/
-const de_DeleteDistributionConfigurationCommandError = async (
+const de_DeleteContainerRecipeCommandError = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseErrorBody(output.body, context),
@@ -3301,9 +3557,75 @@ const de_DeleteDistributionConfigurationCommandError = async (
};
/**
- * deserializeAws_restJson1DeleteImageCommand
+ * deserializeAws_restJson1DeleteDistributionConfigurationCommand
*/
-export const de_DeleteImageCommand = async (
+export const de_DeleteDistributionConfigurationCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_DeleteDistributionConfigurationCommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ const doc = take(data, {
+ distributionConfigurationArn: __expectString,
+ requestId: __expectString,
+ });
+ Object.assign(contents, doc);
+ return contents;
+};
+
+/**
+ * deserializeAws_restJson1DeleteDistributionConfigurationCommandError
+ */
+const de_DeleteDistributionConfigurationCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "CallRateLimitExceededException":
+ case "com.amazonaws.imagebuilder#CallRateLimitExceededException":
+ throw await de_CallRateLimitExceededExceptionRes(parsedOutput, context);
+ case "ClientException":
+ case "com.amazonaws.imagebuilder#ClientException":
+ throw await de_ClientExceptionRes(parsedOutput, context);
+ case "ForbiddenException":
+ case "com.amazonaws.imagebuilder#ForbiddenException":
+ throw await de_ForbiddenExceptionRes(parsedOutput, context);
+ case "InvalidRequestException":
+ case "com.amazonaws.imagebuilder#InvalidRequestException":
+ throw await de_InvalidRequestExceptionRes(parsedOutput, context);
+ case "ResourceDependencyException":
+ case "com.amazonaws.imagebuilder#ResourceDependencyException":
+ throw await de_ResourceDependencyExceptionRes(parsedOutput, context);
+ case "ServiceException":
+ case "com.amazonaws.imagebuilder#ServiceException":
+ throw await de_ServiceExceptionRes(parsedOutput, context);
+ case "ServiceUnavailableException":
+ case "com.amazonaws.imagebuilder#ServiceUnavailableException":
+ throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
+/**
+ * deserializeAws_restJson1DeleteImageCommand
+ */
+export const de_DeleteImageCommand = async (
output: __HttpResponse,
context: __SerdeContext
): Promise => {
@@ -3629,6 +3951,71 @@ const de_DeleteLifecyclePolicyCommandError = async (
}
};
+/**
+ * deserializeAws_restJson1DeleteWorkflowCommand
+ */
+export const de_DeleteWorkflowCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_DeleteWorkflowCommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ const doc = take(data, {
+ workflowBuildVersionArn: __expectString,
+ });
+ Object.assign(contents, doc);
+ return contents;
+};
+
+/**
+ * deserializeAws_restJson1DeleteWorkflowCommandError
+ */
+const de_DeleteWorkflowCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "CallRateLimitExceededException":
+ case "com.amazonaws.imagebuilder#CallRateLimitExceededException":
+ throw await de_CallRateLimitExceededExceptionRes(parsedOutput, context);
+ case "ClientException":
+ case "com.amazonaws.imagebuilder#ClientException":
+ throw await de_ClientExceptionRes(parsedOutput, context);
+ case "ForbiddenException":
+ case "com.amazonaws.imagebuilder#ForbiddenException":
+ throw await de_ForbiddenExceptionRes(parsedOutput, context);
+ case "InvalidRequestException":
+ case "com.amazonaws.imagebuilder#InvalidRequestException":
+ throw await de_InvalidRequestExceptionRes(parsedOutput, context);
+ case "ResourceDependencyException":
+ case "com.amazonaws.imagebuilder#ResourceDependencyException":
+ throw await de_ResourceDependencyExceptionRes(parsedOutput, context);
+ case "ServiceException":
+ case "com.amazonaws.imagebuilder#ServiceException":
+ throw await de_ServiceExceptionRes(parsedOutput, context);
+ case "ServiceUnavailableException":
+ case "com.amazonaws.imagebuilder#ServiceUnavailableException":
+ throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_restJson1GetComponentCommand
*/
@@ -4446,6 +4833,68 @@ const de_GetLifecyclePolicyCommandError = async (
}
};
+/**
+ * deserializeAws_restJson1GetWorkflowCommand
+ */
+export const de_GetWorkflowCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_GetWorkflowCommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ const doc = take(data, {
+ workflow: _json,
+ });
+ Object.assign(contents, doc);
+ return contents;
+};
+
+/**
+ * deserializeAws_restJson1GetWorkflowCommandError
+ */
+const de_GetWorkflowCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "CallRateLimitExceededException":
+ case "com.amazonaws.imagebuilder#CallRateLimitExceededException":
+ throw await de_CallRateLimitExceededExceptionRes(parsedOutput, context);
+ case "ClientException":
+ case "com.amazonaws.imagebuilder#ClientException":
+ throw await de_ClientExceptionRes(parsedOutput, context);
+ case "ForbiddenException":
+ case "com.amazonaws.imagebuilder#ForbiddenException":
+ throw await de_ForbiddenExceptionRes(parsedOutput, context);
+ case "InvalidRequestException":
+ case "com.amazonaws.imagebuilder#InvalidRequestException":
+ throw await de_InvalidRequestExceptionRes(parsedOutput, context);
+ case "ServiceException":
+ case "com.amazonaws.imagebuilder#ServiceException":
+ throw await de_ServiceExceptionRes(parsedOutput, context);
+ case "ServiceUnavailableException":
+ case "com.amazonaws.imagebuilder#ServiceUnavailableException":
+ throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_restJson1GetWorkflowExecutionCommand
*/
@@ -4464,6 +4913,7 @@ export const de_GetWorkflowExecutionCommand = async (
endTime: __expectString,
imageBuildVersionArn: __expectString,
message: __expectString,
+ parallelGroup: __expectString,
requestId: __expectString,
startTime: __expectString,
status: __expectString,
@@ -5860,6 +6310,138 @@ const de_ListTagsForResourceCommandError = async (
}
};
+/**
+ * deserializeAws_restJson1ListWaitingWorkflowStepsCommand
+ */
+export const de_ListWaitingWorkflowStepsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_ListWaitingWorkflowStepsCommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ const doc = take(data, {
+ nextToken: __expectString,
+ steps: _json,
+ });
+ Object.assign(contents, doc);
+ return contents;
+};
+
+/**
+ * deserializeAws_restJson1ListWaitingWorkflowStepsCommandError
+ */
+const de_ListWaitingWorkflowStepsCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "CallRateLimitExceededException":
+ case "com.amazonaws.imagebuilder#CallRateLimitExceededException":
+ throw await de_CallRateLimitExceededExceptionRes(parsedOutput, context);
+ case "ClientException":
+ case "com.amazonaws.imagebuilder#ClientException":
+ throw await de_ClientExceptionRes(parsedOutput, context);
+ case "ForbiddenException":
+ case "com.amazonaws.imagebuilder#ForbiddenException":
+ throw await de_ForbiddenExceptionRes(parsedOutput, context);
+ case "InvalidPaginationTokenException":
+ case "com.amazonaws.imagebuilder#InvalidPaginationTokenException":
+ throw await de_InvalidPaginationTokenExceptionRes(parsedOutput, context);
+ case "InvalidRequestException":
+ case "com.amazonaws.imagebuilder#InvalidRequestException":
+ throw await de_InvalidRequestExceptionRes(parsedOutput, context);
+ case "ServiceException":
+ case "com.amazonaws.imagebuilder#ServiceException":
+ throw await de_ServiceExceptionRes(parsedOutput, context);
+ case "ServiceUnavailableException":
+ case "com.amazonaws.imagebuilder#ServiceUnavailableException":
+ throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
+/**
+ * deserializeAws_restJson1ListWorkflowBuildVersionsCommand
+ */
+export const de_ListWorkflowBuildVersionsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_ListWorkflowBuildVersionsCommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ const doc = take(data, {
+ nextToken: __expectString,
+ workflowSummaryList: _json,
+ });
+ Object.assign(contents, doc);
+ return contents;
+};
+
+/**
+ * deserializeAws_restJson1ListWorkflowBuildVersionsCommandError
+ */
+const de_ListWorkflowBuildVersionsCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "CallRateLimitExceededException":
+ case "com.amazonaws.imagebuilder#CallRateLimitExceededException":
+ throw await de_CallRateLimitExceededExceptionRes(parsedOutput, context);
+ case "ClientException":
+ case "com.amazonaws.imagebuilder#ClientException":
+ throw await de_ClientExceptionRes(parsedOutput, context);
+ case "ForbiddenException":
+ case "com.amazonaws.imagebuilder#ForbiddenException":
+ throw await de_ForbiddenExceptionRes(parsedOutput, context);
+ case "InvalidPaginationTokenException":
+ case "com.amazonaws.imagebuilder#InvalidPaginationTokenException":
+ throw await de_InvalidPaginationTokenExceptionRes(parsedOutput, context);
+ case "InvalidRequestException":
+ case "com.amazonaws.imagebuilder#InvalidRequestException":
+ throw await de_InvalidRequestExceptionRes(parsedOutput, context);
+ case "ServiceException":
+ case "com.amazonaws.imagebuilder#ServiceException":
+ throw await de_ServiceExceptionRes(parsedOutput, context);
+ case "ServiceUnavailableException":
+ case "com.amazonaws.imagebuilder#ServiceUnavailableException":
+ throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_restJson1ListWorkflowExecutionsCommand
*/
@@ -5929,6 +6511,72 @@ const de_ListWorkflowExecutionsCommandError = async (
}
};
+/**
+ * deserializeAws_restJson1ListWorkflowsCommand
+ */
+export const de_ListWorkflowsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_ListWorkflowsCommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ const doc = take(data, {
+ nextToken: __expectString,
+ workflowVersionList: _json,
+ });
+ Object.assign(contents, doc);
+ return contents;
+};
+
+/**
+ * deserializeAws_restJson1ListWorkflowsCommandError
+ */
+const de_ListWorkflowsCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "CallRateLimitExceededException":
+ case "com.amazonaws.imagebuilder#CallRateLimitExceededException":
+ throw await de_CallRateLimitExceededExceptionRes(parsedOutput, context);
+ case "ClientException":
+ case "com.amazonaws.imagebuilder#ClientException":
+ throw await de_ClientExceptionRes(parsedOutput, context);
+ case "ForbiddenException":
+ case "com.amazonaws.imagebuilder#ForbiddenException":
+ throw await de_ForbiddenExceptionRes(parsedOutput, context);
+ case "InvalidPaginationTokenException":
+ case "com.amazonaws.imagebuilder#InvalidPaginationTokenException":
+ throw await de_InvalidPaginationTokenExceptionRes(parsedOutput, context);
+ case "InvalidRequestException":
+ case "com.amazonaws.imagebuilder#InvalidRequestException":
+ throw await de_InvalidRequestExceptionRes(parsedOutput, context);
+ case "ServiceException":
+ case "com.amazonaws.imagebuilder#ServiceException":
+ throw await de_ServiceExceptionRes(parsedOutput, context);
+ case "ServiceUnavailableException":
+ case "com.amazonaws.imagebuilder#ServiceUnavailableException":
+ throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_restJson1ListWorkflowStepExecutionsCommand
*/
@@ -6276,6 +6924,82 @@ const de_PutImageRecipePolicyCommandError = async (
}
};
+/**
+ * deserializeAws_restJson1SendWorkflowStepActionCommand
+ */
+export const de_SendWorkflowStepActionCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return de_SendWorkflowStepActionCommandError(output, context);
+ }
+ const contents: any = map({
+ $metadata: deserializeMetadata(output),
+ });
+ const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ const doc = take(data, {
+ clientToken: __expectString,
+ imageBuildVersionArn: __expectString,
+ stepExecutionId: __expectString,
+ });
+ Object.assign(contents, doc);
+ return contents;
+};
+
+/**
+ * deserializeAws_restJson1SendWorkflowStepActionCommandError
+ */
+const de_SendWorkflowStepActionCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ const parsedOutput: any = {
+ ...output,
+ body: await parseErrorBody(output.body, context),
+ };
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
+ switch (errorCode) {
+ case "CallRateLimitExceededException":
+ case "com.amazonaws.imagebuilder#CallRateLimitExceededException":
+ throw await de_CallRateLimitExceededExceptionRes(parsedOutput, context);
+ case "ClientException":
+ case "com.amazonaws.imagebuilder#ClientException":
+ throw await de_ClientExceptionRes(parsedOutput, context);
+ case "ForbiddenException":
+ case "com.amazonaws.imagebuilder#ForbiddenException":
+ throw await de_ForbiddenExceptionRes(parsedOutput, context);
+ case "IdempotentParameterMismatchException":
+ case "com.amazonaws.imagebuilder#IdempotentParameterMismatchException":
+ throw await de_IdempotentParameterMismatchExceptionRes(parsedOutput, context);
+ case "InvalidParameterValueException":
+ case "com.amazonaws.imagebuilder#InvalidParameterValueException":
+ throw await de_InvalidParameterValueExceptionRes(parsedOutput, context);
+ case "InvalidRequestException":
+ case "com.amazonaws.imagebuilder#InvalidRequestException":
+ throw await de_InvalidRequestExceptionRes(parsedOutput, context);
+ case "ResourceInUseException":
+ case "com.amazonaws.imagebuilder#ResourceInUseException":
+ throw await de_ResourceInUseExceptionRes(parsedOutput, context);
+ case "ResourceNotFoundException":
+ case "com.amazonaws.imagebuilder#ResourceNotFoundException":
+ throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
+ case "ServiceException":
+ case "com.amazonaws.imagebuilder#ServiceException":
+ throw await de_ServiceExceptionRes(parsedOutput, context);
+ case "ServiceUnavailableException":
+ case "com.amazonaws.imagebuilder#ServiceUnavailableException":
+ throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);
+ default:
+ const parsedBody = parsedOutput.body;
+ return throwDefaultError({
+ output,
+ parsedBody,
+ errorCode,
+ });
+ }
+};
+
/**
* deserializeAws_restJson1StartImagePipelineExecutionCommand
*/
@@ -7257,6 +7981,16 @@ const de_ServiceUnavailableExceptionRes = async (
// se_TargetContainerRepository omitted.
+// se_WorkflowConfiguration omitted.
+
+// se_WorkflowConfigurationList omitted.
+
+// se_WorkflowParameter omitted.
+
+// se_WorkflowParameterList omitted.
+
+// se_WorkflowParameterValueList omitted.
+
// de_AccountAggregation omitted.
// de_AccountList omitted.
@@ -7383,6 +8117,7 @@ const de_Image = (output: any, context: __SerdeContext): Image => {
deprecationTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
distributionConfiguration: _json,
enhancedImageMetadataEnabled: __expectBoolean,
+ executionRole: __expectString,
imageRecipe: _json,
imageScanningConfiguration: _json,
imageSource: __expectString,
@@ -7400,6 +8135,7 @@ const de_Image = (output: any, context: __SerdeContext): Image => {
tags: _json,
type: __expectString,
version: __expectString,
+ workflows: _json,
}) as any;
};
@@ -7717,14 +8453,44 @@ const de_PackageVulnerabilityDetails = (output: any, context: __SerdeContext): P
// de_VulnerablePackageList omitted.
+// de_Workflow omitted.
+
+// de_WorkflowConfiguration omitted.
+
+// de_WorkflowConfigurationList omitted.
+
// de_WorkflowExecutionMetadata omitted.
// de_WorkflowExecutionsList omitted.
+// de_WorkflowParameter omitted.
+
+// de_WorkflowParameterDetail omitted.
+
+// de_WorkflowParameterDetailList omitted.
+
+// de_WorkflowParameterList omitted.
+
+// de_WorkflowParameterValueList omitted.
+
+// de_WorkflowState omitted.
+
+// de_WorkflowStepExecution omitted.
+
+// de_WorkflowStepExecutionList omitted.
+
// de_WorkflowStepExecutionsList omitted.
// de_WorkflowStepMetadata omitted.
+// de_WorkflowSummary omitted.
+
+// de_WorkflowSummaryList omitted.
+
+// de_WorkflowVersion omitted.
+
+// de_WorkflowVersionList omitted.
+
const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({
httpStatusCode: output.statusCode,
requestId:
diff --git a/codegen/sdk-codegen/aws-models/imagebuilder.json b/codegen/sdk-codegen/aws-models/imagebuilder.json
index 79d0063d884d0..e8f5c7f3b3287 100644
--- a/codegen/sdk-codegen/aws-models/imagebuilder.json
+++ b/codegen/sdk-codegen/aws-models/imagebuilder.json
@@ -457,7 +457,7 @@
"changeDescription": {
"target": "com.amazonaws.imagebuilder#NonEmptyString",
"traits": {
- "smithy.api#documentation": "The change description of the component.
"
+ "smithy.api#documentation": "Describes what change has been made in this version of the component, \n\t\t\tor what makes this version different from other versions of the component.
"
}
},
"type": {
@@ -731,7 +731,7 @@
}
},
"traits": {
- "smithy.api#documentation": "A group of fields that describe the current status of components that are no longer\n\t\t\tactive.
"
+ "smithy.api#documentation": "A group of fields that describe the current status of components.
"
}
},
"com.amazonaws.imagebuilder#ComponentStatus": {
@@ -1272,7 +1272,7 @@
"changeDescription": {
"target": "com.amazonaws.imagebuilder#NonEmptyString",
"traits": {
- "smithy.api#documentation": "The change description of the component. Describes what change has been made in this\n\t\t\tversion, or what makes this version different from other versions of this\n\t\t\tcomponent.
"
+ "smithy.api#documentation": "The change description of the component. Describes what change has been made in this\n\t\t\tversion, or what makes this version different from other versions of the\n\t\t\tcomponent.
"
}
},
"platform": {
@@ -1840,6 +1840,18 @@
"traits": {
"smithy.api#documentation": "Contains settings for vulnerability scans.
"
}
+ },
+ "workflows": {
+ "target": "com.amazonaws.imagebuilder#WorkflowConfigurationList",
+ "traits": {
+ "smithy.api#documentation": "Contains an array of workflow configuration objects.
"
+ }
+ },
+ "executionRole": {
+ "target": "com.amazonaws.imagebuilder#RoleNameOrArn",
+ "traits": {
+ "smithy.api#documentation": "The name or Amazon Resource Name (ARN) for the IAM role you create that grants \n\t\t\tImage Builder access to perform workflow actions.
"
+ }
}
},
"traits": {
@@ -2083,6 +2095,18 @@
"traits": {
"smithy.api#documentation": "Contains settings for vulnerability scans.
"
}
+ },
+ "workflows": {
+ "target": "com.amazonaws.imagebuilder#WorkflowConfigurationList",
+ "traits": {
+ "smithy.api#documentation": "Contains an array of workflow configuration objects.
"
+ }
+ },
+ "executionRole": {
+ "target": "com.amazonaws.imagebuilder#RoleNameOrArn",
+ "traits": {
+ "smithy.api#documentation": "The name or Amazon Resource Name (ARN) for the IAM role you create that grants \n\t\t\tImage Builder access to perform workflow actions.
"
+ }
}
},
"traits": {
@@ -2360,7 +2384,7 @@
"executionRole": {
"target": "com.amazonaws.imagebuilder#RoleNameOrArn",
"traits": {
- "smithy.api#documentation": "The role name or Amazon Resource Name (ARN) for the IAM role that grants \n\t\t\tImage Builder access to run lifecycle actions.
",
+ "smithy.api#documentation": "The name or Amazon Resource Name (ARN) for the IAM role you create that grants \n\t\t\tImage Builder access to run lifecycle actions.
",
"smithy.api#required": {}
}
},
@@ -2424,6 +2448,151 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.imagebuilder#CreateWorkflow": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.imagebuilder#CreateWorkflowRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.imagebuilder#CreateWorkflowResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.imagebuilder#CallRateLimitExceededException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ClientException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ForbiddenException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#IdempotentParameterMismatchException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidParameterCombinationException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidRequestException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidVersionNumberException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ResourceInUseException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceQuotaExceededException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceUnavailableException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Create a new workflow or a new version of an existing workflow.
",
+ "smithy.api#http": {
+ "method": "PUT",
+ "uri": "/CreateWorkflow",
+ "code": 200
+ }
+ }
+ },
+ "com.amazonaws.imagebuilder#CreateWorkflowRequest": {
+ "type": "structure",
+ "members": {
+ "name": {
+ "target": "com.amazonaws.imagebuilder#ResourceName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workflow to create.
",
+ "smithy.api#required": {}
+ }
+ },
+ "semanticVersion": {
+ "target": "com.amazonaws.imagebuilder#VersionNumber",
+ "traits": {
+ "smithy.api#documentation": "The semantic version of this workflow resource. The semantic version syntax \n\t\t\tadheres to the following rules.
\n \n The semantic version has four nodes: ../. \n\tYou can assign values for the first three, and can filter on all of them.
\n \n Assignment: For the first three nodes you can assign any positive integer value, including \n\tzero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the \n\tbuild number to the fourth node.
\n \n Patterns: You can use any numeric pattern that adheres to the assignment requirements for \n\tthe nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or \n\ta date, such as 2021.01.01.
\n ",
+ "smithy.api#required": {}
+ }
+ },
+ "description": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "Describes the workflow.
"
+ }
+ },
+ "changeDescription": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "Describes what change has been made in this version of the workflow, or \n\t\t\twhat makes this version different from other versions of the workflow.
"
+ }
+ },
+ "data": {
+ "target": "com.amazonaws.imagebuilder#InlineWorkflowData",
+ "traits": {
+ "smithy.api#documentation": "Contains the UTF-8 encoded YAML document content for the workflow. \n\t\t\tAlternatively, you can specify the uri
of a YAML document file stored in\n\t\t\tAmazon S3. However, you cannot specify both properties.
"
+ }
+ },
+ "uri": {
+ "target": "com.amazonaws.imagebuilder#Uri",
+ "traits": {
+ "smithy.api#documentation": "The uri
of a YAML component document file. This must be an S3 URL\n\t\t\t(s3://bucket/key
), and the requester must have permission to access the\n\t\t\tS3 bucket it points to. If you use Amazon S3, you can specify component content up to your\n\t\t\tservice quota.
\n Alternatively, you can specify the YAML document inline, using the component\n\t\t\tdata
property. You cannot specify both properties.
"
+ }
+ },
+ "kmsKeyId": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "The ID of the KMS key that is used to encrypt this workflow resource.
"
+ }
+ },
+ "tags": {
+ "target": "com.amazonaws.imagebuilder#TagMap",
+ "traits": {
+ "smithy.api#documentation": "Tags that apply to the workflow resource.
"
+ }
+ },
+ "clientToken": {
+ "target": "com.amazonaws.imagebuilder#ClientToken",
+ "traits": {
+ "smithy.api#documentation": "Unique, case-sensitive identifier you provide to ensure\n idempotency of the request. For more information, see Ensuring idempotency \n in the Amazon EC2 API Reference.
",
+ "smithy.api#idempotencyToken": {},
+ "smithy.api#required": {}
+ }
+ },
+ "type": {
+ "target": "com.amazonaws.imagebuilder#WorkflowType",
+ "traits": {
+ "smithy.api#documentation": "The phase in the image build process for which the workflow resource \n\t\t\tis responsible.
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.imagebuilder#CreateWorkflowResponse": {
+ "type": "structure",
+ "members": {
+ "clientToken": {
+ "target": "com.amazonaws.imagebuilder#ClientToken",
+ "traits": {
+ "smithy.api#documentation": "The client token that uniquely identifies the request.
"
+ }
+ },
+ "workflowBuildVersionArn": {
+ "target": "com.amazonaws.imagebuilder#WorkflowBuildVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the workflow resource that the request created.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.imagebuilder#CvssScore": {
"type": "structure",
"members": {
@@ -3140,6 +3309,76 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.imagebuilder#DeleteWorkflow": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.imagebuilder#DeleteWorkflowRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.imagebuilder#DeleteWorkflowResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.imagebuilder#CallRateLimitExceededException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ClientException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ForbiddenException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidRequestException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ResourceDependencyException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceUnavailableException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Deletes a specific workflow resource.
",
+ "smithy.api#http": {
+ "method": "DELETE",
+ "uri": "/DeleteWorkflow",
+ "code": 200
+ }
+ }
+ },
+ "com.amazonaws.imagebuilder#DeleteWorkflowRequest": {
+ "type": "structure",
+ "members": {
+ "workflowBuildVersionArn": {
+ "target": "com.amazonaws.imagebuilder#WorkflowBuildVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the workflow resource to delete.
",
+ "smithy.api#httpQuery": "workflowBuildVersionArn",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.imagebuilder#DeleteWorkflowResponse": {
+ "type": "structure",
+ "members": {
+ "workflowBuildVersionArn": {
+ "target": "com.amazonaws.imagebuilder#WorkflowBuildVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The ARN of the workflow resource that this request deleted.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.imagebuilder#DiskImageFormat": {
"type": "enum",
"members": {
@@ -3812,7 +4051,7 @@
"component": {
"target": "com.amazonaws.imagebuilder#Component",
"traits": {
- "smithy.api#documentation": "The component object associated with the specified ARN.
"
+ "smithy.api#documentation": "The component object specified in the request.
"
}
}
},
@@ -4613,6 +4852,43 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.imagebuilder#GetWorkflow": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.imagebuilder#GetWorkflowRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.imagebuilder#GetWorkflowResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.imagebuilder#CallRateLimitExceededException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ClientException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ForbiddenException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidRequestException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceUnavailableException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Get a workflow resource object.
",
+ "smithy.api#http": {
+ "method": "GET",
+ "uri": "/GetWorkflow",
+ "code": 200
+ }
+ }
+ },
"com.amazonaws.imagebuilder#GetWorkflowExecution": {
"type": "operation",
"input": {
@@ -4750,24 +5026,60 @@
"traits": {
"smithy.api#documentation": "The timestamp when the specified runtime instance of the workflow finished.
"
}
+ },
+ "parallelGroup": {
+ "target": "com.amazonaws.imagebuilder#ParallelGroup",
+ "traits": {
+ "smithy.api#documentation": "Test workflows are defined within named runtime groups. The parallel group \n\t\t\tis a named group that contains one or more test workflows.
"
+ }
}
},
"traits": {
"smithy.api#output": {}
}
},
- "com.amazonaws.imagebuilder#GetWorkflowStepExecution": {
- "type": "operation",
- "input": {
- "target": "com.amazonaws.imagebuilder#GetWorkflowStepExecutionRequest"
- },
- "output": {
- "target": "com.amazonaws.imagebuilder#GetWorkflowStepExecutionResponse"
+ "com.amazonaws.imagebuilder#GetWorkflowRequest": {
+ "type": "structure",
+ "members": {
+ "workflowBuildVersionArn": {
+ "target": "com.amazonaws.imagebuilder#WorkflowVersionArnOrBuildVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the workflow resource that you want to get.
",
+ "smithy.api#httpQuery": "workflowBuildVersionArn",
+ "smithy.api#required": {}
+ }
+ }
},
- "errors": [
- {
- "target": "com.amazonaws.imagebuilder#CallRateLimitExceededException"
- },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.imagebuilder#GetWorkflowResponse": {
+ "type": "structure",
+ "members": {
+ "workflow": {
+ "target": "com.amazonaws.imagebuilder#Workflow",
+ "traits": {
+ "smithy.api#documentation": "The workflow resource specified in the request.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
+ "com.amazonaws.imagebuilder#GetWorkflowStepExecution": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.imagebuilder#GetWorkflowStepExecutionRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.imagebuilder#GetWorkflowStepExecutionResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.imagebuilder#CallRateLimitExceededException"
+ },
{
"target": "com.amazonaws.imagebuilder#ClientException"
},
@@ -5093,6 +5405,18 @@
"traits": {
"smithy.api#documentation": "Identifies the last runtime instance of the lifecycle policy to take action on the image.
"
}
+ },
+ "executionRole": {
+ "target": "com.amazonaws.imagebuilder#RoleNameOrArn",
+ "traits": {
+ "smithy.api#documentation": "The name or Amazon Resource Name (ARN) for the IAM role you create that grants \n\t\t\tImage Builder access to perform workflow actions.
"
+ }
+ },
+ "workflows": {
+ "target": "com.amazonaws.imagebuilder#WorkflowConfigurationList",
+ "traits": {
+ "smithy.api#documentation": "Contains the build and test workflows that are associated with the image.
"
+ }
}
},
"traits": {
@@ -5276,6 +5600,18 @@
"traits": {
"smithy.api#documentation": "Contains settings for vulnerability scans.
"
}
+ },
+ "executionRole": {
+ "target": "com.amazonaws.imagebuilder#RoleNameOrArn",
+ "traits": {
+ "smithy.api#documentation": "The name or Amazon Resource Name (ARN) for the IAM role you create that grants \n\t\t\tImage Builder access to perform workflow actions.
"
+ }
+ },
+ "workflows": {
+ "target": "com.amazonaws.imagebuilder#WorkflowConfigurationList",
+ "traits": {
+ "smithy.api#documentation": "Contains the workflows that run for the image pipeline.
"
+ }
}
},
"traits": {
@@ -6178,7 +6514,7 @@
"changeDescription": {
"target": "com.amazonaws.imagebuilder#NonEmptyString",
"traits": {
- "smithy.api#documentation": "The change description of the component. This description indicates the change that\n\t\t\thas been made in this version, or what makes this version different from other versions\n\t\t\tof this component.
"
+ "smithy.api#documentation": "The change description of the component. This description indicates the change that\n\t\t\thas been made in this version, or what makes this version different from other versions\n\t\t\tof the component.
"
}
},
"type": {
@@ -6579,6 +6915,16 @@
"smithy.api#pattern": "^[^\\x00]+$"
}
},
+ "com.amazonaws.imagebuilder#InlineWorkflowData": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 1,
+ "max": 16000
+ },
+ "smithy.api#pattern": "^[^\\x00]+$"
+ }
+ },
"com.amazonaws.imagebuilder#InspectorScoreDetails": {
"type": "structure",
"members": {
@@ -7200,7 +7546,7 @@
"executionRole": {
"target": "com.amazonaws.imagebuilder#RoleNameOrArn",
"traits": {
- "smithy.api#documentation": "The name of the IAM role that Image Builder uses to run the lifecycle policy. \n\t\t\tThis is a custom role that you create.
"
+ "smithy.api#documentation": "The name or Amazon Resource Name (ARN) of the IAM role that Image Builder uses to run the lifecycle policy. \n\t\t\tThis is a custom role that you create.
"
}
},
"resourceType": {
@@ -7367,7 +7713,7 @@
"tagMap": {
"target": "com.amazonaws.imagebuilder#TagMap",
"traits": {
- "smithy.api#documentation": "Contains a list of tags that Image Builder uses to skip lifecycle actions for AMIs that have them.
"
+ "smithy.api#documentation": "Contains a list of tags that Image Builder uses to skip lifecycle actions for resources that have them.
"
}
},
"amis": {
@@ -7394,19 +7740,19 @@
"regions": {
"target": "com.amazonaws.imagebuilder#StringList",
"traits": {
- "smithy.api#documentation": "Specifies Amazon Web Services accounts whose resources are excluded from the lifecycle action.
"
+ "smithy.api#documentation": "Configures Amazon Web Services Regions that are excluded from the lifecycle action.
"
}
},
"sharedAccounts": {
"target": "com.amazonaws.imagebuilder#AccountList",
"traits": {
- "smithy.api#documentation": "Specifies configuration details for Image Builder to exclude the most recent resources \n\t\t\tfrom lifecycle actions.
"
+ "smithy.api#documentation": "Specifies Amazon Web Services accounts whose resources are excluded from the lifecycle action.
"
}
},
"lastLaunched": {
"target": "com.amazonaws.imagebuilder#LifecyclePolicyDetailExclusionRulesAmisLastLaunched",
"traits": {
- "smithy.api#documentation": "Configures Amazon Web Services Regions that are excluded from the lifecycle action.
"
+ "smithy.api#documentation": "Specifies configuration details for Image Builder to exclude the most recent resources \n\t\t\tfrom lifecycle actions.
"
}
},
"tagMap": {
@@ -7650,7 +7996,7 @@
"executionRole": {
"target": "com.amazonaws.imagebuilder#RoleNameOrArn",
"traits": {
- "smithy.api#documentation": "The name of the IAM role that Image Builder uses to run the lifecycle policy.
"
+ "smithy.api#documentation": "The name or Amazon Resource Name (ARN) of the IAM role that Image Builder uses to run the lifecycle policy.
"
}
},
"resourceType": {
@@ -9413,6 +9759,185 @@
"smithy.api#output": {}
}
},
+ "com.amazonaws.imagebuilder#ListWaitingWorkflowSteps": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.imagebuilder#ListWaitingWorkflowStepsRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.imagebuilder#ListWaitingWorkflowStepsResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.imagebuilder#CallRateLimitExceededException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ClientException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ForbiddenException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidPaginationTokenException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidRequestException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceUnavailableException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Get a list of workflow steps that are waiting for action for workflows \n\t\t\tin your Amazon Web Services account.
",
+ "smithy.api#http": {
+ "method": "POST",
+ "uri": "/ListWaitingWorkflowSteps",
+ "code": 200
+ },
+ "smithy.api#paginated": {
+ "inputToken": "nextToken",
+ "outputToken": "nextToken",
+ "items": "steps",
+ "pageSize": "maxResults"
+ }
+ }
+ },
+ "com.amazonaws.imagebuilder#ListWaitingWorkflowStepsRequest": {
+ "type": "structure",
+ "members": {
+ "maxResults": {
+ "target": "com.amazonaws.imagebuilder#RestrictedInteger",
+ "traits": {
+ "smithy.api#documentation": "The maximum items to return in a request.
"
+ }
+ },
+ "nextToken": {
+ "target": "com.amazonaws.imagebuilder#PaginationToken",
+ "traits": {
+ "smithy.api#documentation": "A token to specify where to start paginating. This is the nextToken \n\tfrom a previously truncated response.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.imagebuilder#ListWaitingWorkflowStepsResponse": {
+ "type": "structure",
+ "members": {
+ "steps": {
+ "target": "com.amazonaws.imagebuilder#WorkflowStepExecutionList",
+ "traits": {
+ "smithy.api#documentation": "An array of the workflow steps that are waiting for action in your \n\t\t\tAmazon Web Services account.
"
+ }
+ },
+ "nextToken": {
+ "target": "com.amazonaws.imagebuilder#PaginationToken",
+ "traits": {
+ "smithy.api#documentation": "The next token used for paginated responses. When this field isn't empty, \n\tthere are additional elements that the service hasn't included in this request. Use this token \n\t\twith the next request to retrieve additional objects.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
+ "com.amazonaws.imagebuilder#ListWorkflowBuildVersions": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.imagebuilder#ListWorkflowBuildVersionsRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.imagebuilder#ListWorkflowBuildVersionsResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.imagebuilder#CallRateLimitExceededException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ClientException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ForbiddenException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidPaginationTokenException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidRequestException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceUnavailableException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Returns a list of build versions for a specific workflow resource.
",
+ "smithy.api#http": {
+ "method": "POST",
+ "uri": "/ListWorkflowBuildVersions",
+ "code": 200
+ },
+ "smithy.api#paginated": {
+ "inputToken": "nextToken",
+ "outputToken": "nextToken",
+ "items": "workflowSummaryList",
+ "pageSize": "maxResults"
+ }
+ }
+ },
+ "com.amazonaws.imagebuilder#ListWorkflowBuildVersionsRequest": {
+ "type": "structure",
+ "members": {
+ "workflowVersionArn": {
+ "target": "com.amazonaws.imagebuilder#WorkflowWildcardVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the workflow resource for which to get a list of build versions.
",
+ "smithy.api#required": {}
+ }
+ },
+ "maxResults": {
+ "target": "com.amazonaws.imagebuilder#RestrictedInteger",
+ "traits": {
+ "smithy.api#documentation": "The maximum items to return in a request.
"
+ }
+ },
+ "nextToken": {
+ "target": "com.amazonaws.imagebuilder#PaginationToken",
+ "traits": {
+ "smithy.api#documentation": "A token to specify where to start paginating. This is the nextToken \n\tfrom a previously truncated response.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.imagebuilder#ListWorkflowBuildVersionsResponse": {
+ "type": "structure",
+ "members": {
+ "workflowSummaryList": {
+ "target": "com.amazonaws.imagebuilder#WorkflowSummaryList",
+ "traits": {
+ "smithy.api#documentation": "A list that contains metadata for the workflow builds that have run for \n\t\t\tthe workflow resource specified in the request.
"
+ }
+ },
+ "nextToken": {
+ "target": "com.amazonaws.imagebuilder#PaginationToken",
+ "traits": {
+ "smithy.api#documentation": "The next token used for paginated responses. When this field isn't empty, \n\tthere are additional elements that the service hasn't included in this request. Use this token \n\t\twith the next request to retrieve additional objects.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.imagebuilder#ListWorkflowExecutions": {
"type": "operation",
"input": {
@@ -9556,7 +10081,7 @@
}
],
"traits": {
- "smithy.api#documentation": "Shows runtime data for each step in a runtime instance of the workflow \n\t\t\tthat you specify in the request.
",
+ "smithy.api#documentation": "Returns runtime data for each step in a runtime instance of the workflow \n\t\t\tthat you specify in the request.
",
"smithy.api#http": {
"method": "POST",
"uri": "/ListWorkflowStepExecutions",
@@ -9647,48 +10172,153 @@
"smithy.api#output": {}
}
},
- "com.amazonaws.imagebuilder#Logging": {
- "type": "structure",
- "members": {
- "s3Logs": {
- "target": "com.amazonaws.imagebuilder#S3Logs",
- "traits": {
- "smithy.api#documentation": "The Amazon S3 logging configuration.
"
- }
- }
+ "com.amazonaws.imagebuilder#ListWorkflows": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.imagebuilder#ListWorkflowsRequest"
},
- "traits": {
- "smithy.api#documentation": "Logging configuration defines where Image Builder uploads your logs.
"
- }
- },
- "com.amazonaws.imagebuilder#MaxParallelLaunches": {
- "type": "integer",
- "traits": {
- "smithy.api#range": {
- "min": 1
- }
- }
- },
- "com.amazonaws.imagebuilder#NonEmptyString": {
- "type": "string",
- "traits": {
- "smithy.api#length": {
- "min": 1,
- "max": 1024
- }
- }
- },
- "com.amazonaws.imagebuilder#NonEmptyStringList": {
- "type": "list",
- "member": {
- "target": "com.amazonaws.imagebuilder#NonEmptyString"
+ "output": {
+ "target": "com.amazonaws.imagebuilder#ListWorkflowsResponse"
},
- "traits": {
- "smithy.api#length": {
- "min": 1
- }
- }
- },
+ "errors": [
+ {
+ "target": "com.amazonaws.imagebuilder#CallRateLimitExceededException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ClientException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ForbiddenException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidPaginationTokenException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidRequestException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceUnavailableException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Lists workflow build versions based on filtering parameters.
",
+ "smithy.api#http": {
+ "method": "POST",
+ "uri": "/ListWorkflows",
+ "code": 200
+ },
+ "smithy.api#paginated": {
+ "inputToken": "nextToken",
+ "outputToken": "nextToken",
+ "items": "workflowVersionList",
+ "pageSize": "maxResults"
+ }
+ }
+ },
+ "com.amazonaws.imagebuilder#ListWorkflowsRequest": {
+ "type": "structure",
+ "members": {
+ "owner": {
+ "target": "com.amazonaws.imagebuilder#Ownership",
+ "traits": {
+ "smithy.api#documentation": "Used to get a list of workflow build version filtered by the identity of the creator.
"
+ }
+ },
+ "filters": {
+ "target": "com.amazonaws.imagebuilder#FilterList",
+ "traits": {
+ "smithy.api#documentation": "Used to streamline search results.
"
+ }
+ },
+ "byName": {
+ "target": "com.amazonaws.imagebuilder#Boolean",
+ "traits": {
+ "smithy.api#default": false,
+ "smithy.api#documentation": "Specify all or part of the workflow name to streamline results.
"
+ }
+ },
+ "maxResults": {
+ "target": "com.amazonaws.imagebuilder#RestrictedInteger",
+ "traits": {
+ "smithy.api#documentation": "The maximum items to return in a request.
"
+ }
+ },
+ "nextToken": {
+ "target": "com.amazonaws.imagebuilder#PaginationToken",
+ "traits": {
+ "smithy.api#documentation": "A token to specify where to start paginating. This is the nextToken \n\tfrom a previously truncated response.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.imagebuilder#ListWorkflowsResponse": {
+ "type": "structure",
+ "members": {
+ "workflowVersionList": {
+ "target": "com.amazonaws.imagebuilder#WorkflowVersionList",
+ "traits": {
+ "smithy.api#documentation": "A list of workflow build versions that match the request criteria.
"
+ }
+ },
+ "nextToken": {
+ "target": "com.amazonaws.imagebuilder#PaginationToken",
+ "traits": {
+ "smithy.api#documentation": "The next token used for paginated responses. When this field isn't empty, \n\tthere are additional elements that the service hasn't included in this request. Use this token \n\t\twith the next request to retrieve additional objects.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
+ "com.amazonaws.imagebuilder#Logging": {
+ "type": "structure",
+ "members": {
+ "s3Logs": {
+ "target": "com.amazonaws.imagebuilder#S3Logs",
+ "traits": {
+ "smithy.api#documentation": "The Amazon S3 logging configuration.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "Logging configuration defines where Image Builder uploads your logs.
"
+ }
+ },
+ "com.amazonaws.imagebuilder#MaxParallelLaunches": {
+ "type": "integer",
+ "traits": {
+ "smithy.api#range": {
+ "min": 1
+ }
+ }
+ },
+ "com.amazonaws.imagebuilder#NonEmptyString": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 1,
+ "max": 1024
+ }
+ }
+ },
+ "com.amazonaws.imagebuilder#NonEmptyStringList": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString"
+ },
+ "traits": {
+ "smithy.api#length": {
+ "min": 1
+ }
+ }
+ },
"com.amazonaws.imagebuilder#NonNegativeDouble": {
"type": "double",
"traits": {
@@ -9700,6 +10330,23 @@
"com.amazonaws.imagebuilder#NullableBoolean": {
"type": "boolean"
},
+ "com.amazonaws.imagebuilder#OnWorkflowFailure": {
+ "type": "enum",
+ "members": {
+ "CONTINUE": {
+ "target": "smithy.api#Unit",
+ "traits": {
+ "smithy.api#enumValue": "CONTINUE"
+ }
+ },
+ "ABORT": {
+ "target": "smithy.api#Unit",
+ "traits": {
+ "smithy.api#enumValue": "ABORT"
+ }
+ }
+ }
+ },
"com.amazonaws.imagebuilder#OrganizationArn": {
"type": "string",
"traits": {
@@ -9889,6 +10536,16 @@
}
}
},
+ "com.amazonaws.imagebuilder#ParallelGroup": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 1,
+ "max": 100
+ },
+ "smithy.api#pattern": "^[A-Za-z0-9][A-Za-z0-9-_+#]{0,99}$"
+ }
+ },
"com.amazonaws.imagebuilder#PipelineExecutionStartCondition": {
"type": "enum",
"members": {
@@ -10582,7 +11239,7 @@
}
},
"traits": {
- "smithy.api#documentation": "A schedule configures how often and when a pipeline will automatically create a new\n\t\t\timage.
"
+ "smithy.api#documentation": "A schedule configures when and how often a pipeline will automatically create a new\n\t\t\timage.
"
}
},
"com.amazonaws.imagebuilder#SecurityGroupIds": {
@@ -10591,6 +11248,124 @@
"target": "com.amazonaws.imagebuilder#NonEmptyString"
}
},
+ "com.amazonaws.imagebuilder#SendWorkflowStepAction": {
+ "type": "operation",
+ "input": {
+ "target": "com.amazonaws.imagebuilder#SendWorkflowStepActionRequest"
+ },
+ "output": {
+ "target": "com.amazonaws.imagebuilder#SendWorkflowStepActionResponse"
+ },
+ "errors": [
+ {
+ "target": "com.amazonaws.imagebuilder#CallRateLimitExceededException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ClientException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ForbiddenException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#IdempotentParameterMismatchException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidParameterValueException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#InvalidRequestException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ResourceInUseException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ResourceNotFoundException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceException"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ServiceUnavailableException"
+ }
+ ],
+ "traits": {
+ "smithy.api#documentation": "Pauses or resumes image creation when the associated workflow runs a \n\t\t\tWaitForAction
step.
",
+ "smithy.api#http": {
+ "method": "PUT",
+ "uri": "/SendWorkflowStepAction",
+ "code": 200
+ }
+ }
+ },
+ "com.amazonaws.imagebuilder#SendWorkflowStepActionRequest": {
+ "type": "structure",
+ "members": {
+ "stepExecutionId": {
+ "target": "com.amazonaws.imagebuilder#WorkflowStepExecutionId",
+ "traits": {
+ "smithy.api#documentation": "Uniquely identifies the workflow step that sent the step action.
",
+ "smithy.api#required": {}
+ }
+ },
+ "imageBuildVersionArn": {
+ "target": "com.amazonaws.imagebuilder#ImageBuildVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the image build version to send action for.
",
+ "smithy.api#required": {}
+ }
+ },
+ "action": {
+ "target": "com.amazonaws.imagebuilder#WorkflowStepActionType",
+ "traits": {
+ "smithy.api#documentation": "The action for the image creation process to take while a workflow \n\t\t\tWaitForAction
step waits for an asynchronous action to complete.
",
+ "smithy.api#required": {}
+ }
+ },
+ "reason": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "The reason why this action is sent.
"
+ }
+ },
+ "clientToken": {
+ "target": "com.amazonaws.imagebuilder#ClientToken",
+ "traits": {
+ "smithy.api#documentation": "Unique, case-sensitive identifier you provide to ensure\n idempotency of the request. For more information, see Ensuring idempotency \n in the Amazon EC2 API Reference.
",
+ "smithy.api#idempotencyToken": {},
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
+ }
+ },
+ "com.amazonaws.imagebuilder#SendWorkflowStepActionResponse": {
+ "type": "structure",
+ "members": {
+ "stepExecutionId": {
+ "target": "com.amazonaws.imagebuilder#WorkflowStepExecutionId",
+ "traits": {
+ "smithy.api#documentation": "The workflow step that sent the step action.
"
+ }
+ },
+ "imageBuildVersionArn": {
+ "target": "com.amazonaws.imagebuilder#ImageBuildVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the image build version that received the action \n\t\t\trequest.
"
+ }
+ },
+ "clientToken": {
+ "target": "com.amazonaws.imagebuilder#ClientToken",
+ "traits": {
+ "smithy.api#documentation": "The client token that uniquely identifies the request.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#output": {}
+ }
+ },
"com.amazonaws.imagebuilder#ServiceException": {
"type": "structure",
"members": {
@@ -11256,7 +12031,7 @@
}
],
"traits": {
- "smithy.api#documentation": "Updates an image pipeline. Image pipelines enable you to automate the creation and\n\t\t\tdistribution of images.
\n \n UpdateImagePipeline does not support selective updates for the pipeline. You must\n\t\t\t\tspecify all of the required properties in the update request, not just the\n\t\t\t\tproperties that have changed.
\n ",
+ "smithy.api#documentation": "Updates an image pipeline. Image pipelines enable you to automate the creation and\n\t\t\tdistribution of images. You must specify exactly one recipe for your image, using either \n\t\t\ta containerRecipeArn
or an imageRecipeArn
.
\n \n UpdateImagePipeline does not support selective updates for the pipeline. You must\n\t\t\t\tspecify all of the required properties in the update request, not just the\n\t\t\t\tproperties that have changed.
\n ",
"smithy.api#http": {
"method": "PUT",
"uri": "/UpdateImagePipeline",
@@ -11342,10 +12117,22 @@
"traits": {
"smithy.api#documentation": "Contains settings for vulnerability scans.
"
}
- }
- },
- "traits": {
- "smithy.api#input": {}
+ },
+ "workflows": {
+ "target": "com.amazonaws.imagebuilder#WorkflowConfigurationList",
+ "traits": {
+ "smithy.api#documentation": "Contains the workflows to run for the pipeline.
"
+ }
+ },
+ "executionRole": {
+ "target": "com.amazonaws.imagebuilder#RoleNameOrArn",
+ "traits": {
+ "smithy.api#documentation": "The name or Amazon Resource Name (ARN) for the IAM role you create that grants \n\t\t\tImage Builder access to perform workflow actions.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#input": {}
}
},
"com.amazonaws.imagebuilder#UpdateImagePipelineResponse": {
@@ -11604,7 +12391,7 @@
"executionRole": {
"target": "com.amazonaws.imagebuilder#RoleNameOrArn",
"traits": {
- "smithy.api#documentation": "The name of the IAM role that Image Builder should use to update the \n\t\t\tlifecycle policy.
",
+ "smithy.api#documentation": "The name or Amazon Resource Name (ARN) of the IAM role that Image Builder uses to update the \n\t\t\tlifecycle policy.
",
"smithy.api#required": {}
}
},
@@ -11778,6 +12565,92 @@
"target": "com.amazonaws.imagebuilder#VulnerablePackage"
}
},
+ "com.amazonaws.imagebuilder#Workflow": {
+ "type": "structure",
+ "members": {
+ "arn": {
+ "target": "com.amazonaws.imagebuilder#WorkflowBuildVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the workflow resource.
"
+ }
+ },
+ "name": {
+ "target": "com.amazonaws.imagebuilder#ResourceName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workflow resource.
"
+ }
+ },
+ "version": {
+ "target": "com.amazonaws.imagebuilder#VersionNumber",
+ "traits": {
+ "smithy.api#documentation": "The workflow resource version. Workflow resources are immutable. \n\t\t\tTo make a change, you can clone a workflow or create a new version.
"
+ }
+ },
+ "description": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "The description of the workflow.
"
+ }
+ },
+ "changeDescription": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "Describes what change has been made in this version of the workflow, or \n\t\t\twhat makes this version different from other versions of the workflow.
"
+ }
+ },
+ "type": {
+ "target": "com.amazonaws.imagebuilder#WorkflowType",
+ "traits": {
+ "smithy.api#documentation": "Specifies the image creation stage that the workflow applies to. Image Builder \n\t\t\tcurrently supports build and test workflows.
"
+ }
+ },
+ "state": {
+ "target": "com.amazonaws.imagebuilder#WorkflowState",
+ "traits": {
+ "smithy.api#documentation": "Describes the current status of the workflow and the reason for \n\t\t\tthat status.
"
+ }
+ },
+ "owner": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "The owner of the workflow resource.
"
+ }
+ },
+ "data": {
+ "target": "com.amazonaws.imagebuilder#WorkflowData",
+ "traits": {
+ "smithy.api#documentation": "Contains the YAML document content for the workflow.
"
+ }
+ },
+ "kmsKeyId": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "The KMS key identifier used to encrypt the workflow resource.
"
+ }
+ },
+ "dateCreated": {
+ "target": "com.amazonaws.imagebuilder#DateTime",
+ "traits": {
+ "smithy.api#documentation": "The timestamp when Image Builder created the workflow resource.
"
+ }
+ },
+ "tags": {
+ "target": "com.amazonaws.imagebuilder#TagMap",
+ "traits": {
+ "smithy.api#documentation": "The tags that apply to the workflow resource
"
+ }
+ },
+ "parameters": {
+ "target": "com.amazonaws.imagebuilder#WorkflowParameterDetailList",
+ "traits": {
+ "smithy.api#documentation": "An array of input parameters that that the image workflow uses \n\t\t\tto control actions or configure settings.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "Defines a process that Image Builder uses to build and test images during \n\t\t\tthe image creation process.
"
+ }
+ },
"com.amazonaws.imagebuilder#WorkflowBuildVersionArn": {
"type": "string",
"traits": {
@@ -11788,6 +12661,48 @@
"smithy.api#pattern": "^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+$"
}
},
+ "com.amazonaws.imagebuilder#WorkflowConfiguration": {
+ "type": "structure",
+ "members": {
+ "workflowArn": {
+ "target": "com.amazonaws.imagebuilder#WorkflowVersionArnOrBuildVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the workflow resource.
",
+ "smithy.api#required": {}
+ }
+ },
+ "parameters": {
+ "target": "com.amazonaws.imagebuilder#WorkflowParameterList",
+ "traits": {
+ "smithy.api#documentation": "Contains parameter values for each of the parameters that the workflow \n\t\t\tdocument defined for the workflow resource.
"
+ }
+ },
+ "parallelGroup": {
+ "target": "com.amazonaws.imagebuilder#ParallelGroup",
+ "traits": {
+ "smithy.api#documentation": "Test workflows are defined within named runtime groups called parallel groups. \n\t\t\tThe parallel group is the named group that contains this test workflow. Test \n\t\t\tworkflows within a parallel group can run at the same time. Image Builder starts up to five \n\t\t\ttest workflows in the group at the same time, and starts additional workflows as \n\t\t\tothers complete, until all workflows in the group have completed. This field only \n\t\t\tapplies for test workflows.
"
+ }
+ },
+ "onFailure": {
+ "target": "com.amazonaws.imagebuilder#OnWorkflowFailure",
+ "traits": {
+ "smithy.api#documentation": "The action to take if the workflow fails.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "Contains control settings and configurable inputs for a workflow \n\t\t\tresource.
"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowConfigurationList": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.imagebuilder#WorkflowConfiguration"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowData": {
+ "type": "string"
+ },
"com.amazonaws.imagebuilder#WorkflowExecutionId": {
"type": "string",
"traits": {
@@ -11875,6 +12790,12 @@
"traits": {
"smithy.api#documentation": "The timestamp when this runtime instance of the workflow finished.
"
}
+ },
+ "parallelGroup": {
+ "target": "com.amazonaws.imagebuilder#ParallelGroup",
+ "traits": {
+ "smithy.api#documentation": "The name of the test group that included the test workflow resource at runtime.
"
+ }
}
},
"traits": {
@@ -11925,6 +12846,12 @@
"traits": {
"smithy.api#enumValue": "ROLLBACK_COMPLETED"
}
+ },
+ "CANCELLED": {
+ "target": "smithy.api#Unit",
+ "traits": {
+ "smithy.api#enumValue": "CANCELLED"
+ }
}
}
},
@@ -11934,12 +12861,184 @@
"target": "com.amazonaws.imagebuilder#WorkflowExecutionMetadata"
}
},
+ "com.amazonaws.imagebuilder#WorkflowNameArn": {
+ "type": "string",
+ "traits": {
+ "smithy.api#pattern": "^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/x\\.x\\.x$"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowParameter": {
+ "type": "structure",
+ "members": {
+ "name": {
+ "target": "com.amazonaws.imagebuilder#WorkflowParameterName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workflow parameter to set.
",
+ "smithy.api#required": {}
+ }
+ },
+ "value": {
+ "target": "com.amazonaws.imagebuilder#WorkflowParameterValueList",
+ "traits": {
+ "smithy.api#documentation": "Sets the value for the named workflow parameter.
",
+ "smithy.api#required": {}
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "Contains a key/value pair that sets the named workflow parameter.
"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowParameterDescription": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 0,
+ "max": 1024
+ },
+ "smithy.api#pattern": "^[^\\x00]+$"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowParameterDetail": {
+ "type": "structure",
+ "members": {
+ "name": {
+ "target": "com.amazonaws.imagebuilder#WorkflowParameterName",
+ "traits": {
+ "smithy.api#documentation": "The name of this input parameter.
",
+ "smithy.api#required": {}
+ }
+ },
+ "type": {
+ "target": "com.amazonaws.imagebuilder#WorkflowParameterType",
+ "traits": {
+ "smithy.api#documentation": "The type of input this parameter provides. The currently supported value is\n\t\t\t\"string\".
",
+ "smithy.api#required": {}
+ }
+ },
+ "defaultValue": {
+ "target": "com.amazonaws.imagebuilder#WorkflowParameterValueList",
+ "traits": {
+ "smithy.api#documentation": "The default value of this parameter if no input is provided.
"
+ }
+ },
+ "description": {
+ "target": "com.amazonaws.imagebuilder#WorkflowParameterDescription",
+ "traits": {
+ "smithy.api#documentation": "Describes this parameter.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "Defines a parameter that's used to provide configuration details for the \n\t\t\tworkflow.
"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowParameterDetailList": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.imagebuilder#WorkflowParameterDetail"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowParameterList": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.imagebuilder#WorkflowParameter"
+ },
+ "traits": {
+ "smithy.api#length": {
+ "min": 1
+ }
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowParameterName": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 1,
+ "max": 128
+ },
+ "smithy.api#pattern": "^[^\\x00]+$"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowParameterType": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 1,
+ "max": 20
+ },
+ "smithy.api#pattern": "^string|integer|boolean|stringList$"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowParameterValue": {
+ "type": "string",
+ "traits": {
+ "smithy.api#length": {
+ "min": 0
+ },
+ "smithy.api#pattern": "^[^\\x00]*$"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowParameterValueList": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.imagebuilder#WorkflowParameterValue"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowState": {
+ "type": "structure",
+ "members": {
+ "status": {
+ "target": "com.amazonaws.imagebuilder#WorkflowStatus",
+ "traits": {
+ "smithy.api#documentation": "The current state of the workflow.
"
+ }
+ },
+ "reason": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "Describes how or why the workflow changed state.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "A group of fields that describe the current status of workflow.
"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowStatus": {
+ "type": "enum",
+ "members": {
+ "DEPRECATED": {
+ "target": "smithy.api#Unit",
+ "traits": {
+ "smithy.api#enumValue": "DEPRECATED"
+ }
+ }
+ }
+ },
"com.amazonaws.imagebuilder#WorkflowStepAction": {
"type": "string",
"traits": {
"smithy.api#pattern": "^[A-Za-z][A-Za-z0-9-_]{1,99}$"
}
},
+ "com.amazonaws.imagebuilder#WorkflowStepActionType": {
+ "type": "enum",
+ "members": {
+ "RESUME": {
+ "target": "smithy.api#Unit",
+ "traits": {
+ "smithy.api#enumValue": "RESUME"
+ }
+ },
+ "STOP": {
+ "target": "smithy.api#Unit",
+ "traits": {
+ "smithy.api#enumValue": "STOP"
+ }
+ }
+ }
+ },
"com.amazonaws.imagebuilder#WorkflowStepCount": {
"type": "integer",
"traits": {
@@ -11955,12 +13054,68 @@
}
}
},
+ "com.amazonaws.imagebuilder#WorkflowStepExecution": {
+ "type": "structure",
+ "members": {
+ "stepExecutionId": {
+ "target": "com.amazonaws.imagebuilder#WorkflowStepExecutionId",
+ "traits": {
+ "smithy.api#documentation": "Uniquely identifies the workflow step that ran for the associated \n\t\t\timage build version.
"
+ }
+ },
+ "imageBuildVersionArn": {
+ "target": "com.amazonaws.imagebuilder#ImageBuildVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the image build version that ran the workflow.
"
+ }
+ },
+ "workflowExecutionId": {
+ "target": "com.amazonaws.imagebuilder#WorkflowExecutionId",
+ "traits": {
+ "smithy.api#documentation": "Uniquely identifies the runtime instance of the workflow that contains \n\t\t\tthe workflow step that ran for the associated image build version.
"
+ }
+ },
+ "workflowBuildVersionArn": {
+ "target": "com.amazonaws.imagebuilder#WorkflowBuildVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The ARN of the workflow resource that ran.
"
+ }
+ },
+ "name": {
+ "target": "com.amazonaws.imagebuilder#WorkflowStepName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workflow step.
"
+ }
+ },
+ "action": {
+ "target": "com.amazonaws.imagebuilder#WorkflowStepAction",
+ "traits": {
+ "smithy.api#documentation": "The name of the step action.
"
+ }
+ },
+ "startTime": {
+ "target": "com.amazonaws.imagebuilder#DateTime",
+ "traits": {
+ "smithy.api#documentation": "The timestamp when the workflow step started.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "Contains runtime details for an instance of a workflow that ran for the \n\t\t\tassociated image build version.
"
+ }
+ },
"com.amazonaws.imagebuilder#WorkflowStepExecutionId": {
"type": "string",
"traits": {
"smithy.api#pattern": "^step-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
}
},
+ "com.amazonaws.imagebuilder#WorkflowStepExecutionList": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.imagebuilder#WorkflowStepExecution"
+ }
+ },
"com.amazonaws.imagebuilder#WorkflowStepExecutionRollbackStatus": {
"type": "enum",
"members": {
@@ -12022,6 +13177,12 @@
"traits": {
"smithy.api#enumValue": "FAILED"
}
+ },
+ "CANCELLED": {
+ "target": "smithy.api#Unit",
+ "traits": {
+ "smithy.api#enumValue": "CANCELLED"
+ }
}
}
},
@@ -12135,6 +13296,80 @@
}
}
},
+ "com.amazonaws.imagebuilder#WorkflowSummary": {
+ "type": "structure",
+ "members": {
+ "arn": {
+ "target": "com.amazonaws.imagebuilder#WorkflowNameArn",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the workflow resource.
"
+ }
+ },
+ "name": {
+ "target": "com.amazonaws.imagebuilder#ResourceName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workflow.
"
+ }
+ },
+ "version": {
+ "target": "com.amazonaws.imagebuilder#VersionNumber",
+ "traits": {
+ "smithy.api#documentation": "The version of the workflow.
"
+ }
+ },
+ "description": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "Describes the workflow.
"
+ }
+ },
+ "changeDescription": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "The change description for the current version of the workflow resource.
"
+ }
+ },
+ "type": {
+ "target": "com.amazonaws.imagebuilder#WorkflowType",
+ "traits": {
+ "smithy.api#documentation": "The image creation stage that this workflow applies to. Image Builder currently \n\t\t\tsupports build and test stage workflows.
"
+ }
+ },
+ "owner": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "The owner of the workflow resource.
"
+ }
+ },
+ "state": {
+ "target": "com.amazonaws.imagebuilder#WorkflowState",
+ "traits": {
+ "smithy.api#documentation": "Describes the current state of the workflow resource.
"
+ }
+ },
+ "dateCreated": {
+ "target": "com.amazonaws.imagebuilder#DateTime",
+ "traits": {
+ "smithy.api#documentation": "The original creation date of the workflow resource.
"
+ }
+ },
+ "tags": {
+ "target": "com.amazonaws.imagebuilder#TagMap",
+ "traits": {
+ "smithy.api#documentation": "Contains a list of tags that are defined for the workflow.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "Contains metadata about the workflow resource.
"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowSummaryList": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.imagebuilder#WorkflowSummary"
+ }
+ },
"com.amazonaws.imagebuilder#WorkflowType": {
"type": "enum",
"members": {
@@ -12158,6 +13393,80 @@
}
}
},
+ "com.amazonaws.imagebuilder#WorkflowVersion": {
+ "type": "structure",
+ "members": {
+ "arn": {
+ "target": "com.amazonaws.imagebuilder#WorkflowVersionArn",
+ "traits": {
+ "smithy.api#documentation": "The Amazon Resource Name (ARN) of the workflow resource.
"
+ }
+ },
+ "name": {
+ "target": "com.amazonaws.imagebuilder#ResourceName",
+ "traits": {
+ "smithy.api#documentation": "The name of the workflow.
"
+ }
+ },
+ "version": {
+ "target": "com.amazonaws.imagebuilder#VersionNumber",
+ "traits": {
+ "smithy.api#documentation": "The semantic version of the workflow resource. The format includes three nodes: ...
"
+ }
+ },
+ "description": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "Describes the workflow.
"
+ }
+ },
+ "type": {
+ "target": "com.amazonaws.imagebuilder#WorkflowType",
+ "traits": {
+ "smithy.api#documentation": "The image creation stage that this workflow applies to. Image Builder currently \n\t\t\tsupports build and test stage workflows.
"
+ }
+ },
+ "owner": {
+ "target": "com.amazonaws.imagebuilder#NonEmptyString",
+ "traits": {
+ "smithy.api#documentation": "The owner of the workflow resource.
"
+ }
+ },
+ "dateCreated": {
+ "target": "com.amazonaws.imagebuilder#DateTime",
+ "traits": {
+ "smithy.api#documentation": "The timestamp when Image Builder created the workflow version.
"
+ }
+ }
+ },
+ "traits": {
+ "smithy.api#documentation": "Contains details about this version of the workflow.
"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowVersionArn": {
+ "type": "string",
+ "traits": {
+ "smithy.api#pattern": "^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowVersionArnOrBuildVersionArn": {
+ "type": "string",
+ "traits": {
+ "smithy.api#pattern": "^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/(?:(?:([0-9]+|x)\\.([0-9]+|x)\\.([0-9]+|x))|(?:[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+))$"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowVersionList": {
+ "type": "list",
+ "member": {
+ "target": "com.amazonaws.imagebuilder#WorkflowVersion"
+ }
+ },
+ "com.amazonaws.imagebuilder#WorkflowWildcardVersionArn": {
+ "type": "string",
+ "traits": {
+ "smithy.api#pattern": "^arn:aws(?:-[a-z]+)*:imagebuilder:[a-z]{2,}(?:-[a-z]+)+-[0-9]+:(?:[0-9]{12}|aws):workflow/(build|test|distribution)/[a-z0-9-_]+/(?:[0-9]+|x)\\.(?:[0-9]+|x)\\.(?:[0-9]+|x)$"
+ }
+ },
"com.amazonaws.imagebuilder#imagebuilder": {
"type": "service",
"version": "2019-12-02",
@@ -12192,6 +13501,9 @@
{
"target": "com.amazonaws.imagebuilder#CreateLifecyclePolicy"
},
+ {
+ "target": "com.amazonaws.imagebuilder#CreateWorkflow"
+ },
{
"target": "com.amazonaws.imagebuilder#DeleteComponent"
},
@@ -12216,6 +13528,9 @@
{
"target": "com.amazonaws.imagebuilder#DeleteLifecyclePolicy"
},
+ {
+ "target": "com.amazonaws.imagebuilder#DeleteWorkflow"
+ },
{
"target": "com.amazonaws.imagebuilder#GetComponent"
},
@@ -12255,6 +13570,9 @@
{
"target": "com.amazonaws.imagebuilder#GetLifecyclePolicy"
},
+ {
+ "target": "com.amazonaws.imagebuilder#GetWorkflow"
+ },
{
"target": "com.amazonaws.imagebuilder#GetWorkflowExecution"
},
@@ -12318,9 +13636,18 @@
{
"target": "com.amazonaws.imagebuilder#ListTagsForResource"
},
+ {
+ "target": "com.amazonaws.imagebuilder#ListWaitingWorkflowSteps"
+ },
+ {
+ "target": "com.amazonaws.imagebuilder#ListWorkflowBuildVersions"
+ },
{
"target": "com.amazonaws.imagebuilder#ListWorkflowExecutions"
},
+ {
+ "target": "com.amazonaws.imagebuilder#ListWorkflows"
+ },
{
"target": "com.amazonaws.imagebuilder#ListWorkflowStepExecutions"
},
@@ -12336,6 +13663,9 @@
{
"target": "com.amazonaws.imagebuilder#PutImageRecipePolicy"
},
+ {
+ "target": "com.amazonaws.imagebuilder#SendWorkflowStepAction"
+ },
{
"target": "com.amazonaws.imagebuilder#StartImagePipelineExecution"
},