aws-sdk-cloudformation 1.10.0 → 1.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,8 @@ module Aws::CloudFormation
22
22
  AllowedValues = Shapes::ListShape.new(name: 'AllowedValues')
23
23
  AlreadyExistsException = Shapes::StructureShape.new(name: 'AlreadyExistsException')
24
24
  Arn = Shapes::StringShape.new(name: 'Arn')
25
+ BoxedInteger = Shapes::IntegerShape.new(name: 'BoxedInteger')
26
+ BoxedMaxResults = Shapes::IntegerShape.new(name: 'BoxedMaxResults')
25
27
  CancelUpdateStackInput = Shapes::StructureShape.new(name: 'CancelUpdateStackInput')
26
28
  Capabilities = Shapes::ListShape.new(name: 'Capabilities')
27
29
  CapabilitiesReason = Shapes::StringShape.new(name: 'CapabilitiesReason')
@@ -67,10 +69,14 @@ module Aws::CloudFormation
67
69
  DescribeAccountLimitsOutput = Shapes::StructureShape.new(name: 'DescribeAccountLimitsOutput')
68
70
  DescribeChangeSetInput = Shapes::StructureShape.new(name: 'DescribeChangeSetInput')
69
71
  DescribeChangeSetOutput = Shapes::StructureShape.new(name: 'DescribeChangeSetOutput')
72
+ DescribeStackDriftDetectionStatusInput = Shapes::StructureShape.new(name: 'DescribeStackDriftDetectionStatusInput')
73
+ DescribeStackDriftDetectionStatusOutput = Shapes::StructureShape.new(name: 'DescribeStackDriftDetectionStatusOutput')
70
74
  DescribeStackEventsInput = Shapes::StructureShape.new(name: 'DescribeStackEventsInput')
71
75
  DescribeStackEventsOutput = Shapes::StructureShape.new(name: 'DescribeStackEventsOutput')
72
76
  DescribeStackInstanceInput = Shapes::StructureShape.new(name: 'DescribeStackInstanceInput')
73
77
  DescribeStackInstanceOutput = Shapes::StructureShape.new(name: 'DescribeStackInstanceOutput')
78
+ DescribeStackResourceDriftsInput = Shapes::StructureShape.new(name: 'DescribeStackResourceDriftsInput')
79
+ DescribeStackResourceDriftsOutput = Shapes::StructureShape.new(name: 'DescribeStackResourceDriftsOutput')
74
80
  DescribeStackResourceInput = Shapes::StructureShape.new(name: 'DescribeStackResourceInput')
75
81
  DescribeStackResourceOutput = Shapes::StructureShape.new(name: 'DescribeStackResourceOutput')
76
82
  DescribeStackResourcesInput = Shapes::StructureShape.new(name: 'DescribeStackResourcesInput')
@@ -82,6 +88,11 @@ module Aws::CloudFormation
82
88
  DescribeStacksInput = Shapes::StructureShape.new(name: 'DescribeStacksInput')
83
89
  DescribeStacksOutput = Shapes::StructureShape.new(name: 'DescribeStacksOutput')
84
90
  Description = Shapes::StringShape.new(name: 'Description')
91
+ DetectStackDriftInput = Shapes::StructureShape.new(name: 'DetectStackDriftInput')
92
+ DetectStackDriftOutput = Shapes::StructureShape.new(name: 'DetectStackDriftOutput')
93
+ DetectStackResourceDriftInput = Shapes::StructureShape.new(name: 'DetectStackResourceDriftInput')
94
+ DetectStackResourceDriftOutput = Shapes::StructureShape.new(name: 'DetectStackResourceDriftOutput')
95
+ DifferenceType = Shapes::StringShape.new(name: 'DifferenceType')
85
96
  DisableRollback = Shapes::BooleanShape.new(name: 'DisableRollback')
86
97
  EnableTerminationProtection = Shapes::BooleanShape.new(name: 'EnableTerminationProtection')
87
98
  EstimateTemplateCostInput = Shapes::StructureShape.new(name: 'EstimateTemplateCostInput')
@@ -108,6 +119,7 @@ module Aws::CloudFormation
108
119
  InsufficientCapabilitiesException = Shapes::StructureShape.new(name: 'InsufficientCapabilitiesException')
109
120
  InvalidChangeSetStatusException = Shapes::StructureShape.new(name: 'InvalidChangeSetStatusException')
110
121
  InvalidOperationException = Shapes::StructureShape.new(name: 'InvalidOperationException')
122
+ Key = Shapes::StringShape.new(name: 'Key')
111
123
  LastUpdatedTime = Shapes::TimestampShape.new(name: 'LastUpdatedTime')
112
124
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
113
125
  LimitName = Shapes::StringShape.new(name: 'LimitName')
@@ -131,6 +143,7 @@ module Aws::CloudFormation
131
143
  ListStacksInput = Shapes::StructureShape.new(name: 'ListStacksInput')
132
144
  ListStacksOutput = Shapes::StructureShape.new(name: 'ListStacksOutput')
133
145
  LogicalResourceId = Shapes::StringShape.new(name: 'LogicalResourceId')
146
+ LogicalResourceIds = Shapes::ListShape.new(name: 'LogicalResourceIds')
134
147
  MaxConcurrentCount = Shapes::IntegerShape.new(name: 'MaxConcurrentCount')
135
148
  MaxConcurrentPercentage = Shapes::IntegerShape.new(name: 'MaxConcurrentPercentage')
136
149
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
@@ -158,7 +171,14 @@ module Aws::CloudFormation
158
171
  ParameterValue = Shapes::StringShape.new(name: 'ParameterValue')
159
172
  Parameters = Shapes::ListShape.new(name: 'Parameters')
160
173
  PhysicalResourceId = Shapes::StringShape.new(name: 'PhysicalResourceId')
174
+ PhysicalResourceIdContext = Shapes::ListShape.new(name: 'PhysicalResourceIdContext')
175
+ PhysicalResourceIdContextKeyValuePair = Shapes::StructureShape.new(name: 'PhysicalResourceIdContextKeyValuePair')
176
+ Properties = Shapes::StringShape.new(name: 'Properties')
177
+ PropertyDifference = Shapes::StructureShape.new(name: 'PropertyDifference')
178
+ PropertyDifferences = Shapes::ListShape.new(name: 'PropertyDifferences')
161
179
  PropertyName = Shapes::StringShape.new(name: 'PropertyName')
180
+ PropertyPath = Shapes::StringShape.new(name: 'PropertyPath')
181
+ PropertyValue = Shapes::StringShape.new(name: 'PropertyValue')
162
182
  Reason = Shapes::StringShape.new(name: 'Reason')
163
183
  Region = Shapes::StringShape.new(name: 'Region')
164
184
  RegionList = Shapes::ListShape.new(name: 'RegionList')
@@ -189,6 +209,12 @@ module Aws::CloudFormation
189
209
  SetStackPolicyInput = Shapes::StructureShape.new(name: 'SetStackPolicyInput')
190
210
  SignalResourceInput = Shapes::StructureShape.new(name: 'SignalResourceInput')
191
211
  Stack = Shapes::StructureShape.new(name: 'Stack')
212
+ StackDriftDetectionId = Shapes::StringShape.new(name: 'StackDriftDetectionId')
213
+ StackDriftDetectionStatus = Shapes::StringShape.new(name: 'StackDriftDetectionStatus')
214
+ StackDriftDetectionStatusReason = Shapes::StringShape.new(name: 'StackDriftDetectionStatusReason')
215
+ StackDriftInformation = Shapes::StructureShape.new(name: 'StackDriftInformation')
216
+ StackDriftInformationSummary = Shapes::StructureShape.new(name: 'StackDriftInformationSummary')
217
+ StackDriftStatus = Shapes::StringShape.new(name: 'StackDriftStatus')
192
218
  StackEvent = Shapes::StructureShape.new(name: 'StackEvent')
193
219
  StackEvents = Shapes::ListShape.new(name: 'StackEvents')
194
220
  StackId = Shapes::StringShape.new(name: 'StackId')
@@ -205,6 +231,12 @@ module Aws::CloudFormation
205
231
  StackPolicyURL = Shapes::StringShape.new(name: 'StackPolicyURL')
