From 9dd25ecb8ee37b4231e1c1e0b0199079b5d04058 Mon Sep 17 00:00:00 2001 From: awstools Date: Fri, 17 Nov 2023 20:13:29 +0000 Subject: [PATCH] feat(client-cloudformation): This release adds a new flag ImportExistingResources to CreateChangeSet. Specify this parameter on a CREATE- or UPDATE-type change set to import existing resources with custom names instead of recreating them. --- .../src/commands/CreateChangeSetCommand.ts | 1 + .../src/commands/DescribeChangeSetCommand.ts | 3 +- .../commands/DescribeStackEventsCommand.ts | 3 +- .../src/commands/ListChangeSetsCommand.ts | 1 + .../src/models/models_0.ts | 92 ++++++++++++------- .../src/protocols/Aws_query.ts | 9 ++ .../aws-models/cloudformation.json | 70 ++++++++------ 7 files changed, 116 insertions(+), 63 deletions(-) diff --git a/clients/client-cloudformation/src/commands/CreateChangeSetCommand.ts b/clients/client-cloudformation/src/commands/CreateChangeSetCommand.ts index 3e7d1a29d191..d2487e659115 100644 --- a/clients/client-cloudformation/src/commands/CreateChangeSetCommand.ts +++ b/clients/client-cloudformation/src/commands/CreateChangeSetCommand.ts @@ -112,6 +112,7 @@ export interface CreateChangeSetCommandOutput extends CreateChangeSetOutput, __M * ], * IncludeNestedStacks: true || false, * OnStackFailure: "DO_NOTHING" || "ROLLBACK" || "DELETE", + * ImportExistingResources: true || false, * }; * const command = new CreateChangeSetCommand(input); * const response = await client.send(command); diff --git a/clients/client-cloudformation/src/commands/DescribeChangeSetCommand.ts b/clients/client-cloudformation/src/commands/DescribeChangeSetCommand.ts index f7bc92b7afd9..46f2b86e77cb 100644 --- a/clients/client-cloudformation/src/commands/DescribeChangeSetCommand.ts +++ b/clients/client-cloudformation/src/commands/DescribeChangeSetCommand.ts @@ -39,7 +39,7 @@ export interface DescribeChangeSetCommandOutput extends DescribeChangeSetOutput, * @public *

Returns the inputs for the change set and a list of changes that CloudFormation will make if you execute the * change set. For more information, see Updating Stacks Using Change - * Sets in the CloudFormation User Guide.

+ * Sets in the CloudFormation User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -130,6 +130,7 @@ export interface DescribeChangeSetCommandOutput extends DescribeChangeSetOutput, * // ParentChangeSetId: "STRING_VALUE", * // RootChangeSetId: "STRING_VALUE", * // OnStackFailure: "DO_NOTHING" || "ROLLBACK" || "DELETE", + * // ImportExistingResources: true || false, * // }; * * ``` diff --git a/clients/client-cloudformation/src/commands/DescribeStackEventsCommand.ts b/clients/client-cloudformation/src/commands/DescribeStackEventsCommand.ts index 15cbb0b52bf3..bb1a645943ed 100644 --- a/clients/client-cloudformation/src/commands/DescribeStackEventsCommand.ts +++ b/clients/client-cloudformation/src/commands/DescribeStackEventsCommand.ts @@ -38,7 +38,8 @@ export interface DescribeStackEventsCommandOutput extends DescribeStackEventsOut /** * @public *

Returns all stack related events for a specified stack in reverse chronological order. For more information - * about a stack's event history, go to Stacks in the CloudFormation User Guide.

+ * about a stack's event history, go to Stacks in the + * CloudFormation User Guide.

* *

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack * identifier (stack ID).

diff --git a/clients/client-cloudformation/src/commands/ListChangeSetsCommand.ts b/clients/client-cloudformation/src/commands/ListChangeSetsCommand.ts index eef3328a845b..0ae2b1d7c148 100644 --- a/clients/client-cloudformation/src/commands/ListChangeSetsCommand.ts +++ b/clients/client-cloudformation/src/commands/ListChangeSetsCommand.ts @@ -66,6 +66,7 @@ export interface ListChangeSetsCommandOutput extends ListChangeSetsOutput, __Met * // IncludeNestedStacks: true || false, * // ParentChangeSetId: "STRING_VALUE", * // RootChangeSetId: "STRING_VALUE", + * // ImportExistingResources: true || false, * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-cloudformation/src/models/models_0.ts b/clients/client-cloudformation/src/models/models_0.ts index 47f6f3018fe4..bc702bb98e66 100644 --- a/clients/client-cloudformation/src/models/models_0.ts +++ b/clients/client-cloudformation/src/models/models_0.ts @@ -1411,6 +1411,12 @@ export interface ChangeSetSummary { *

