Skip to content

Commit aed244d

Browse files
author
awstools
committed
feat(client-cloudformation): Adding support for the new parameter "IncludePropertyValues" in the CloudFormation DescribeChangeSet API. When this parameter is included, the DescribeChangeSet response will include more detailed information such as before and after values for the resource properties that will change.
1 parent 874e200 commit aed244d

File tree

6 files changed

+213
-17
lines changed

6 files changed

+213
-17
lines changed

clients/client-cloudformation/src/commands/DescribeChangeSetCommand.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ export interface DescribeChangeSetCommandOutput extends DescribeChangeSetOutput,
4040
* ChangeSetName: "STRING_VALUE", // required
4141
* StackName: "STRING_VALUE",
4242
* NextToken: "STRING_VALUE",
43+
* IncludePropertyValues: true || false,
4344
* };
4445
* const command = new DescribeChangeSetCommand(input);
4546
* const response = await client.send(command);
@@ -102,6 +103,10 @@ export interface DescribeChangeSetCommandOutput extends DescribeChangeSetOutput,
102103
* // Attribute: "Properties" || "Metadata" || "CreationPolicy" || "UpdatePolicy" || "DeletionPolicy" || "UpdateReplacePolicy" || "Tags",
103104
* // Name: "STRING_VALUE",
104105
* // RequiresRecreation: "Never" || "Conditionally" || "Always",
106+
* // Path: "STRING_VALUE",
107+
* // BeforeValue: "STRING_VALUE",
108+
* // AfterValue: "STRING_VALUE",
109+
* // AttributeChangeType: "Add" || "Remove" || "Modify",
105110
* // },
106111
* // Evaluation: "Static" || "Dynamic",
107112
* // ChangeSource: "ResourceReference" || "ParameterReference" || "ResourceAttribute" || "DirectModification" || "Automatic",
@@ -113,6 +118,8 @@ export interface DescribeChangeSetCommandOutput extends DescribeChangeSetOutput,
113118
* // TypeHierarchy: "STRING_VALUE",
114119
* // LogicalIdHierarchy: "STRING_VALUE",
115120
* // },
121+
* // BeforeContext: "STRING_VALUE",
122+
* // AfterContext: "STRING_VALUE",
116123
* // },
117124
* // },
118125
* // ],

clients/client-cloudformation/src/commands/SetTypeConfigurationCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { CloudFormationClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFormationClient";
88
import { commonParams } from "../endpoint/EndpointParameters";
9-
import { SetTypeConfigurationInput, SetTypeConfigurationOutput } from "../models/models_0";
9+
import { SetTypeConfigurationInput } from "../models/models_0";
10+
import { SetTypeConfigurationOutput } from "../models/models_1";
1011
import { de_SetTypeConfigurationCommand, se_SetTypeConfigurationCommand } from "../protocols/Aws_query";
1112

1213
/**

clients/client-cloudformation/src/models/models_0.ts

Lines changed: 78 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,21 @@ export class AlreadyExistsException extends __BaseException {
409409
}
410410
}
411411

412+
/**
413+
* @public
414+
* @enum
415+
*/
416+
export const AttributeChangeType = {
417+
Add: "Add",
418+
Modify: "Modify",
419+
Remove: "Remove",
420+
} as const;
421+
422+
/**
423+
* @public
424+
*/
425+
export type AttributeChangeType = (typeof AttributeChangeType)[keyof typeof AttributeChangeType];
426+
412427
/**
413428
* <p>[Service-managed permissions] Describes whether StackSets automatically deploys to Organizations
414429
* accounts that are added to a target organization or organizational unit (OU).</p>
@@ -820,6 +835,44 @@ export interface ResourceTargetDefinition {
820835
* @public
821836
*/
822837
RequiresRecreation?: RequiresRecreation;
838+
839+
/**
840+
* <p>The property path of the property.</p>
841+
* @public
842+
*/
843+
Path?: string;
844+
845+
/**
846+
* <p>The value of the property before the change is executed. Large values can be truncated.</p>
847+
* @public
848+
*/
849+
BeforeValue?: string;
850+
851+
/**
852+
* <p>The value of the property after the change is executed. Large values can be truncated.</p>
853+
* @public
854+
*/
855+
AfterValue?: string;
856+
857+
/**
858+
* <p>The type of change to be made to the property if the change is executed.</p>
859+
* <ul>
860+
* <li>
861+
* <p>
862+
* <code>Add</code> The item will be added.</p>
863+
* </li>
864+
* <li>
865+
* <p>
866+
* <code>Remove</code> The item will be removed.</p>
867+
* </li>
868+
* <li>
869+
* <p>
870+
* <code>Modify</code> The item will be modified.</p>
871+
* </li>
872+
* </ul>
873+
* @public
874+
*/
875+
AttributeChangeType?: AttributeChangeType;
823876
}
824877