206
232
  StackResource = Shapes::StructureShape.new(name: 'StackResource')
207
233
  StackResourceDetail = Shapes::StructureShape.new(name: 'StackResourceDetail')
234
+ StackResourceDrift = Shapes::StructureShape.new(name: 'StackResourceDrift')
235
+ StackResourceDriftInformation = Shapes::StructureShape.new(name: 'StackResourceDriftInformation')
236
+ StackResourceDriftInformationSummary = Shapes::StructureShape.new(name: 'StackResourceDriftInformationSummary')
237
+ StackResourceDriftStatus = Shapes::StringShape.new(name: 'StackResourceDriftStatus')
238
+ StackResourceDriftStatusFilters = Shapes::ListShape.new(name: 'StackResourceDriftStatusFilters')
239
+ StackResourceDrifts = Shapes::ListShape.new(name: 'StackResourceDrifts')
208
240
  StackResourceSummaries = Shapes::ListShape.new(name: 'StackResourceSummaries')
209
241
  StackResourceSummary = Shapes::StructureShape.new(name: 'StackResourceSummary')
210
242
  StackResources = Shapes::ListShape.new(name: 'StackResources')
@@ -266,6 +298,7 @@ module Aws::CloudFormation
266
298
  UsePreviousValue = Shapes::BooleanShape.new(name: 'UsePreviousValue')
267
299
  ValidateTemplateInput = Shapes::StructureShape.new(name: 'ValidateTemplateInput')
268
300
  ValidateTemplateOutput = Shapes::StructureShape.new(name: 'ValidateTemplateOutput')
301
+ Value = Shapes::StringShape.new(name: 'Value')
269
302
  Version = Shapes::StringShape.new(name: 'Version')
270
303
 
271
304
  AccountGateResult.add_member(:status, Shapes::ShapeRef.new(shape: AccountGateStatus, location_name: "Status"))
@@ -442,6 +475,18 @@ module Aws::CloudFormation
442
475
  DescribeChangeSetOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
443
476
  DescribeChangeSetOutput.struct_class = Types::DescribeChangeSetOutput
444
477
 
478
+ DescribeStackDriftDetectionStatusInput.add_member(:stack_drift_detection_id, Shapes::ShapeRef.new(shape: StackDriftDetectionId, required: true, location_name: "StackDriftDetectionId"))
479
+ DescribeStackDriftDetectionStatusInput.struct_class = Types::DescribeStackDriftDetectionStatusInput
480
+
481
+ DescribeStackDriftDetectionStatusOutput.add_member(:stack_id, Shapes::ShapeRef.new(shape: StackId, required: true, location_name: "StackId"))
482
+ DescribeStackDriftDetectionStatusOutput.add_member(:stack_drift_detection_id, Shapes::ShapeRef.new(shape: StackDriftDetectionId, required: true, location_name: "StackDriftDetectionId"))
483
+ DescribeStackDriftDetectionStatusOutput.add_member(:stack_drift_status, Shapes::ShapeRef.new(shape: StackDriftStatus, location_name: "StackDriftStatus"))
484
+ DescribeStackDriftDetectionStatusOutput.add_member(:detection_status, Shapes::ShapeRef.new(shape: StackDriftDetectionStatus, required: true, location_name: "DetectionStatus"))
485
+ DescribeStackDriftDetectionStatusOutput.add_member(:detection_status_reason, Shapes::ShapeRef.new(shape: StackDriftDetectionStatusReason, location_name: "DetectionStatusReason"))
486
+ DescribeStackDriftDetectionStatusOutput.add_member(:drifted_stack_resource_count, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "DriftedStackResourceCount"))
487
+ DescribeStackDriftDetectionStatusOutput.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "Timestamp"))
488
+ DescribeStackDriftDetectionStatusOutput.struct_class = Types::DescribeStackDriftDetectionStatusOutput
489
+
445
490
  DescribeStackEventsInput.add_member(:stack_name, Shapes::ShapeRef.new(shape: StackName, location_name: "StackName"))
446
491
  DescribeStackEventsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
447
492
  DescribeStackEventsInput.struct_class = Types::DescribeStackEventsInput
@@ -458,6 +503,16 @@ module Aws::CloudFormation
458
503
  DescribeStackInstanceOutput.add_member(:stack_instance, Shapes::ShapeRef.new(shape: StackInstance, location_name: "StackInstance"))
459
504
  DescribeStackInstanceOutput.struct_class = Types::DescribeStackInstanceOutput
460
505
 
506
+ DescribeStackResourceDriftsInput.add_member(:stack_name, Shapes::ShapeRef.new(shape: StackNameOrId, required: true, location_name: "StackName"))
507
+ DescribeStackResourceDriftsInput.add_member(:stack_resource_drift_status_filters, Shapes::ShapeRef.new(shape: StackResourceDriftStatusFilters, location_name: "StackResourceDriftStatusFilters"))
508
+ DescribeStackResourceDriftsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
509
+ DescribeStackResourceDriftsInput.add_member(:max_results, Shapes::ShapeRef.new(shape: BoxedMaxResults, location_name: "MaxResults"))
510
+ DescribeStackResourceDriftsInput.struct_class = Types::DescribeStackResourceDriftsInput
511
+
512
+ DescribeStackResourceDriftsOutput.add_member(:stack_resource_drifts, Shapes::ShapeRef.new(shape: StackResourceDrifts, required: true, location_name: "StackResourceDrifts"))
513
+ DescribeStackResourceDriftsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
514
+ DescribeStackResourceDriftsOutput.struct_class = Types::DescribeStackResourceDriftsOutput
515
+
461
516
  DescribeStackResourceInput.add_member(:stack_name, Shapes::ShapeRef.new(shape: StackName, required: true, location_name: "StackName"))
462
517
  DescribeStackResourceInput.add_member(:logical_resource_id, Shapes::ShapeRef.new(shape: LogicalResourceId, required: true, location_name: "LogicalResourceId"))
463
518
  DescribeStackResourceInput.struct_class = Types::DescribeStackResourceInput
@@ -494,6 +549,20 @@ module Aws::CloudFormation
494
549
  DescribeStacksOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
495
550
  DescribeStacksOutput.struct_class = Types::DescribeStacksOutput
496
551
 
552
+ DetectStackDriftInput.add_member(:stack_name, Shapes::ShapeRef.new(shape: StackNameOrId, required: true, location_name: "StackName"))
553
+ DetectStackDriftInput.add_member(:logical_resource_ids, Shapes::ShapeRef.new(shape: LogicalResourceIds, location_name: "LogicalResourceIds"))
554
+ DetectStackDriftInput.struct_class = Types::DetectStackDriftInput
555
+
556
+ DetectStackDriftOutput.add_member(:stack_drift_detection_id, Shapes::ShapeRef.new(shape: StackDriftDetectionId, required: true, location_name: "StackDriftDetectionId"))
557
+ DetectStackDriftOutput.struct_class = Types::DetectStackDriftOutput
558
+
559
+ DetectStackResourceDriftInput.add_member(:stack_name, Shapes::ShapeRef.new(shape: StackNameOrId, required: true, location_name: "StackName"))
560
+ DetectStackResourceDriftInput.add_member(:logical_resource_id, Shapes::ShapeRef.new(shape: LogicalResourceId, required: true, location_name: "LogicalResourceId"))
561
+ DetectStackResourceDriftInput.struct_class = Types::DetectStackResourceDriftInput
562
+
563
+ DetectStackResourceDriftOutput.add_member(:stack_resource_drift, Shapes::ShapeRef.new(shape: StackResourceDrift, required: true, location_name: "StackResourceDrift"))
564
+ DetectStackResourceDriftOutput.struct_class = Types::DetectStackResourceDriftOutput
565
+
497
566
  EstimateTemplateCostInput.add_member(:template_body, Shapes::ShapeRef.new(shape: TemplateBody, location_name: "TemplateBody"))
498
567
  EstimateTemplateCostInput.add_member(:template_url, Shapes::ShapeRef.new(shape: TemplateURL, location_name: "TemplateURL"))
