aws-sdk-cloudformation 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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