Skip to content

Commit

Permalink
feat(client-codepipeline): AWS CodePipeline V2 type pipelines now sup…
Browse files Browse the repository at this point in the history
…port stage level conditions to enable development teams to safely release changes that meet quality and compliance requirements.
  • Loading branch information
awstools committed Jul 30, 2024
1 parent 6cbe7bf commit 5e8b92d
Show file tree
Hide file tree
Showing 18 changed files with 4,079 additions and 507 deletions.
24 changes: 24 additions & 0 deletions clients/client-codepipeline/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -556,6 +556,22 @@ ListPipelines

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/codepipeline/command/ListPipelinesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-codepipeline/Interface/ListPipelinesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-codepipeline/Interface/ListPipelinesCommandOutput/)

</details>
<details>
<summary>
ListRuleExecutions
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/codepipeline/command/ListRuleExecutionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-codepipeline/Interface/ListRuleExecutionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-codepipeline/Interface/ListRuleExecutionsCommandOutput/)

</details>
<details>
<summary>
ListRuleTypes
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/codepipeline/command/ListRuleTypesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-codepipeline/Interface/ListRuleTypesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-codepipeline/Interface/ListRuleTypesCommandOutput/)

</details>
<details>
<summary>
Expand All @@ -572,6 +588,14 @@ ListWebhooks

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/codepipeline/command/ListWebhooksCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-codepipeline/Interface/ListWebhooksCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-codepipeline/Interface/ListWebhooksCommandOutput/)

</details>
<details>
<summary>
OverrideStageCondition
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/codepipeline/command/OverrideStageConditionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-codepipeline/Interface/OverrideStageConditionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-codepipeline/Interface/OverrideStageConditionCommandOutput/)

</details>
<details>
<summary>
Expand Down
64 changes: 64 additions & 0 deletions clients/client-codepipeline/src/CodePipeline.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,16 @@ import {
ListPipelinesCommandInput,
ListPipelinesCommandOutput,
} from "./commands/ListPipelinesCommand";
import {
ListRuleExecutionsCommand,
ListRuleExecutionsCommandInput,
ListRuleExecutionsCommandOutput,
} from "./commands/ListRuleExecutionsCommand";
import {
ListRuleTypesCommand,
ListRuleTypesCommandInput,
ListRuleTypesCommandOutput,
} from "./commands/ListRuleTypesCommand";
import {
ListTagsForResourceCommand,
ListTagsForResourceCommandInput,
Expand All @@ -109,6 +119,11 @@ import {
ListWebhooksCommandInput,
ListWebhooksCommandOutput,
} from "./commands/ListWebhooksCommand";
import {
OverrideStageConditionCommand,
OverrideStageConditionCommandInput,
OverrideStageConditionCommandOutput,
} from "./commands/OverrideStageConditionCommand";
import { PollForJobsCommand, PollForJobsCommandInput, PollForJobsCommandOutput } from "./commands/PollForJobsCommand";
import {
PollForThirdPartyJobsCommand,
Expand Down Expand Up @@ -209,8 +224,11 @@ const commands = {
ListActionTypesCommand,
ListPipelineExecutionsCommand,
ListPipelinesCommand,
ListRuleExecutionsCommand,
ListRuleTypesCommand,
ListTagsForResourceCommand,
ListWebhooksCommand,
OverrideStageConditionCommand,
PollForJobsCommand,
PollForThirdPartyJobsCommand,
PutActionRevisionCommand,
Expand Down Expand Up @@ -533,6 +551,35 @@ export interface CodePipeline {
cb: (err: any, data?: ListPipelinesCommandOutput) => void
): void;

/**
* @see {@link ListRuleExecutionsCommand}
*/
listRuleExecutions(
args: ListRuleExecutionsCommandInput,
options?: __HttpHandlerOptions
): Promise<ListRuleExecutionsCommandOutput>;
listRuleExecutions(
args: ListRuleExecutionsCommandInput,
cb: (err: any, data?: ListRuleExecutionsCommandOutput) => void
): void;
listRuleExecutions(
args: ListRuleExecutionsCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: ListRuleExecutionsCommandOutput) => void
): void;

/**
* @see {@link ListRuleTypesCommand}
*/
listRuleTypes(): Promise<ListRuleTypesCommandOutput>;
listRuleTypes(args: ListRuleTypesCommandInput, options?: __HttpHandlerOptions): Promise<ListRuleTypesCommandOutput>;
listRuleTypes(args: ListRuleTypesCommandInput, cb: (err: any, data?: ListRuleTypesCommandOutput) => void): void;
listRuleTypes(
args: ListRuleTypesCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: ListRuleTypesCommandOutput) => void
): void;

/**
* @see {@link ListTagsForResourceCommand}
*/
Expand Down Expand Up @@ -562,6 +609,23 @@ export interface CodePipeline {
cb: (err: any, data?: ListWebhooksCommandOutput) => void
): void;

/**
* @see {@link OverrideStageConditionCommand}
*/
overrideStageCondition(
args: OverrideStageConditionCommandInput,
options?: __HttpHandlerOptions
): Promise<OverrideStageConditionCommandOutput>;
overrideStageCondition(
args: OverrideStageConditionCommandInput,
cb: (err: any, data?: OverrideStageConditionCommandOutput) => void
): void;
overrideStageCondition(
args: OverrideStageConditionCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: OverrideStageConditionCommandOutput) => void
): void;