499
568
  EstimateTemplateCostInput.add_member(:parameters, Shapes::ShapeRef.new(shape: Parameters, location_name: "Parameters"))
@@ -627,6 +696,8 @@ module Aws::CloudFormation
627
696
  ListStacksOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
628
697
  ListStacksOutput.struct_class = Types::ListStacksOutput
629
698
 
699
+ LogicalResourceIds.member = Shapes::ShapeRef.new(shape: LogicalResourceId)
700
+
630
701
  NotificationARNs.member = Shapes::ShapeRef.new(shape: NotificationARN)
631
702
 
632
703
  Output.add_member(:output_key, Shapes::ShapeRef.new(shape: OutputKey, location_name: "OutputKey"))
@@ -658,6 +729,20 @@ module Aws::CloudFormation
658
729
 
659
730
  Parameters.member = Shapes::ShapeRef.new(shape: Parameter)
660
731
 
732
+ PhysicalResourceIdContext.member = Shapes::ShapeRef.new(shape: PhysicalResourceIdContextKeyValuePair)
733
+
734
+ PhysicalResourceIdContextKeyValuePair.add_member(:key, Shapes::ShapeRef.new(shape: Key, required: true, location_name: "Key"))
735
+ PhysicalResourceIdContextKeyValuePair.add_member(:value, Shapes::ShapeRef.new(shape: Value, required: true, location_name: "Value"))
736
+ PhysicalResourceIdContextKeyValuePair.struct_class = Types::PhysicalResourceIdContextKeyValuePair
737
+
738
+ PropertyDifference.add_member(:property_path, Shapes::ShapeRef.new(shape: PropertyPath, required: true, location_name: "PropertyPath"))
739
+ PropertyDifference.add_member(:expected_value, Shapes::ShapeRef.new(shape: PropertyValue, required: true, location_name: "ExpectedValue"))
740
+ PropertyDifference.add_member(:actual_value, Shapes::ShapeRef.new(shape: PropertyValue, required: true, location_name: "ActualValue"))
741
+ PropertyDifference.add_member(:difference_type, Shapes::ShapeRef.new(shape: DifferenceType, required: true, location_name: "DifferenceType"))
742
+ PropertyDifference.struct_class = Types::PropertyDifference
743
+
744
+ PropertyDifferences.member = Shapes::ShapeRef.new(shape: PropertyDifference)
745
+
661
746
  RegionList.member = Shapes::ShapeRef.new(shape: Region)
662
747
 
663
748
  ResourceChange.add_member(:action, Shapes::ShapeRef.new(shape: ChangeAction, location_name: "Action"))
@@ -732,8 +817,17 @@ module Aws::CloudFormation
732
817
  Stack.add_member(:enable_termination_protection, Shapes::ShapeRef.new(shape: EnableTerminationProtection, location_name: "EnableTerminationProtection"))
733
818
  Stack.add_member(:parent_id, Shapes::ShapeRef.new(shape: StackId, location_name: "ParentId"))
734
819
  Stack.add_member(:root_id, Shapes::ShapeRef.new(shape: StackId, location_name: "RootId"))
820
+ Stack.add_member(:drift_information, Shapes::ShapeRef.new(shape: StackDriftInformation, location_name: "DriftInformation"))
735
821
  Stack.struct_class = Types::Stack
736
822
 
823
+ StackDriftInformation.add_member(:stack_drift_status, Shapes::ShapeRef.new(shape: StackDriftStatus, required: true, location_name: "StackDriftStatus"))
824
+ StackDriftInformation.add_member(:last_check_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastCheckTimestamp"))
825
+ StackDriftInformation.struct_class = Types::StackDriftInformation
826
+
827
+ StackDriftInformationSummary.add_member(:stack_drift_status, Shapes::ShapeRef.new(shape: StackDriftStatus, required: true, location_name: "StackDriftStatus"))
828
+ StackDriftInformationSummary.add_member(:last_check_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastCheckTimestamp"))
829
+ StackDriftInformationSummary.struct_class = Types::StackDriftInformationSummary
830
+
737
831
  StackEvent.add_member(:stack_id, Shapes::ShapeRef.new(shape: StackId, required: true, location_name: "StackId"))
738
832
  StackEvent.add_member(:event_id, Shapes::ShapeRef.new(shape: EventId, required: true, location_name: "EventId"))
739
833
  StackEvent.add_member(:stack_name, Shapes::ShapeRef.new(shape: StackName, required: true, location_name: "StackName"))
@@ -777,6 +871,7 @@ module Aws::CloudFormation
777
871
  StackResource.add_member(:resource_status, Shapes::ShapeRef.new(shape: ResourceStatus, required: true, location_name: "ResourceStatus"))
778
872
  StackResource.add_member(:resource_status_reason, Shapes::ShapeRef.new(shape: ResourceStatusReason, location_name: "ResourceStatusReason"))
779
873
  StackResource.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
874
+ StackResource.add_member(:drift_information, Shapes::ShapeRef.new(shape: StackResourceDriftInformation, location_name: "DriftInformation"))
780
875
  StackResource.struct_class = Types::StackResource
781
876
 
782
877
  StackResourceDetail.add_member(:stack_name, Shapes::ShapeRef.new(shape: StackName, location_name: "StackName"))
@@ -789,8 +884,33 @@ module Aws::CloudFormation
789
884
  StackResourceDetail.add_member(:resource_status_reason, Shapes::ShapeRef.new(shape: ResourceStatusReason, location_name: "ResourceStatusReason"))
790
885
  StackResourceDetail.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
791
886
  StackResourceDetail.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location_name: "Metadata"))
887
+ StackResourceDetail.add_member(:drift_information, Shapes::ShapeRef.new(shape: StackResourceDriftInformation, location_name: "DriftInformation"))
792
888
  StackResourceDetail.struct_class = Types::StackResourceDetail
793
889
 