The root change set ID.

*/ RootChangeSetId?: string; + + /** + * @public + *

Indicates if the stack set imports resources that already exist.

+ */ + ImportExistingResources?: boolean; } /** @@ -1825,7 +1831,7 @@ export interface CreateChangeSetInput { * default, CloudFormation grants permissions to all resource types. Identity and Access Management (IAM) * uses this parameter for condition keys in IAM policies for CloudFormation. For more information, * see Controlling access - * with Identity and Access Management in the CloudFormation User Guide.

+ * with Identity and Access Management in the CloudFormation User Guide.

* *

Only one of the Capabilities and ResourceType parameters can be specified.

*
@@ -1947,6 +1953,18 @@ export interface CreateChangeSetInput { * be deleted.

*/ OnStackFailure?: OnStackFailure; + + /** + * @public + *

Indicates if the stack set imports resources that already exist.

+ * + *

This parameter can only import resources that have custom names in templates. For more information, see name type in the + * CloudFormation User Guide. To import resources that do not accept custom names, such as EC2 instances, + * use the resource import feature instead. For more information, see Bringing existing resources into CloudFormation + * management in the CloudFormation User Guide.

+ *
+ */ + ImportExistingResources?: boolean; } /** @@ -2047,7 +2065,7 @@ export interface CreateStackInput { /** * @public *

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For - * more information, go to Template anatomy in the CloudFormation User Guide.

+ * more information, go to Template anatomy in the CloudFormation User Guide.

*

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, * but not both.

*/ @@ -2057,7 +2075,7 @@ export interface CreateStackInput { * @public *

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that's * located in an Amazon S3 bucket or a Systems Manager document. For more information, go to the Template anatomy in the - * CloudFormation User Guide.

+ * CloudFormation User Guide.

*

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, * but not both.

*/ @@ -2493,19 +2511,21 @@ export interface StackSetOperationPreferences { * */ @@ -3602,6 +3622,16 @@ export interface DescribeChangeSetOutput { * */ OnStackFailure?: OnStackFailure; + + /** + * @public + *

Indicates if the stack set imports resources that already exist.

+ * + *

This parameter can only import resources that have custom names in templates. To import + * resources that do not accept custom names, such as EC2 instances, use the resource import feature instead.

+ *
+ */ + ImportExistingResources?: boolean; } /** @@ -6614,7 +6644,7 @@ export interface EstimateTemplateCostInput { * @public *

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. * (For more information, go to Template Anatomy in the - * CloudFormation User Guide.)

+ * CloudFormation User Guide.)

*

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only * TemplateBody is used.

*/ @@ -6623,7 +6653,7 @@ export interface EstimateTemplateCostInput { /** * @public *

Location of file containing the template body. The URL must point to a template that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the - * CloudFormation User Guide.

+ * CloudFormation User Guide.

*

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only * TemplateBody is used.

*/ @@ -6735,7 +6765,7 @@ export interface GetStackPolicyOutput { /** * @public *

Structure containing the stack policy body. (For more information, go to Prevent Updates to Stack Resources in - * the CloudFormation User Guide.)

+ * the CloudFormation User Guide.)

*/ StackPolicyBody?: string; } @@ -6800,7 +6830,7 @@ export interface GetTemplateOutput { /** * @public *

Structure containing the template body. (For more information, go to Template Anatomy in the - * CloudFormation User Guide.)

+ * CloudFormation User Guide.)

*

CloudFormation returns the same template that was used when the stack was created.

*/ TemplateBody?: string; @@ -6837,7 +6867,7 @@ export interface GetTemplateSummaryInput { * @public *

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For * more information about templates, see Template anatomy in the - * CloudFormation User Guide.

+ * CloudFormation User Guide.

*

Conditional: You must specify only one of the following parameters: StackName, * StackSetName, TemplateBody, or TemplateURL.

*/ @@ -6847,8 +6877,8 @@ export interface GetTemplateSummaryInput { * @public *

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that's * located in an Amazon S3 bucket or a Systems Manager document. For more information about templates, see - * Template anatomy - * in the CloudFormation User Guide.

+ * Template anatomy + * in the CloudFormation User Guide.

*

Conditional: You must specify only one of the following parameters: StackName, * StackSetName, TemplateBody, or TemplateURL.

*/ @@ -7420,10 +7450,10 @@ export interface StackInstanceResourceDriftsSummary { /** * @public - *

Context information that enables CloudFormation to uniquely identify a resource. CloudFormation uses context - * key-value pairs in cases where a resource's logical and physical IDs aren't enough to uniquely - * identify that resource. Each context key-value pair specifies a unique resource that contains the - * targeted resource.

+ *

Context information that enables CloudFormation to uniquely identify a resource. CloudFormation uses + * context key-value pairs in cases where a resource's logical and physical IDs aren't enough + * to uniquely identify that resource. Each context key-value pair specifies a unique resource + * that contains the targeted resource.

*/ PhysicalResourceIdContext?: PhysicalResourceIdContextKeyValuePair[]; @@ -7436,9 +7466,9 @@ export interface StackInstanceResourceDriftsSummary { /** * @public - *

Status of the actual configuration of the resource compared to its expected configuration. - * These will be present only for resources whose StackInstanceResourceDriftStatus is - * MODIFIED.

+ *

Status of the actual configuration of the resource compared to its expected + * configuration. These will be present only for resources whose + * StackInstanceResourceDriftStatus is MODIFIED.

*/ PropertyDifferences?: PropertyDifference[]; @@ -9549,8 +9579,8 @@ export interface SetStackPolicyInput { /** * @public *

Structure containing the stack policy body. For more information, go to Prevent updates to stack resources in - * the CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL - * parameter, but not both.

+ * the CloudFormation User Guide. You can specify either the StackPolicyBody or the + * StackPolicyURL parameter, but not both.

*/ StackPolicyBody?: string; @@ -9844,7 +9874,7 @@ export interface UpdateStackInput { * @public *

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. * (For more information, go to Template Anatomy in the - * CloudFormation User Guide.)

+ * CloudFormation User Guide.)

*

Conditional: You must specify only one of the following parameters: TemplateBody, * TemplateURL, or set the UsePreviousTemplate to true.

*/ @@ -9853,7 +9883,7 @@ export interface UpdateStackInput { /** * @public *

Location of file containing the template body. The URL must point to a template that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the - * CloudFormation User Guide.

+ * CloudFormation User Guide.

*

Conditional: You must specify only one of the following parameters: TemplateBody, * TemplateURL, or set the UsePreviousTemplate to true.

*/ @@ -10596,7 +10626,7 @@ export interface ValidateTemplateInput { /** * @public *

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For - * more information, go to Template Anatomy in the CloudFormation User Guide.

+ * more information, go to Template Anatomy in the CloudFormation User Guide.

*

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only * TemplateBody is used.

*/ @@ -10606,7 +10636,7 @@ export interface ValidateTemplateInput { * @public *

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that * is located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the - * CloudFormation User Guide.

+ * CloudFormation User Guide.

*

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only * TemplateBody is used.

*/ diff --git a/clients/client-cloudformation/src/protocols/Aws_query.ts b/clients/client-cloudformation/src/protocols/Aws_query.ts index 78c3ea43d1f5..a7ebdc052b3d 100644 --- a/clients/client-cloudformation/src/protocols/Aws_query.ts +++ b/clients/client-cloudformation/src/protocols/Aws_query.ts @@ -5478,6 +5478,9 @@ const se_CreateChangeSetInput = (input: CreateChangeSetInput, context: __SerdeCo if (input.OnStackFailure != null) { entries["OnStackFailure"] = input.OnStackFailure; } + if (input.ImportExistingResources != null) { + entries["ImportExistingResources"] = input.ImportExistingResources; + } return entries; }; @@ -8167,6 +8170,9 @@ const de_ChangeSetSummary = (output: any, context: __SerdeContext): ChangeSetSum if (output["RootChangeSetId"] !== undefined) { contents.RootChangeSetId = __expectString(output["RootChangeSetId"]); } + if (output["ImportExistingResources"] !== undefined) { + contents.ImportExistingResources = __parseBoolean(output["ImportExistingResources"]); + } return contents; }; @@ -8442,6 +8448,9 @@ const de_DescribeChangeSetOutput = (output: any, context: __SerdeContext): Descr if (output["OnStackFailure"] !== undefined) { contents.OnStackFailure = __expectString(output["OnStackFailure"]); } + if (output["ImportExistingResources"] !== undefined) { + contents.ImportExistingResources = __parseBoolean(output["ImportExistingResources"]); + } return contents; }; diff --git a/codegen/sdk-codegen/aws-models/cloudformation.json b/codegen/sdk-codegen/aws-models/cloudformation.json index d2c15a7b8312..f835485d076e 100644 --- a/codegen/sdk-codegen/aws-models/cloudformation.json +++ b/codegen/sdk-codegen/aws-models/cloudformation.json @@ -956,6 +956,12 @@ "traits": { "smithy.api#documentation": "

The root change set ID.

" } + }, + "ImportExistingResources": { + "target": "com.amazonaws.cloudformation#ImportExistingResources", + "traits": { + "smithy.api#documentation": "

Indicates if the stack set imports resources that already exist.

" + } } }, "traits": { @@ -2301,17 +2307,6 @@ "expect": { "error": "Invalid Configuration: Missing Region" } - }, - { - "documentation": "Partition doesn't support DualStack", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": true - } } ], "version": "1.0" @@ -2482,7 +2477,7 @@ "ResourceTypes": { "target": "com.amazonaws.cloudformation#ResourceTypes", "traits": { - "smithy.api#documentation": "

The template resource types that you have permissions to work with if you execute this change set, such as\n AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

\n

If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By\n default, CloudFormation grants permissions to all resource types. Identity and Access Management (IAM)\n uses this parameter for condition keys in IAM policies for CloudFormation. For more information,\n see Controlling access\n with Identity and Access Management in the CloudFormation User Guide.

\n \n

Only one of the Capabilities and ResourceType parameters can be specified.

\n
" + "smithy.api#documentation": "

The template resource types that you have permissions to work with if you execute this change set, such as\n AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

\n

If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By\n default, CloudFormation grants permissions to all resource types. Identity and Access Management (IAM)\n uses this parameter for condition keys in IAM policies for CloudFormation. For more information,\n see Controlling access\n with Identity and Access Management in the CloudFormation User Guide.

\n \n

Only one of the Capabilities and ResourceType parameters can be specified.

\n
" } }, "RoleARN": { @@ -2552,6 +2547,12 @@ "traits": { "smithy.api#documentation": "

Determines what action will be taken if stack creation fails. If this parameter is specified, the\n DisableRollback parameter to the ExecuteChangeSet API operation must not\n be specified. This must be one of these values:

\n \n

For nested stacks, when the OnStackFailure parameter is set to DELETE for the change\n set for the parent stack, any failure in a child stack will cause the parent stack creation to fail and all stacks to\n be deleted.

" } + }, + "ImportExistingResources": { + "target": "com.amazonaws.cloudformation#ImportExistingResources", + "traits": { + "smithy.api#documentation": "

Indicates if the stack set imports resources that already exist.

\n \n

This parameter can only import resources that have custom names in templates. For more information, see name type in the\n CloudFormation User Guide. To import resources that do not accept custom names, such as EC2 instances,\n use the resource import feature instead. For more information, see Bringing existing resources into CloudFormation\n management in the CloudFormation User Guide.

\n
" + } } }, "traits": { @@ -2620,13 +2621,13 @@ "TemplateBody": { "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For\n more information, go to Template anatomy in the CloudFormation User Guide.

\n

Conditional: You must specify either the TemplateBody or the TemplateURL parameter,\n but not both.

" + "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For\n more information, go to Template anatomy in the CloudFormation User Guide.

\n

Conditional: You must specify either the TemplateBody or the TemplateURL parameter,\n but not both.

" } }, "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that's\n located in an Amazon S3 bucket or a Systems Manager document. For more information, go to the Template anatomy in the\n CloudFormation User Guide.

\n

Conditional: You must specify either the TemplateBody or the TemplateURL parameter,\n but not both.

" + "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that's\n located in an Amazon S3 bucket or a Systems Manager document. For more information, go to the Template anatomy in the\n CloudFormation User Guide.

\n

Conditional: You must specify either the TemplateBody or the TemplateURL parameter,\n but not both.

" } }, "Parameters": { @@ -3527,7 +3528,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the inputs for the change set and a list of changes that CloudFormation will make if you execute the\n change set. For more information, see Updating Stacks Using Change\n Sets in the CloudFormation User Guide.

", + "smithy.api#documentation": "

Returns the inputs for the change set and a list of changes that CloudFormation will make if you execute the\n change set. For more information, see Updating Stacks Using Change\n Sets in the CloudFormation User Guide.

", "smithy.api#suppress": ["WaitableTraitInvalidErrorType"], "smithy.waiters#waitable": { "ChangeSetCreateComplete": { @@ -3817,6 +3818,12 @@ "traits": { "smithy.api#documentation": "

Determines what action will be taken if stack creation fails. When this parameter is specified, the\n DisableRollback parameter to the ExecuteChangeSet API operation must not\n be specified. This must be one of these values:

\n " } + }, + "ImportExistingResources": { + "target": "com.amazonaws.cloudformation#ImportExistingResources", + "traits": { + "smithy.api#documentation": "

Indicates if the stack set imports resources that already exist.

\n \n

This parameter can only import resources that have custom names in templates. To import\n resources that do not accept custom names, such as EC2 instances, use the resource import feature instead.

\n
" + } } }, "traits": { @@ -4031,7 +4038,7 @@ "target": "com.amazonaws.cloudformation#DescribeStackEventsOutput" }, "traits": { - "smithy.api#documentation": "

Returns all stack related events for a specified stack in reverse chronological order. For more information\n about a stack's event history, go to Stacks in the CloudFormation User Guide.

\n \n

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack\n identifier (stack ID).

\n
", + "smithy.api#documentation": "

Returns all stack related events for a specified stack in reverse chronological order. For more information\n about a stack's event history, go to Stacks in the\n CloudFormation User Guide.

\n \n

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack\n identifier (stack ID).

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -5453,13 +5460,13 @@ "TemplateBody": { "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n (For more information, go to Template Anatomy in the\n CloudFormation User Guide.)

\n

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only\n TemplateBody is used.

" + "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n (For more information, go to Template Anatomy in the\n CloudFormation User Guide.)

\n

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only\n TemplateBody is used.

" } }, "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the\n CloudFormation User Guide.

\n

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only\n TemplateBody is used.

" + "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the\n CloudFormation User Guide.

\n

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only\n TemplateBody is used.

" } }, "Parameters": { @@ -5733,7 +5740,7 @@ "StackPolicyBody": { "target": "com.amazonaws.cloudformation#StackPolicyBody", "traits": { - "smithy.api#documentation": "

Structure containing the stack policy body. (For more information, go to Prevent Updates to Stack Resources in\n the CloudFormation User Guide.)

" + "smithy.api#documentation": "

Structure containing the stack policy body. (For more information, go to Prevent Updates to Stack Resources in\n the CloudFormation User Guide.)

" } } }, @@ -5792,7 +5799,7 @@ "TemplateBody": { "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

Structure containing the template body. (For more information, go to Template Anatomy in the\n CloudFormation User Guide.)

\n

CloudFormation returns the same template that was used when the stack was created.

" + "smithy.api#documentation": "

Structure containing the template body. (For more information, go to Template Anatomy in the\n CloudFormation User Guide.)

\n

CloudFormation returns the same template that was used when the stack was created.

" } }, "StagesAvailable": { @@ -5830,13 +5837,13 @@ "TemplateBody": { "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For\n more information about templates, see Template anatomy in the\n CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters: StackName,\n StackSetName, TemplateBody, or TemplateURL.

" + "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For\n more information about templates, see Template anatomy in the\n CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters: StackName,\n StackSetName, TemplateBody, or TemplateURL.

" } }, "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that's\n located in an Amazon S3 bucket or a Systems Manager document. For more information about templates, see\n Template anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters: StackName,\n StackSetName, TemplateBody, or TemplateURL.

" + "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that's\n located in an Amazon S3 bucket or a Systems Manager document. For more information about templates, see\n Template anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters: StackName,\n StackSetName, TemplateBody, or TemplateURL.

" } }, "StackName": { @@ -6214,6 +6221,9 @@ } } }, + "com.amazonaws.cloudformation#ImportExistingResources": { + "type": "boolean" + }, "com.amazonaws.cloudformation#ImportStacksToStackSet": { "type": "operation", "input": { @@ -9404,7 +9414,7 @@ "StackPolicyBody": { "target": "com.amazonaws.cloudformation#StackPolicyBody", "traits": { - "smithy.api#documentation": "

Structure containing the stack policy body. For more information, go to Prevent updates to stack resources in\n the CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL\n parameter, but not both.

" + "smithy.api#documentation": "

Structure containing the stack policy body. For more information, go to Prevent updates to stack resources in\n the CloudFormation User Guide. You can specify either the StackPolicyBody or the\n StackPolicyURL parameter, but not both.

" } }, "StackPolicyURL": { @@ -10260,7 +10270,7 @@ "PhysicalResourceIdContext": { "target": "com.amazonaws.cloudformation#PhysicalResourceIdContext", "traits": { - "smithy.api#documentation": "

Context information that enables CloudFormation to uniquely identify a resource. CloudFormation uses context\n key-value pairs in cases where a resource's logical and physical IDs aren't enough to uniquely\n identify that resource. Each context key-value pair specifies a unique resource that contains the\n targeted resource.

" + "smithy.api#documentation": "

Context information that enables CloudFormation to uniquely identify a resource. CloudFormation uses\n context key-value pairs in cases where a resource's logical and physical IDs aren't enough\n to uniquely identify that resource. Each context key-value pair specifies a unique resource\n that contains the targeted resource.

" } }, "ResourceType": { @@ -10274,7 +10284,7 @@ "PropertyDifferences": { "target": "com.amazonaws.cloudformation#PropertyDifferences", "traits": { - "smithy.api#documentation": "

Status of the actual configuration of the resource compared to its expected configuration.\n These will be present only for resources whose StackInstanceResourceDriftStatus is\n MODIFIED.

" + "smithy.api#documentation": "

Status of the actual configuration of the resource compared to its expected\n configuration. These will be present only for resources whose\n StackInstanceResourceDriftStatus is MODIFIED.

" } }, "StackResourceDriftStatus": { @@ -11323,7 +11333,7 @@ "ConcurrencyMode": { "target": "com.amazonaws.cloudformation#ConcurrencyMode", "traits": { - "smithy.api#documentation": "

Specifies how the concurrency level behaves during the operation execution.

\n " + "smithy.api#documentation": "

Specifies how the concurrency level behaves during the operation execution.

\n " } } }, @@ -12758,13 +12768,13 @@ "TemplateBody": { "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n (For more information, go to Template Anatomy in the\n CloudFormation User Guide.)

\n

Conditional: You must specify only one of the following parameters: TemplateBody,\n TemplateURL, or set the UsePreviousTemplate to true.

" + "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.\n (For more information, go to Template Anatomy in the\n CloudFormation User Guide.)

\n

Conditional: You must specify only one of the following parameters: TemplateBody,\n TemplateURL, or set the UsePreviousTemplate to true.

" } }, "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the\n CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters: TemplateBody,\n TemplateURL, or set the UsePreviousTemplate to true.

" + "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template that's located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the\n CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters: TemplateBody,\n TemplateURL, or set the UsePreviousTemplate to true.

" } }, "UsePreviousTemplate": { @@ -13233,13 +13243,13 @@ "TemplateBody": { "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For\n more information, go to Template Anatomy in the CloudFormation User Guide.

\n

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only\n TemplateBody is used.

" + "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For\n more information, go to Template Anatomy in the CloudFormation User Guide.

\n

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only\n TemplateBody is used.

" } }, "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that\n is located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the\n CloudFormation User Guide.

\n

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only\n TemplateBody is used.

" + "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that\n is located in an Amazon S3 bucket or a Systems Manager document. For more information, go to Template Anatomy in the\n CloudFormation User Guide.

\n

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only\n TemplateBody is used.

" } } },