/**
* @see {@link PollForJobsCommand}
*/
Expand Down
12 changes: 12 additions & 0 deletions clients/client-codepipeline/src/CodePipelineClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,17 @@ import {
ListPipelineExecutionsCommandOutput,
} from "./commands/ListPipelineExecutionsCommand";
import { ListPipelinesCommandInput, ListPipelinesCommandOutput } from "./commands/ListPipelinesCommand";
import { ListRuleExecutionsCommandInput, ListRuleExecutionsCommandOutput } from "./commands/ListRuleExecutionsCommand";
import { ListRuleTypesCommandInput, ListRuleTypesCommandOutput } from "./commands/ListRuleTypesCommand";
import {
ListTagsForResourceCommandInput,
ListTagsForResourceCommandOutput,
} from "./commands/ListTagsForResourceCommand";
import { ListWebhooksCommandInput, ListWebhooksCommandOutput } from "./commands/ListWebhooksCommand";
import {
OverrideStageConditionCommandInput,
OverrideStageConditionCommandOutput,
} from "./commands/OverrideStageConditionCommand";
import { PollForJobsCommandInput, PollForJobsCommandOutput } from "./commands/PollForJobsCommand";
import {
PollForThirdPartyJobsCommandInput,
Expand Down Expand Up @@ -188,8 +194,11 @@ export type ServiceInputTypes =
| ListActionTypesCommandInput
| ListPipelineExecutionsCommandInput
| ListPipelinesCommandInput
| ListRuleExecutionsCommandInput
| ListRuleTypesCommandInput
| ListTagsForResourceCommandInput
| ListWebhooksCommandInput
| OverrideStageConditionCommandInput
| PollForJobsCommandInput
| PollForThirdPartyJobsCommandInput
| PutActionRevisionCommandInput
Expand Down Expand Up @@ -233,8 +242,11 @@ export type ServiceOutputTypes =
| ListActionTypesCommandOutput
| ListPipelineExecutionsCommandOutput
| ListPipelinesCommandOutput
| ListRuleExecutionsCommandOutput
| ListRuleTypesCommandOutput
| ListTagsForResourceCommandOutput
| ListWebhooksCommandOutput
| OverrideStageConditionCommandOutput
| PollForJobsCommandOutput
| PollForThirdPartyJobsCommandOutput
| PutActionRevisionCommandOutput
Expand Down
174 changes: 172 additions & 2 deletions clients/client-codepipeline/src/commands/CreatePipelineCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,92 @@ export interface CreatePipelineCommandOutput extends CreatePipelineOutput, __Met
* },
* ],
* onFailure: { // FailureConditions
* result: "ROLLBACK",
* result: "ROLLBACK" || "FAIL",
* conditions: [ // ConditionList
* { // Condition
* result: "ROLLBACK" || "FAIL",
* rules: [ // RuleDeclarationList
* { // RuleDeclaration
* name: "STRING_VALUE", // required
* ruleTypeId: { // RuleTypeId
* category: "Rule", // required
* owner: "AWS",
* provider: "STRING_VALUE", // required
* version: "STRING_VALUE",
* },
* configuration: { // RuleConfigurationMap
* "<keys>": "STRING_VALUE",
* },
* inputArtifacts: [
* {
* name: "STRING_VALUE", // required
* },
* ],
* roleArn: "STRING_VALUE",
* region: "STRING_VALUE",
* timeoutInMinutes: Number("int"),
* },
* ],
* },
* ],
* },
* onSuccess: { // SuccessConditions
* conditions: [ // required
* {
* result: "ROLLBACK" || "FAIL",
* rules: [
* {
* name: "STRING_VALUE", // required
* ruleTypeId: {
* category: "Rule", // required
* owner: "AWS",
* provider: "STRING_VALUE", // required
* version: "STRING_VALUE",
* },
* configuration: {
* "<keys>": "STRING_VALUE",
* },
* inputArtifacts: [
* {
* name: "STRING_VALUE", // required
* },
* ],
* roleArn: "STRING_VALUE",
* region: "STRING_VALUE",
* timeoutInMinutes: Number("int"),
* },
* ],
* },
* ],
* },
* beforeEntry: { // BeforeEntryConditions
* conditions: [ // required
* {
* result: "ROLLBACK" || "FAIL",
* rules: [
* {
* name: "STRING_VALUE", // required
* ruleTypeId: {
* category: "Rule", // required
* owner: "AWS",
* provider: "STRING_VALUE", // required
* version: "STRING_VALUE",
* },
* configuration: {
* "<keys>": "STRING_VALUE",
* },
* inputArtifacts: [
* {
* name: "STRING_VALUE", // required
* },
* ],
* roleArn: "STRING_VALUE",
* region: "STRING_VALUE",
* timeoutInMinutes: Number("int"),
* },
* ],
* },
* ],
* },
* },
* ],
Expand Down Expand Up @@ -246,7 +331,92 @@ export interface CreatePipelineCommandOutput extends CreatePipelineOutput, __Met
* // },
* // ],
* // onFailure: { // FailureConditions
* // result: "ROLLBACK",
* // result: "ROLLBACK" || "FAIL",
* // conditions: [ // ConditionList
* // { // Condition
* // result: "ROLLBACK" || "FAIL",
* // rules: [ // RuleDeclarationList
* // { // RuleDeclaration
* // name: "STRING_VALUE", // required
* // ruleTypeId: { // RuleTypeId
* // category: "Rule", // required
* // owner: "AWS",
* // provider: "STRING_VALUE", // required
* // version: "STRING_VALUE",
* // },
* // configuration: { // RuleConfigurationMap
* // "<keys>": "STRING_VALUE",
* // },
* // inputArtifacts: [
* // {
* // name: "STRING_VALUE", // required
* // },
* // ],
* // roleArn: "STRING_VALUE",
* // region: "STRING_VALUE",
* // timeoutInMinutes: Number("int"),
* // },
* // ],
* // },
* // ],
* // },
* // onSuccess: { // SuccessConditions
* // conditions: [ // required
* // {
* // result: "ROLLBACK" || "FAIL",
* // rules: [
* // {
* // name: "STRING_VALUE", // required
* // ruleTypeId: {
* // category: "Rule", // required
* // owner: "AWS",
* // provider: "STRING_VALUE", // required
* // version: "STRING_VALUE",
* // },
* // configuration: {
* // "<keys>": "STRING_VALUE",
* // },
* // inputArtifacts: [
* // {
* // name: "STRING_VALUE", // required
* // },
* // ],
* // roleArn: "STRING_VALUE",
* // region: "STRING_VALUE",
* // timeoutInMinutes: Number("int"),
* // },
* // ],
* // },
* // ],
* // },
* // beforeEntry: { // BeforeEntryConditions
* // conditions: [ // required
* // {
* // result: "ROLLBACK" || "FAIL",
* // rules: [
* // {
* // name: "STRING_VALUE", // required
* // ruleTypeId: {
* // category: "Rule", // required
* // owner: "AWS",
* // provider: "STRING_VALUE", // required
* // version: "STRING_VALUE",
* // },
* // configuration: {
* // "<keys>": "STRING_VALUE",
* // },
* // inputArtifacts: [
* // {
* // name: "STRING_VALUE", // required
* // },
* // ],
* // roleArn: "STRING_VALUE",
* // region: "STRING_VALUE",
* // timeoutInMinutes: Number("int"),
* // },
* // ],
* // },
* // ],
* // },
* // },
* // ],
Expand Down
Loading

0 comments on commit 5e8b92d

Please sign in to comment.