890
+ StackResourceDrift.add_member(:stack_id, Shapes::ShapeRef.new(shape: StackId, required: true, location_name: "StackId"))
891
+ StackResourceDrift.add_member(:logical_resource_id, Shapes::ShapeRef.new(shape: LogicalResourceId, required: true, location_name: "LogicalResourceId"))
892
+ StackResourceDrift.add_member(:physical_resource_id, Shapes::ShapeRef.new(shape: PhysicalResourceId, location_name: "PhysicalResourceId"))
893
+ StackResourceDrift.add_member(:physical_resource_id_context, Shapes::ShapeRef.new(shape: PhysicalResourceIdContext, location_name: "PhysicalResourceIdContext"))
894
+ StackResourceDrift.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
895
+ StackResourceDrift.add_member(:expected_properties, Shapes::ShapeRef.new(shape: Properties, location_name: "ExpectedProperties"))
896
+ StackResourceDrift.add_member(:actual_properties, Shapes::ShapeRef.new(shape: Properties, location_name: "ActualProperties"))
897
+ StackResourceDrift.add_member(:property_differences, Shapes::ShapeRef.new(shape: PropertyDifferences, location_name: "PropertyDifferences"))
898
+ StackResourceDrift.add_member(:stack_resource_drift_status, Shapes::ShapeRef.new(shape: StackResourceDriftStatus, required: true, location_name: "StackResourceDriftStatus"))
899
+ StackResourceDrift.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "Timestamp"))
900
+ StackResourceDrift.struct_class = Types::StackResourceDrift
901
+
902
+ StackResourceDriftInformation.add_member(:stack_resource_drift_status, Shapes::ShapeRef.new(shape: StackResourceDriftStatus, required: true, location_name: "StackResourceDriftStatus"))
903
+ StackResourceDriftInformation.add_member(:last_check_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastCheckTimestamp"))
904
+ StackResourceDriftInformation.struct_class = Types::StackResourceDriftInformation
905
+
906
+ StackResourceDriftInformationSummary.add_member(:stack_resource_drift_status, Shapes::ShapeRef.new(shape: StackResourceDriftStatus, required: true, location_name: "StackResourceDriftStatus"))
907
+ StackResourceDriftInformationSummary.add_member(:last_check_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastCheckTimestamp"))
908
+ StackResourceDriftInformationSummary.struct_class = Types::StackResourceDriftInformationSummary
909
+
910
+ StackResourceDriftStatusFilters.member = Shapes::ShapeRef.new(shape: StackResourceDriftStatus)
911
+
912
+ StackResourceDrifts.member = Shapes::ShapeRef.new(shape: StackResourceDrift)
913
+
794
914
  StackResourceSummaries.member = Shapes::ShapeRef.new(shape: StackResourceSummary)
795
915
 
796
916
  StackResourceSummary.add_member(:logical_resource_id, Shapes::ShapeRef.new(shape: LogicalResourceId, required: true, location_name: "LogicalResourceId"))
@@ -799,6 +919,7 @@ module Aws::CloudFormation
799
919
  StackResourceSummary.add_member(:last_updated_timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "LastUpdatedTimestamp"))
800
920
  StackResourceSummary.add_member(:resource_status, Shapes::ShapeRef.new(shape: ResourceStatus, required: true, location_name: "ResourceStatus"))
801
921
  StackResourceSummary.add_member(:resource_status_reason, Shapes::ShapeRef.new(shape: ResourceStatusReason, location_name: "ResourceStatusReason"))
922
+ StackResourceSummary.add_member(:drift_information, Shapes::ShapeRef.new(shape: StackResourceDriftInformationSummary, location_name: "DriftInformation"))
802
923
  StackResourceSummary.struct_class = Types::StackResourceSummary
803
924
 
804
925
  StackResources.member = Shapes::ShapeRef.new(shape: StackResource)
@@ -875,6 +996,7 @@ module Aws::CloudFormation
875
996
  StackSummary.add_member(:stack_status_reason, Shapes::ShapeRef.new(shape: StackStatusReason, location_name: "StackStatusReason"))
876
997
  StackSummary.add_member(:parent_id, Shapes::ShapeRef.new(shape: StackId, location_name: "ParentId"))
877
998
  StackSummary.add_member(:root_id, Shapes::ShapeRef.new(shape: StackId, location_name: "RootId"))
999
+ StackSummary.add_member(:drift_information, Shapes::ShapeRef.new(shape: StackDriftInformationSummary, location_name: "DriftInformation"))
878
1000
  StackSummary.struct_class = Types::StackSummary
879
1001
 
880
1002
  Stacks.member = Shapes::ShapeRef.new(shape: Stack)
@@ -1113,6 +1235,14 @@ module Aws::CloudFormation
1113
1235
  o.errors << Shapes::ShapeRef.new(shape: ChangeSetNotFoundException)
1114
1236
  end)
1115
1237
 
1238
+ api.add_operation(:describe_stack_drift_detection_status, Seahorse::Model::Operation.new.tap do |o|
1239
+ o.name = "DescribeStackDriftDetectionStatus"
1240
+ o.http_method = "POST"
1241
+ o.http_request_uri = "/"
1242
+ o.input = Shapes::ShapeRef.new(shape: DescribeStackDriftDetectionStatusInput)
1243
+ o.output = Shapes::ShapeRef.new(shape: DescribeStackDriftDetectionStatusOutput)
1244
+ end)
1245
+
1116
1246
  api.add_operation(:describe_stack_events, Seahorse::Model::Operation.new.tap do |o|
1117
1247
  o.name = "DescribeStackEvents"
1118
1248
  o.http_method = "POST"
@@ -1144,6 +1274,20 @@ module Aws::CloudFormation
1144
1274
  o.output = Shapes::ShapeRef.new(shape: DescribeStackResourceOutput)
1145
1275
  end)
1146
1276
 
1277
+ api.add_operation(:describe_stack_resource_drifts, Seahorse::Model::Operation.new.tap do |o|
1278
+ o.name = "DescribeStackResourceDrifts"
1279
+ o.http_method = "POST"
1280
+ o.http_request_uri = "/"
1281
+ o.input = Shapes::ShapeRef.new(shape: DescribeStackResourceDriftsInput)
1282
+ o.output = Shapes::ShapeRef.new(shape: DescribeStackResourceDriftsOutput)
1283
+ o[:pager] = Aws::Pager.new(
1284
+ limit_key: "max_results",
1285
+ tokens: {
1286
+ "next_token" => "next_token"
1287
+ }
1288
+ )
1289
+ end)
1290
+
1147
1291
  api.add_operation(:describe_stack_resources, Seahorse::Model::Operation.new.tap do |o|
1148
1292
  o.name = "DescribeStackResources"
1149
1293
  o.http_method = "POST"
@@ -1184,6 +1328,22 @@ module Aws::CloudFormation
1184
1328
  )
1185
1329
  end)
1186
1330
 