825878
/**
@@ -1070,6 +1123,18 @@ export interface ResourceChange {
10701123
* @public
10711124
*/
10721125
ModuleInfo?: ModuleInfo;
1126+
1127+
/**
1128+
* <p>An encoded JSON string containing the context of the resource before the change is executed.</p>
1129+
* @public
1130+
*/
1131+
BeforeContext?: string;
1132+
1133+
/**
1134+
* <p>An encoded JSON string containing the context of the resource after the change is executed.</p>
1135+
* @public
1136+
*/
1137+
AfterContext?: string;
10731138
}
10741139

10751140
/**
@@ -1091,7 +1156,13 @@ export type ChangeType = (typeof ChangeType)[keyof typeof ChangeType];
10911156
*/
10921157
export interface Change {
10931158
/**
1094-
* <p>The type of entity that CloudFormation changes. Currently, the only entity type is <code>Resource</code>.</p>
1159+
* <p>The type of entity that CloudFormation changes.</p>
1160+
* <ul>
1161+
* <li>
1162+
* <p>
1163+
* <code>Resource</code> This change is for a resource.</p>
1164+
* </li>
1165+
* </ul>
10951166
* @public
10961167
*/
10971168
Type?: ChangeType;
@@ -3678,6 +3749,12 @@ export interface DescribeChangeSetInput {
36783749
* @public
36793750
*/
36803751
NextToken?: string;
3752+
3753+
/**
3754+
* <p>If <code>true</code>, the returned changes include detailed changes in the property values.</p>
3755+
* @public
3756+
*/
3757+
IncludePropertyValues?: boolean;
36813758
}
36823759

36833760
/**
@@ -10915,16 +10992,3 @@ export interface SetTypeConfigurationInput {
1091510992
*/
1091610993
Type?: ThirdPartyType;
1091710994
}
10918-
10919-
/**
10920-
* @public
10921-
*/
10922-
export interface SetTypeConfigurationOutput {
10923-
/**
10924-
* <p>The Amazon Resource Name (ARN) for the configuration data, in this account and Region.</p>
10925-
* <p>Conditional: You must specify <code>ConfigurationArn</code>, or <code>Type</code> and
10926-
* <code>TypeName</code>.</p>
10927-
* @public
10928-
*/
10929-
ConfigurationArn?: string;
10930-
}

clients/client-cloudformation/src/models/models_1.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,19 @@ import {
2020
ThirdPartyType,
2121
} from "./models_0";
2222

23+
/**
24+
* @public
25+
*/
26+
export interface SetTypeConfigurationOutput {
27+
/**
28+
* <p>The Amazon Resource Name (ARN) for the configuration data, in this account and Region.</p>
29+
* <p>Conditional: You must specify <code>ConfigurationArn</code>, or <code>Type</code> and
30+
* <code>TypeName</code>.</p>
31+
* @public
32+
*/
33+
ConfigurationArn?: string;
34+
}
35+
2336
/**
2437
* @public
2538
*/