1331
+ api.add_operation(:detect_stack_drift, Seahorse::Model::Operation.new.tap do |o|
1332
+ o.name = "DetectStackDrift"
1333
+ o.http_method = "POST"
1334
+ o.http_request_uri = "/"
1335
+ o.input = Shapes::ShapeRef.new(shape: DetectStackDriftInput)
1336
+ o.output = Shapes::ShapeRef.new(shape: DetectStackDriftOutput)
1337
+ end)
1338
+
1339
+ api.add_operation(:detect_stack_resource_drift, Seahorse::Model::Operation.new.tap do |o|
1340
+ o.name = "DetectStackResourceDrift"
1341
+ o.http_method = "POST"
1342
+ o.http_request_uri = "/"
1343
+ o.input = Shapes::ShapeRef.new(shape: DetectStackResourceDriftInput)
1344
+ o.output = Shapes::ShapeRef.new(shape: DetectStackResourceDriftOutput)
1345
+ end)
1346
+
1187
1347
  api.add_operation(:estimate_template_cost, Seahorse::Model::Operation.new.tap do |o|
1188
1348
  o.name = "EstimateTemplateCost"
1189
1349
  o.http_method = "POST"
@@ -189,6 +189,20 @@ module Aws::CloudFormation
189
189
  data[:root_id]
190
190
  end
191
191
 
192
+ # Information on whether a stack's actual configuration differs, or has
193
+ # *drifted*, from it's expected configuration, as defined in the stack
194
+ # template and any values specified as template parameters. For more
195
+ # information, see [Detecting Unregulated Configuration Changes to
196
+ # Stacks and Resources][1].
197
+ #
198
+ #
199
+ #
200
+ # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
201
+ # @return [Types::StackDriftInformation]
202
+ def drift_information
203
+ data[:drift_information]
204
+ end
205
+
192
206
  # @!endgroup
193
207
 
194
208
  # @return [Client]
@@ -99,6 +99,20 @@ module Aws::CloudFormation
99
99
  data[:metadata]
100
100
  end
101
101
 
102
+ # Information about whether the resource's actual configuration
103
+ # differs, or has *drifted*, from its expected configuration, as defined
104
+ # in the stack template and any values specified as template parameters.
105
+ # For more information, see [Detecting Unregulated Configuration Changes
106
+ # to Stacks and Resources][1].
107
+ #
108
+ #
109
+ #
110
+ # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
111
+ # @return [Types::StackResourceDriftInformation]
112
+ def drift_information
113
+ data[:drift_information]
114
+ end
115
+
102
116
  # @!endgroup
103
117
 
104
118
  # @return [Client]
@@ -75,6 +75,20 @@ module Aws::CloudFormation
75
75
  data[:resource_status_reason]
76
76
  end
77
77
 
78
+ # Information about whether the resource's actual configuration
79
+ # differs, or has *drifted*, from its expected configuration, as defined
80
+ # in the stack template and any values specified as template parameters.
81
+ # For more information, see [Detecting Unregulated Configuration Changes
82
+ # to Stacks and Resources][1].
83
+ #
84
+ #
85
+ #
86
+ # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
87
+ # @return [Types::StackResourceDriftInformationSummary]
88
+ def drift_information
89
+ data[:drift_information]
90
+ end
91
+
78
92
  # @!endgroup
79
93
 
80
94
  # @return [Client]
@@ -389,12 +389,7 @@ module Aws::CloudFormation
389
389
  #
390
390
  # @!attribute [rw] parameters
391
391
  # A list of `Parameter` structures that specify input parameters for
392
- # the change set. For more information, see the [Parameter][1] data
393
- # type.
394
- #
395
- #
396
- #
397
- # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html
392
+ # the change set. For more information, see the Parameter data type.
398
393
  # @return [Array<Types::Parameter>]
399
394
  #
400
395
  # @!attribute [rw] capabilities
@@ -1600,6 +1595,109 @@ module Aws::CloudFormation
1600
1595
  include Aws::Structure
1601
1596
  end
1602
1597
 
1598
+ # @note When making an API call, you may pass DescribeStackDriftDetectionStatusInput
1599
+ # data as a hash:
1600
+ #
1601
+ # {
1602
+ # stack_drift_detection_id: "StackDriftDetectionId", # required
1603
+ # }
1604
+ #
1605
+ # @!attribute [rw] stack_drift_detection_id
1606
+ # The ID of the drift detection results of this operation.
1607
+ #
1608
+ # AWS CloudFormation generates new results, with a new drift detection
1609
+ # ID, each time this operation is run. However, the number of drift
1610
+ # results AWS CloudFormation retains for any given stack, and for how
1611
+ # long, may vary.
1612
+ # @return [String]
1613
+ #
1614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackDriftDetectionStatusInput AWS API Documentation
1615
+ #
1616
+ class DescribeStackDriftDetectionStatusInput < Struct.new(
1617
+ :stack_drift_detection_id)
1618
+ include Aws::Structure
1619
+ end
1620
+
1621
+ # @!attribute [rw] stack_id
1622
+ # The ID of the stack.
1623
+ # @return [String]
1624
+ #
1625
+ # @!attribute [rw] stack_drift_detection_id
1626
+ # The ID of the drift detection results of this operation.
1627
+ #
1628
+ # AWS CloudFormation generates new results, with a new drift detection
1629
+ # ID, each time this operation is run. However, the number of reports
1630
+ # AWS CloudFormation retains for any given stack, and for how long,
1631
+ # may vary.
1632
+ # @return [String]
1633
+ #
1634
+ # @!attribute [rw] stack_drift_status
1635
+ # Status of the stack's actual configuration compared to its expected
1636
+ # configuration.
1637
+ #
1638
+ # * `DRIFTED`\: The stack differs from its expected template
1639
+ # configuration. A stack is considered to have drifted if one or
1640
+ # more of its resources have drifted.
1641
+ #
1642
+ # * `NOT_CHECKED`\: AWS CloudFormation has not checked if the stack
1643
+ # differs from its expected template configuration.
1644
+ #
1645
+ # * `IN_SYNC`\: The stack's actual configuration matches its expected
1646
+ # template configuration.
1647
+ #
1648
+ # * `UNKNOWN`\: This value is reserved for future use.
1649
+ # @return [String]
1650
+ #
1651
+ # @!attribute [rw] detection_status
1652
+ # The status of the stack drift detection operation.
1653
+ #
1654
+ # * `DETECTION_COMPLETE`\: The stack drift detection operation has
1655
+ # successfully completed for all resources in the stack that support
1656
+ # drift detection. (Resources that do not currently support stack
1657
+ # detection remain unchecked.)
1658
+ #
1659
+ # If you specified logical resource IDs for AWS CloudFormation to
1660
+ # use as a filter for the stack drift detection operation, only the
1661
+ # resources with those logical IDs are checked for drift.
1662
+ #
1663
+ # * `DETECTION_FAILED`\: The stack drift detection operation has
1664
+ # failed for at least one resource in the stack. Results will be
1665
+ # available for resources on which AWS CloudFormation successfully
1666
+ # completed drift detection.
1667
+ #
1668
+ # * `DETECTION_IN_PROGRESS`\: The stack drift detection operation is
1669
+ # currently in progress.
1670
+ # @return [String]
1671
+ #
1672
+ # @!attribute [rw] detection_status_reason
1673
+ # The reason the stack drift detection operation has its current
1674
+ # status.
1675
+ # @return [String]
1676
+ #
1677
+ # @!attribute [rw] drifted_stack_resource_count
1678
+ # Total number of stack resources that have drifted. This is NULL
1679
+ # until the drift detection operation reaches a status of
1680
+ # `DETECTION_COMPLETE`. This value will be 0 for stacks whose drift
1681
+ # status is `IN_SYNC`.
1682
+ # @return [Integer]
1683
+ #
1684
+ # @!attribute [rw] timestamp
1685
+ # Time at which the stack drift detection operation was initiated.
1686
+ # @return [Time]
1687
+ #
1688
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackDriftDetectionStatusOutput AWS API Documentation
1689
+ #
1690
+ class DescribeStackDriftDetectionStatusOutput < Struct.new(
1691
+ :stack_id,
1692
+ :stack_drift_detection_id,
1693
+ :stack_drift_status,
1694
+ :detection_status,
1695
+ :detection_status_reason,
1696
+ :drifted_stack_resource_count,
1697
+ :timestamp)
1698
+ include Aws::Structure
1699
+ end
1700
+
1603
1701
  # The input for DescribeStackEvents action.
1604
1702
  #
1605
1703
  # @note When making an API call, you may pass DescribeStackEventsInput
@@ -1698,6 +1796,93 @@ module Aws::CloudFormation
1698
1796
  include Aws::Structure
1699
1797
  end
1700
1798
 
1799
+ # @note When making an API call, you may pass DescribeStackResourceDriftsInput
1800
+ # data as a hash:
1801
+ #
1802
+ # {
1803
+ # stack_name: "StackNameOrId", # required
1804
+ # stack_resource_drift_status_filters: ["IN_SYNC"], # accepts IN_SYNC, MODIFIED, DELETED, NOT_CHECKED
1805
+ # next_token: "NextToken",
1806
+ # max_results: 1,
1807
+ # }
1808
+ #
1809
+ # @!attribute [rw] stack_name
1810
+ # The name of the stack for which you want drift information.
1811
+ # @return [String]
1812
+ #
1813
+ # @!attribute [rw] stack_resource_drift_status_filters
1814
+ # The resource drift status values to use as filters for the resource
1815
+ # drift results returned.
1816
+ #
1817
+ # * `DELETED`\: The resource differs from its expected template
1818
+ # configuration in that the resource has been deleted.
1819
+ #
1820
+ # * `MODIFIED`\: One or more resource properties differ from their
1821
+ # expected template values.
1822
+ #
1823
+ # * `IN_SYNC`\: The resources's actual configuration matches its
1824
+ # expected template configuration.
1825
+ #
1826
+ # * `NOT_CHECKED`\: AWS CloudFormation does not currently return this
1827
+ # value.
1828
+ # @return [Array<String>]
1829
+ #
1830
+ # @!attribute [rw] next_token
1831
+ # A string that identifies the next page of stack resource drift
1832
+ # results.
1833
+ # @return [String]
1834
+ #
1835
+ # @!attribute [rw] max_results
1836
+ # The maximum number of results to be returned with a single call. If
1837
+ # the number of available results exceeds this maximum, the response
1838
+ # includes a `NextToken` value that you can assign to the `NextToken`
1839
+ # request parameter to get the next set of results.
1840
+ # @return [Integer]
1841
+ #
1842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackResourceDriftsInput AWS API Documentation
1843
+ #
1844
+ class DescribeStackResourceDriftsInput < Struct.new(
1845
+ :stack_name,
1846
+ :stack_resource_drift_status_filters,
1847
+ :next_token,
1848
+ :max_results)
1849
+ include Aws::Structure
1850
+ end
1851
+
1852
+ # @!attribute [rw] stack_resource_drifts
1853
+ # Drift information for the resources that have been checked for drift
1854
+ # in the specified stack. This includes actual and expected
1855
+ # configuration values for resources where AWS CloudFormation detects
1856
+ # drift.
1857
+ #
1858
+ # For a given stack, there will be one `StackResourceDrift` for each
1859
+ # stack resource that has been checked for drift. Resources that have
1860
+ # not yet been checked for drift are not included. Resources that do
1861
+ # not currently support drift detection are not checked, and so not
1862
+ # included. For a list of resources that support drift detection, see
1863
+ # [Resources that Support Drift Detection][1].
1864
+ #
1865
+ #
1866
+ #
1867
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html
1868
+ # @return [Array<Types::StackResourceDrift>]
1869
+ #
1870
+ # @!attribute [rw] next_token
1871
+ # If the request doesn't return all of the remaining results,
1872
+ # `NextToken` is set to a token. To retrieve the next set of results,
1873
+ # call `DescribeStackResourceDrifts` again and assign that token to
1874
+ # the request object's `NextToken` parameter. If the request returns
1875
+ # all results, `NextToken` is set to `null`.
1876
+ # @return [String]
1877
+ #
1878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackResourceDriftsOutput AWS API Documentation
1879
+ #
1880
+ class DescribeStackResourceDriftsOutput < Struct.new(
1881
+ :stack_resource_drifts,
1882
+ :next_token)
1883
+ include Aws::Structure
1884
+ end
1885
+
1701
1886
  # The input for DescribeStackResource action.
1702
1887
  #
1703
1888
  # @note When making an API call, you may pass DescribeStackResourceInput
@@ -1938,6 +2123,84 @@ module Aws::CloudFormation
1938
2123
  include Aws::Structure
1939
2124
  end
1940
2125
 
2126
+ # @note When making an API call, you may pass DetectStackDriftInput
2127
+ # data as a hash:
2128
+ #
2129
+ # {
2130
+ # stack_name: "StackNameOrId", # required
2131
+ # logical_resource_ids: ["LogicalResourceId"],
2132
+ # }
2133
+ #
2134
+ # @!attribute [rw] stack_name
2135
+ # The name of the stack for which you want to detect drift.
2136
+ # @return [String]
2137
+ #
2138
+ # @!attribute [rw] logical_resource_ids
2139
+ # The logical names of any resources you want to use as filters.
2140
+ # @return [Array<String>]
2141
+ #
2142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DetectStackDriftInput AWS API Documentation
2143
+ #
2144
+ class DetectStackDriftInput < Struct.new(
2145
+ :stack_name,
2146
+ :logical_resource_ids)
2147
+ include Aws::Structure
2148
+ end
2149
+
2150
+ # @!attribute [rw] stack_drift_detection_id
2151
+ # The ID of the drift detection results of this operation.
2152
+ #
2153
+ # AWS CloudFormation generates new results, with a new drift detection
2154
+ # ID, each time this operation is run. However, the number of drift
2155
+ # results AWS CloudFormation retains for any given stack, and for how
2156
+ # long, may vary.
2157
+ # @return [String]
2158
+ #
2159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DetectStackDriftOutput AWS API Documentation
2160
+ #
2161
+ class DetectStackDriftOutput < Struct.new(
2162
+ :stack_drift_detection_id)
2163
+ include Aws::Structure
2164
+ end
2165
+
2166
+ # @note When making an API call, you may pass DetectStackResourceDriftInput
2167
+ # data as a hash:
2168
+ #
2169
+ # {
2170
+ # stack_name: "StackNameOrId", # required
2171
+ # logical_resource_id: "LogicalResourceId", # required
2172
+ # }
2173
+ #
2174
+ # @!attribute [rw] stack_name
2175
+ # The name of the stack to which the resource belongs.
2176
+ # @return [String]
2177
+ #
2178
+ # @!attribute [rw] logical_resource_id
2179
+ # The logical name of the resource for which to return drift
2180
+ # information.
2181
+ # @return [String]
2182
+ #
2183
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DetectStackResourceDriftInput AWS API Documentation
2184
+ #
2185
+ class DetectStackResourceDriftInput < Struct.new(
2186
+ :stack_name,
2187
+ :logical_resource_id)
2188
+ include Aws::Structure
2189
+ end
2190
+
2191
+ # @!attribute [rw] stack_resource_drift
2192
+ # Information about whether the resource's actual configuration has
2193
+ # drifted from its expected template configuration, including actual
2194
+ # and expected property values and any differences detected.
2195
+ # @return [Types::StackResourceDrift]
2196
+ #
2197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DetectStackResourceDriftOutput AWS API Documentation
2198
+ #
2199
+ class DetectStackResourceDriftOutput < Struct.new(
2200
+ :stack_resource_drift)
2201
+ include Aws::Structure
2202
+ end
2203
+
1941
2204
  # The input for an EstimateTemplateCost action.
1942
2205
  #
1943
2206
  # @note When making an API call, you may pass EstimateTemplateCostInput
@@ -2968,6 +3231,76 @@ module Aws::CloudFormation
2968
3231
  include Aws::Structure
2969
3232
  end
2970
3233
 
3234
+ # Context information that enables AWS CloudFormation to uniquely
3235
+ # identify a resource. AWS CloudFormation uses context key-value pairs
3236
+ # in cases where a resource's logical and physical IDs are not enough
3237
+ # to uniquely identify that resource. Each context key-value pair
3238
+ # specifies a resource that contains the targeted resource.
3239
+ #
3240
+ # @!attribute [rw] key
3241
+ # The resource context key.
3242
+ # @return [String]
3243
+ #
3244
+ # @!attribute [rw] value
3245
+ # The resource context value.
3246
+ # @return [String]
3247
+ #
3248
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/PhysicalResourceIdContextKeyValuePair AWS API Documentation
3249
+ #
3250
+ class PhysicalResourceIdContextKeyValuePair < Struct.new(
3251
+ :key,
3252
+ :value)
3253
+ include Aws::Structure
3254
+ end
3255
+
3256
+ # Information about a resource property whose actual value differs from
3257
+ # its expected value, as defined in the stack template and any values
3258
+ # specified as template parameters. These will be present only for
3259
+ # resources whose `StackResourceDriftStatus` is `MODIFIED`. For more
3260
+ # information, see [Detecting Unregulated Configuration Changes to
3261
+ # Stacks and Resources][1].
3262
+ #
3263
+ #
3264
+ #
3265
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
3266
+ #
3267
+ # @!attribute [rw] property_path
3268
+ # The fully-qualified path to the resource property.
3269
+ # @return [String]
3270
+ #
3271
+ # @!attribute [rw] expected_value
3272
+ # The expected property value of the resource property, as defined in
3273
+ # the stack template and any values specified as template parameters.
3274
+ # @return [String]
3275
+ #
3276
+ # @!attribute [rw] actual_value
3277
+ # The actual property value of the resource property.
3278
+ # @return [String]
3279
+ #
3280
+ # @!attribute [rw] difference_type
3281
+ # The type of property difference.
3282
+ #
3283
+ # * `ADD`\: A value has been added to a resource property that is an
3284
+ # array or list data type.
3285
+ #
3286
+ # * `REMOVE`\: The property has been removed from the current resource
3287
+ # configuration.
3288
+ #
3289
+ # * `NOT_EQUAL`\: The current property value differs from its expected
3290
+ # value (as defined in the stack template and any values specified
3291
+ # as template parameters).
3292
+ # @return [String]
3293
+ #
3294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/PropertyDifference AWS API Documentation
3295
+ #
3296
+ class PropertyDifference < Struct.new(
3297
+ :property_path,
3298
+ :expected_value,
3299
+ :actual_value,
3300
+ :difference_type)
3301
+ include Aws::Structure
3302
+ end
3303
+
2971
3304
  # The `ResourceChange` structure describes the resource and the action
2972
3305
  # that AWS CloudFormation will perform on it if you execute this change
2973
3306
  # set.
@@ -3485,6 +3818,18 @@ module Aws::CloudFormation
3485
3818
  # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
3486
3819
  # @return [String]
3487
3820
  #
3821
+ # @!attribute [rw] drift_information
3822
+ # Information on whether a stack's actual configuration differs, or
3823
+ # has *drifted*, from it's expected configuration, as defined in the
3824
+ # stack template and any values specified as template parameters. For
3825
+ # more information, see [Detecting Unregulated Configuration Changes
3826
+ # to Stacks and Resources][1].
3827
+ #
3828
+ #
3829
+ #
3830
+ # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
3831
+ # @return [Types::StackDriftInformation]
3832
+ #
3488
3833
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/Stack AWS API Documentation
3489
3834
  #
3490
3835
  class Stack < Struct.new(
@@ -3508,7 +3853,82 @@ module Aws::CloudFormation
3508
3853
  :tags,
3509
3854
  :enable_termination_protection,
3510
3855
  :parent_id,
3511
- :root_id)
3856
+ :root_id,
3857
+ :drift_information)
3858
+ include Aws::Structure
3859
+ end
3860
+
3861
+ # Contains information about whether the stack's actual configuration
3862
+ # differs, or has *drifted*, from its expected configuration, as defined
3863
+ # in the stack template and any values specified as template parameters.
3864
+ # A stack is considered to have drifted if one or more of its resources
3865
+ # have drifted.
3866
+ #
3867
+ # @!attribute [rw] stack_drift_status
3868
+ # Status of the stack's actual configuration compared to its expected
3869
+ # template configuration.
3870
+ #
3871
+ # * `DRIFTED`\: The stack differs from its expected template
3872
+ # configuration. A stack is considered to have drifted if one or
3873
+ # more of its resources have drifted.
3874
+ #
3875
+ # * `NOT_CHECKED`\: AWS CloudFormation has not checked if the stack
3876
+ # differs from its expected template configuration.
3877
+ #
3878
+ # * `IN_SYNC`\: The stack's actual configuration matches its expected
3879
+ # template configuration.
3880
+ #
3881
+ # * `UNKNOWN`\: This value is reserved for future use.
3882
+ # @return [String]
3883
+ #
3884
+ # @!attribute [rw] last_check_timestamp
3885
+ # Most recent time when a drift detection operation was initiated on
3886
+ # the stack, or any of its individual resources that support drift
3887
+ # detection.
3888
+ # @return [Time]
3889
+ #
3890
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackDriftInformation AWS API Documentation
3891
+ #
3892
+ class StackDriftInformation < Struct.new(
3893
+ :stack_drift_status,
3894
+ :last_check_timestamp)
3895
+ include Aws::Structure
3896
+ end
3897
+
3898
+ # Contains information about whether the stack's actual configuration
3899
+ # differs, or has *drifted*, from its expected configuration, as defined
3900
+ # in the stack template and any values specified as template parameters.
3901
+ # A stack is considered to have drifted if one or more of its resources
3902
+ # have drifted.
3903
+ #
3904
+ # @!attribute [rw] stack_drift_status
3905
+ # Status of the stack's actual configuration compared to its expected
3906
+ # template configuration.
3907
+ #
3908
+ # * `DRIFTED`\: The stack differs from its expected template
3909
+ # configuration. A stack is considered to have drifted if one or
3910
+ # more of its resources have drifted.
3911
+ #
3912
+ # * `NOT_CHECKED`\: AWS CloudFormation has not checked if the stack
3913
+ # differs from its expected template configuration.
3914
+ #
3915
+ # * `IN_SYNC`\: The stack's actual configuration matches its expected
3916
+ # template configuration.
3917
+ #
3918
+ # * `UNKNOWN`\: This value is reserved for future use.
3919
+ # @return [String]
3920
+ #
3921
+ # @!attribute [rw] last_check_timestamp
3922
+ # Most recent time when a drift detection operation was initiated on
3923
+ # the stack, or any of its individual resources that support drift
3924
+ # detection.
3925
+ # @return [Time]
3926
+ #
3927
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackDriftInformationSummary AWS API Documentation
3928
+ #
3929
+ class StackDriftInformationSummary < Struct.new(
3930
+ :stack_drift_status,
3931
+ :last_check_timestamp)
3512
3932
  include Aws::Structure
3513
3933
  end
3514
3934
 
@@ -3777,6 +4197,18 @@ module Aws::CloudFormation
3777
4197
  # User defined description associated with the resource.
3778
4198
  # @return [String]
3779
4199
  #
4200
+ # @!attribute [rw] drift_information
4201
+ # Information about whether the resource's actual configuration
4202
+ # differs, or has *drifted*, from its expected configuration, as
4203
+ # defined in the stack template and any values specified as template
4204
+ # parameters. For more information, see [Detecting Unregulated
4205
+ # Configuration Changes to Stacks and Resources][1].
4206
+ #
4207
+ #
4208
+ #
4209
+ # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
4210
+ # @return [Types::StackResourceDriftInformation]
4211
+ #
3780
4212
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackResource AWS API Documentation
3781
4213
  #
3782
4214
  class StackResource < Struct.new(
@@ -3788,7 +4220,8 @@ module Aws::CloudFormation
3788
4220
  :timestamp,
3789
4221
  :resource_status,
3790
4222
  :resource_status_reason,
3791
- :description)
4223
+ :description,
4224
+ :drift_information)
3792
4225
  include Aws::Structure
3793
4226
  end
3794
4227
 
@@ -3846,6 +4279,18 @@ module Aws::CloudFormation
3846
4279
  # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html