clients/client-cloudformation/src/protocols/Aws_query.ts

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,6 @@ import {
420420
ScannedResourceIdentifier,
421421
SetStackPolicyInput,
422422
SetTypeConfigurationInput,
423-
SetTypeConfigurationOutput,
424423
Stack,
425424
StackDriftInformation,
426425
StackDriftInformationSummary,
@@ -473,6 +472,7 @@ import {
473472
} from "../models/models_0";
474473
import {
475474
ResourceScanLimitExceededException,
475+
SetTypeConfigurationOutput,
476476
SetTypeDefaultVersionInput,
477477
SetTypeDefaultVersionOutput,
478478
SignalResourceInput,
@@ -4849,6 +4849,9 @@ const se_DescribeChangeSetInput = (input: DescribeChangeSetInput, context: __Ser
48494849
if (input[_NT] != null) {
48504850
entries[_NT] = input[_NT];
48514851
}
4852+
if (input[_IPV] != null) {
4853+
entries[_IPV] = input[_IPV];
4854+
}
48524855
return entries;
48534856
};
48544857

@@ -9052,6 +9055,12 @@ const de_ResourceChange = (output: any, context: __SerdeContext): ResourceChange
90529055
if (output[_MI] != null) {
90539056
contents[_MI] = de_ModuleInfo(output[_MI], context);
90549057
}
9058+
if (output[_BC] != null) {
9059+
contents[_BC] = __expectString(output[_BC]);
9060+
}
9061+
if (output[_AC] != null) {
9062+
contents[_AC] = __expectString(output[_AC]);
9063+
}
90559064
return contents;
90569065
};
90579066

@@ -9270,6 +9279,18 @@ const de_ResourceTargetDefinition = (output: any, context: __SerdeContext): Reso
92709279
if (output[_RReq] != null) {
92719280
contents[_RReq] = __expectString(output[_RReq]);
92729281
}
9282+
if (output[_Pa] != null) {
9283+
contents[_Pa] = __expectString(output[_Pa]);
9284+
}
9285+
if (output[_BV] != null) {
9286+
contents[_BV] = __expectString(output[_BV]);
9287+
}
9288+
if (output[_AVf] != null) {
9289+
contents[_AVf] = __expectString(output[_AVf]);
9290+
}
9291+
if (output[_ACT] != null) {
9292+
contents[_ACT] = __expectString(output[_ACT]);
9293+
}
92739294
return contents;
92749295
};
92759296

@@ -11050,6 +11071,8 @@ const SHARED_HEADERS: __HeaderBag = {
1105011071

1105111072
const _ = "2010-05-15";
1105211073
const _A = "Action";
11074+
const _AC = "AfterContext";
11075+
const _ACT = "AttributeChangeType";
1105311076
const _AD = "AutoDeployment";
1105411077
const _AFT = "AccountFilterType";
1105511078
const _AGR = "AccountGateResult";
@@ -11064,14 +11087,17 @@ const _AU = "AutoUpdate";
1106411087
const _AUc = "AccountsUrl";
1106511088
const _AV = "AllowedValues";
1106611089
const _AVc = "ActualValue";
11090+
const _AVf = "AfterValue";
1106711091
const _Ac = "Accounts";
1106811092
const _Acc = "Account";
1106911093
const _Act = "Active";
1107011094
const _Al = "Alias";
1107111095
const _Ar = "Arn";
1107211096
const _At = "Attribute";
11097+
const _BC = "BeforeContext";
1107311098
const _BDTC = "BatchDescribeTypeConfigurations";
1107411099
const _BT = "BearerToken";
11100+
const _BV = "BeforeValue";
1107511101
const _C = "Capabilities";
1107611102
const _CA = "CallAs";
1107711103
const _CAo = "ConnectionArn";
@@ -11195,6 +11221,7 @@ const _IER = "ImportExistingResources";
1119511221
const _INS = "IncludeNestedStacks";
1119611222
const _IP = "InvocationPoint";
1119711223
const _IPSIC = "InProgressStackInstancesCount";
11224+
const _IPV = "IncludePropertyValues";
1119811225
const _IPd = "IdentityProvider";
1119911226
const _ISSIC = "InSyncStackInstancesCount";
1120011227
const _ISTSS = "ImportStacksToStackSet";
@@ -11285,6 +11312,7 @@ const _PTa = "ParameterType";
1128511312
const _PTr = "ProvisioningType";
1128611313
const _PV = "ParameterValue";
1128711314
const _PVN = "PublicVersionNumber";
11315+
const _Pa = "Path";
1128811316
const _Pr = "Progress";
1128911317
const _Pro = "Properties";
1129011318
const _R = "Resources";

0 commit comments

Comments
 (0)