3847
4280
  # @return [String]
3848
4281
  #
4282
+ # @!attribute [rw] drift_information
4283
+ # Information about whether the resource's actual configuration
4284
+ # differs, or has *drifted*, from its expected configuration, as
4285
+ # defined in the stack template and any values specified as template
4286
+ # parameters. For more information, see [Detecting Unregulated
4287
+ # Configuration Changes to Stacks and Resources][1].
4288
+ #
4289
+ #
4290
+ #
4291
+ # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
4292
+ # @return [Types::StackResourceDriftInformation]
4293
+ #
3849
4294
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackResourceDetail AWS API Documentation
3850
4295
  #
3851
4296
  class StackResourceDetail < Struct.new(
@@ -3858,7 +4303,203 @@ module Aws::CloudFormation
3858
4303
  :resource_status,
3859
4304
  :resource_status_reason,
3860
4305
  :description,
3861
- :metadata)
4306
+ :metadata,
4307
+ :drift_information)
4308
+ include Aws::Structure
4309
+ end
4310
+
4311
+ # Contains the drift information for a resource that has been checked
4312
+ # for drift. This includes actual and expected property values for
4313
+ # resources in which AWS CloudFormation has detected drift. Only
4314
+ # resource properties explicitly defined in the stack template are
4315
+ # checked for drift. For more information, see [Detecting Unregulated
4316
+ # Configuration Changes to Stacks and Resources][1].
4317
+ #
4318
+ # Resources that do not currently support drift detection cannot be
4319
+ # checked. For a list of resources that support drift detection, see
4320
+ # [Resources that Support Drift Detection][2].
4321
+ #
4322
+ # Use DetectStackResourceDrift to detect drift on individual resources,
4323
+ # or DetectStackDrift to detect drift on all resources in a given stack
4324
+ # that support drift detection.
4325
+ #
4326
+ #
4327
+ #
4328
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
4329
+ # [2]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html
4330
+ #
4331
+ # @!attribute [rw] stack_id
4332
+ # The ID of the stack.
4333
+ # @return [String]
4334
+ #
4335
+ # @!attribute [rw] logical_resource_id
4336
+ # The logical name of the resource specified in the template.
4337
+ # @return [String]
4338
+ #
4339
+ # @!attribute [rw] physical_resource_id
4340
+ # The name or unique identifier that corresponds to a physical
4341
+ # instance ID of a resource supported by AWS CloudFormation.
4342
+ # @return [String]
4343
+ #
4344
+ # @!attribute [rw] physical_resource_id_context
4345
+ # Context information that enables AWS CloudFormation to uniquely
4346
+ # identify a resource. AWS CloudFormation uses context key-value pairs
4347
+ # in cases where a resource's logical and physical IDs are not enough
4348
+ # to uniquely identify that resource. Each context key-value pair
4349
+ # specifies a unique resource that contains the targeted resource.
4350
+ # @return [Array<Types::PhysicalResourceIdContextKeyValuePair>]
4351
+ #
4352
+ # @!attribute [rw] resource_type
4353
+ # The type of the resource.
4354
+ # @return [String]
4355
+ #
4356
+ # @!attribute [rw] expected_properties
4357
+ # A JSON structure containing the expected property values of the
4358
+ # stack resource, as defined in the stack template and any values
4359
+ # specified as template parameters.
4360
+ #
4361
+ # For resources whose `StackResourceDriftStatus` is `DELETED`, this
4362
+ # structure will not be present.
4363
+ # @return [String]
4364
+ #
4365
+ # @!attribute [rw] actual_properties
4366
+ # A JSON structure containing the actual property values of the stack
4367
+ # resource.
4368
+ #
4369
+ # For resources whose `StackResourceDriftStatus` is `DELETED`, this
4370
+ # structure will not be present.
4371
+ # @return [String]
4372
+ #
4373
+ # @!attribute [rw] property_differences
4374
+ # A collection of the resource properties whose actual values differ
4375
+ # from their expected values. These will be present only for resources
4376
+ # whose `StackResourceDriftStatus` is `MODIFIED`.
4377
+ # @return [Array<Types::PropertyDifference>]
4378
+ #
4379
+ # @!attribute [rw] stack_resource_drift_status
4380
+ # Status of the resource's actual configuration compared to its
4381
+ # expected configuration
4382
+ #
4383
+ # * `DELETED`\: The resource differs from its expected template
4384
+ # configuration because the resource has been deleted.
4385
+ #
4386
+ # * `MODIFIED`\: One or more resource properties differ from their
4387
+ # expected values (as defined in the stack template and any values
4388
+ # specified as template parameters).
4389
+ #
4390
+ # * `IN_SYNC`\: The resources's actual configuration matches its
4391
+ # expected template configuration.
4392
+ #
4393
+ # * `NOT_CHECKED`\: AWS CloudFormation does not currently return this
4394
+ # value.
4395
+ # @return [String]
4396
+ #
4397
+ # @!attribute [rw] timestamp
4398
+ # Time at which AWS CloudFormation performed drift detection on the
4399
+ # stack resource.
4400
+ # @return [Time]
4401
+ #
4402
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackResourceDrift AWS API Documentation
4403
+ #
4404
+ class StackResourceDrift < Struct.new(
4405
+ :stack_id,
4406
+ :logical_resource_id,
4407
+ :physical_resource_id,
4408
+ :physical_resource_id_context,
4409
+ :resource_type,
4410
+ :expected_properties,
4411
+ :actual_properties,
4412
+ :property_differences,
4413
+ :stack_resource_drift_status,
4414
+ :timestamp)
4415
+ include Aws::Structure
4416
+ end
4417
+
4418
+ # Contains information about whether the resource's actual
4419
+ # configuration differs, or has *drifted*, from its expected
4420
+ # configuration.
4421
+ #
4422
+ # @!attribute [rw] stack_resource_drift_status
4423
+ # Status of the resource's actual configuration compared to its
4424
+ # expected configuration
4425
+ #
4426
+ # * `DELETED`\: The resource differs from its expected configuration
4427
+ # in that it has been deleted.
4428
+ #
4429
+ # * `MODIFIED`\: The resource differs from its expected configuration.
4430
+ #
4431
+ # * `NOT_CHECKED`\: AWS CloudFormation has not checked if the resource
4432
+ # differs from its expected configuration.
4433
+ #
4434
+ # Any resources that do not currently support drift detection have a
4435
+ # status of `NOT_CHECKED`. For more information, see [Resources that
4436
+ # Support Drift Detection][1].
4437
+ #
4438
+ # * `IN_SYNC`\: The resources's actual configuration matches its
4439
+ # expected configuration.
4440
+ #
4441
+ #
4442
+ #
4443
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html
4444
+ # @return [String]
4445
+ #
4446
+ # @!attribute [rw] last_check_timestamp
4447
+ # When AWS CloudFormation last checked if the resource had drifted
4448
+ # from its expected configuration.
4449
+ # @return [Time]
4450
+ #
4451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackResourceDriftInformation AWS API Documentation
4452
+ #
4453
+ class StackResourceDriftInformation < Struct.new(
4454
+ :stack_resource_drift_status,
4455
+ :last_check_timestamp)
4456
+ include Aws::Structure
4457
+ end
4458
+
4459
+ # Summarizes information about whether the resource's actual
4460
+ # configuration differs, or has *drifted*, from its expected
4461
+ # configuration.
4462
+ #
4463
+ # @!attribute [rw] stack_resource_drift_status
4464
+ # Status of the resource's actual configuration compared to its
4465
+ # expected configuration
4466
+ #
4467
+ # * `DELETED`\: The resource differs from its expected configuration
4468
+ # in that it has been deleted.
4469
+ #
4470
+ # * `MODIFIED`\: The resource differs from its expected configuration.
4471
+ #
4472
+ # * `NOT_CHECKED`\: AWS CloudFormation has not checked if the resource
4473
+ # differs from its expected configuration.
4474
+ #
4475
+ # Any resources that do not currently support drift detection have a
4476
+ # status of `NOT_CHECKED`. For more information, see [Resources that
4477
+ # Support Drift Detection][1]. If you performed an
4478
+ # ContinueUpdateRollback operation on a stack, any resources
4479
+ # included in `ResourcesToSkip` will also have a status of
4480
+ # `NOT_CHECKED`. For more information on skipping resources during
4481
+ # rollback operations, see [Continue Rolling Back an Update][2] in
4482
+ # the AWS CloudFormation User Guide.
4483
+ #
4484
+ # * `IN_SYNC`\: The resources's actual configuration matches its
4485
+ # expected configuration.
4486
+ #
4487
+ #
4488
+ #
4489
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html
4490
+ # [2]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-continueupdaterollback.html
4491
+ # @return [String]
4492
+ #
4493
+ # @!attribute [rw] last_check_timestamp
4494
+ # When AWS CloudFormation last checked if the resource had drifted
4495
+ # from its expected configuration.
4496
+ # @return [Time]
4497
+ #
4498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackResourceDriftInformationSummary AWS API Documentation
4499
+ #
4500
+ class StackResourceDriftInformationSummary < Struct.new(
4501
+ :stack_resource_drift_status,
4502
+ :last_check_timestamp)
3862
4503
  include Aws::Structure
3863
4504
  end
3864
4505
 
@@ -3894,6 +4535,18 @@ module Aws::CloudFormation
3894
4535
  # Success/failure message associated with the resource.
3895
4536
  # @return [String]
3896
4537
  #
4538
+ # @!attribute [rw] drift_information
4539
+ # Information about whether the resource's actual configuration
4540
+ # differs, or has *drifted*, from its expected configuration, as
4541
+ # defined in the stack template and any values specified as template
4542
+ # parameters. For more information, see [Detecting Unregulated
4543
+ # Configuration Changes to Stacks and Resources][1].
4544
+ #
4545
+ #
4546
+ #
4547
+ # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
4548
+ # @return [Types::StackResourceDriftInformationSummary]
4549
+ #
3897
4550
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackResourceSummary AWS API Documentation
3898
4551
  #
3899
4552
  class StackResourceSummary < Struct.new(
@@ -3902,7 +4555,8 @@ module Aws::CloudFormation
3902
4555
  :resource_type,
3903
4556
  :last_updated_timestamp,
3904
4557
  :resource_status,
3905
- :resource_status_reason)
4558
+ :resource_status_reason,
4559
+ :drift_information)
3906
4560
  include Aws::Structure
3907
4561
  end
3908
4562
 
@@ -4418,6 +5072,18 @@ module Aws::CloudFormation
4418
5072
  # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
4419
5073
  # @return [String]
4420
5074
  #
5075
+ # @!attribute [rw] drift_information
5076
+ # Summarizes information on whether a stack's actual configuration
5077
+ # differs, or has *drifted*, from it's expected configuration, as
5078
+ # defined in the stack template and any values specified as template
5079
+ # parameters. For more information, see [Detecting Unregulated
5080
+ # Configuration Changes to Stacks and Resources][1].
5081
+ #
5082
+ #
5083
+ #
5084
+ # [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
5085
+ # @return [Types::StackDriftInformationSummary]
5086
+ #
4421
5087
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackSummary AWS API Documentation
4422
5088
  #
4423
5089
  class StackSummary < Struct.new(
@@ -4430,7 +5096,8 @@ module Aws::CloudFormation
4430
5096
  :stack_status,
4431
5097
  :stack_status_reason,
4432
5098
  :parent_id,
4433
- :root_id)
5099
+ :root_id,
5100
+ :drift_information)
4434
5101
  include Aws::Structure
4435
5102
  end
4436
5103