aws-sdk-cloudformation 1.76.0 → 1.81.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.
@@ -23,6 +23,8 @@ module Aws::CloudFormation
23
23
  AccountLimitList = Shapes::ListShape.new(name: 'AccountLimitList')
24
24
  AccountList = Shapes::ListShape.new(name: 'AccountList')
25
25
  AccountsUrl = Shapes::StringShape.new(name: 'AccountsUrl')
26
+ ActivateOrganizationsAccessInput = Shapes::StructureShape.new(name: 'ActivateOrganizationsAccessInput')
27
+ ActivateOrganizationsAccessOutput = Shapes::StructureShape.new(name: 'ActivateOrganizationsAccessOutput')
26
28
  ActivateTypeInput = Shapes::StructureShape.new(name: 'ActivateTypeInput')
27
29
  ActivateTypeOutput = Shapes::StructureShape.new(name: 'ActivateTypeOutput')
28
30
  AllowedValue = Shapes::StringShape.new(name: 'AllowedValue')
@@ -81,6 +83,8 @@ module Aws::CloudFormation
81
83
  CreateStackSetOutput = Shapes::StructureShape.new(name: 'CreateStackSetOutput')
82
84
  CreatedButModifiedException = Shapes::StructureShape.new(name: 'CreatedButModifiedException')
83
85
  CreationTime = Shapes::TimestampShape.new(name: 'CreationTime')
86
+ DeactivateOrganizationsAccessInput = Shapes::StructureShape.new(name: 'DeactivateOrganizationsAccessInput')
87
+ DeactivateOrganizationsAccessOutput = Shapes::StructureShape.new(name: 'DeactivateOrganizationsAccessOutput')
84
88
  DeactivateTypeInput = Shapes::StructureShape.new(name: 'DeactivateTypeInput')
85
89
  DeactivateTypeOutput = Shapes::StructureShape.new(name: 'DeactivateTypeOutput')
86
90
  DeleteChangeSetInput = Shapes::StructureShape.new(name: 'DeleteChangeSetInput')
@@ -101,6 +105,8 @@ module Aws::CloudFormation
101
105
  DescribeChangeSetHooksOutput = Shapes::StructureShape.new(name: 'DescribeChangeSetHooksOutput')
102
106
  DescribeChangeSetInput = Shapes::StructureShape.new(name: 'DescribeChangeSetInput')
103
107
  DescribeChangeSetOutput = Shapes::StructureShape.new(name: 'DescribeChangeSetOutput')
108
+ DescribeOrganizationsAccessInput = Shapes::StructureShape.new(name: 'DescribeOrganizationsAccessInput')
109
+ DescribeOrganizationsAccessOutput = Shapes::StructureShape.new(name: 'DescribeOrganizationsAccessOutput')
104
110
  DescribePublisherInput = Shapes::StructureShape.new(name: 'DescribePublisherInput')
105
111
  DescribePublisherOutput = Shapes::StructureShape.new(name: 'DescribePublisherOutput')
106
112
  DescribeStackDriftDetectionStatusInput = Shapes::StructureShape.new(name: 'DescribeStackDriftDetectionStatusInput')
@@ -244,6 +250,7 @@ module Aws::CloudFormation
244
250
  OperationStatus = Shapes::StringShape.new(name: 'OperationStatus')
245
251
  OperationStatusCheckFailedException = Shapes::StructureShape.new(name: 'OperationStatusCheckFailedException')
246
252
  OptionalSecureUrl = Shapes::StringShape.new(name: 'OptionalSecureUrl')
253
+ OrganizationStatus = Shapes::StringShape.new(name: 'OrganizationStatus')
247
254
  OrganizationalUnitId = Shapes::StringShape.new(name: 'OrganizationalUnitId')
248
255
  OrganizationalUnitIdList = Shapes::ListShape.new(name: 'OrganizationalUnitIdList')
249
256
  Output = Shapes::StructureShape.new(name: 'Output')
@@ -491,6 +498,10 @@ module Aws::CloudFormation
491
498
 
492
499
  AccountList.member = Shapes::ShapeRef.new(shape: Account)
493
500
 
501
+ ActivateOrganizationsAccessInput.struct_class = Types::ActivateOrganizationsAccessInput
502
+
503
+ ActivateOrganizationsAccessOutput.struct_class = Types::ActivateOrganizationsAccessOutput
504
+
494
505
  ActivateTypeInput.add_member(:type, Shapes::ShapeRef.new(shape: ThirdPartyType, location_name: "Type"))
495
506
  ActivateTypeInput.add_member(:public_type_arn, Shapes::ShapeRef.new(shape: ThirdPartyTypeArn, location_name: "PublicTypeArn"))
496
507
  ActivateTypeInput.add_member(:publisher_id, Shapes::ShapeRef.new(shape: PublisherId, location_name: "PublisherId"))
@@ -670,6 +681,10 @@ module Aws::CloudFormation
670
681
 
671
682
  CreatedButModifiedException.struct_class = Types::CreatedButModifiedException
672
683
 
684
+ DeactivateOrganizationsAccessInput.struct_class = Types::DeactivateOrganizationsAccessInput
685
+
686
+ DeactivateOrganizationsAccessOutput.struct_class = Types::DeactivateOrganizationsAccessOutput
687
+
673
688
  DeactivateTypeInput.add_member(:type_name, Shapes::ShapeRef.new(shape: TypeName, location_name: "TypeName"))
674
689
  DeactivateTypeInput.add_member(:type, Shapes::ShapeRef.new(shape: ThirdPartyType, location_name: "Type"))
675
690
  DeactivateTypeInput.add_member(:arn, Shapes::ShapeRef.new(shape: PrivateTypeArn, location_name: "Arn"))
@@ -770,6 +785,12 @@ module Aws::CloudFormation
770
785
  DescribeChangeSetOutput.add_member(:root_change_set_id, Shapes::ShapeRef.new(shape: ChangeSetId, location_name: "RootChangeSetId"))
771
786
  DescribeChangeSetOutput.struct_class = Types::DescribeChangeSetOutput
772
787
 
788
+ DescribeOrganizationsAccessInput.add_member(:call_as, Shapes::ShapeRef.new(shape: CallAs, location_name: "CallAs"))
789
+ DescribeOrganizationsAccessInput.struct_class = Types::DescribeOrganizationsAccessInput
790
+
791
+ DescribeOrganizationsAccessOutput.add_member(:status, Shapes::ShapeRef.new(shape: OrganizationStatus, location_name: "Status"))
792
+ DescribeOrganizationsAccessOutput.struct_class = Types::DescribeOrganizationsAccessOutput
793
+
773
794
  DescribePublisherInput.add_member(:publisher_id, Shapes::ShapeRef.new(shape: PublisherId, location_name: "PublisherId"))
774
795
  DescribePublisherInput.struct_class = Types::DescribePublisherInput
775
796
 
@@ -1822,6 +1843,16 @@ module Aws::CloudFormation
1822
1843
  "xmlNamespace" => "http://cloudformation.amazonaws.com/doc/2010-05-15/",
1823
1844
  }
1824
1845
 
1846
+ api.add_operation(:activate_organizations_access, Seahorse::Model::Operation.new.tap do |o|
1847
+ o.name = "ActivateOrganizationsAccess"
1848
+ o.http_method = "POST"
1849
+ o.http_request_uri = "/"
1850
+ o.input = Shapes::ShapeRef.new(shape: ActivateOrganizationsAccessInput)
1851
+ o.output = Shapes::ShapeRef.new(shape: ActivateOrganizationsAccessOutput)
1852
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
1853
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotFoundException)
1854
+ end)
1855
+
1825
1856
  api.add_operation(:activate_type, Seahorse::Model::Operation.new.tap do |o|
1826
1857
  o.name = "ActivateType"
1827
1858
  o.http_method = "POST"
@@ -1908,6 +1939,16 @@ module Aws::CloudFormation
1908
1939
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1909
1940
  end)
1910
1941
 
1942
+ api.add_operation(:deactivate_organizations_access, Seahorse::Model::Operation.new.tap do |o|
1943
+ o.name = "DeactivateOrganizationsAccess"
1944
+ o.http_method = "POST"
1945
+ o.http_request_uri = "/"
1946
+ o.input = Shapes::ShapeRef.new(shape: DeactivateOrganizationsAccessInput)
1947
+ o.output = Shapes::ShapeRef.new(shape: DeactivateOrganizationsAccessOutput)
1948
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
1949
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotFoundException)
1950
+ end)
1951
+
1911
1952
  api.add_operation(:deactivate_type, Seahorse::Model::Operation.new.tap do |o|
1912
1953
  o.name = "DeactivateType"
1913
1954
  o.http_method = "POST"
@@ -2000,6 +2041,16 @@ module Aws::CloudFormation
2000
2041
  o.errors << Shapes::ShapeRef.new(shape: ChangeSetNotFoundException)
2001
2042
  end)
2002
2043
 
2044
+ api.add_operation(:describe_organizations_access, Seahorse::Model::Operation.new.tap do |o|
2045
+ o.name = "DescribeOrganizationsAccess"
2046
+ o.http_method = "POST"
2047
+ o.http_request_uri = "/"
2048
+ o.input = Shapes::ShapeRef.new(shape: DescribeOrganizationsAccessInput)
2049
+ o.output = Shapes::ShapeRef.new(shape: DescribeOrganizationsAccessOutput)
2050
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
2051
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotFoundException)
2052
+ end)
2053
+
2003
2054
  api.add_operation(:describe_publisher, Seahorse::Model::Operation.new.tap do |o|
2004
2055
  o.name = "DescribePublisher"
2005
2056
  o.http_method = "POST"
@@ -50,9 +50,6 @@ module Aws::CloudFormation
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
- if self[:region].nil?
54
- raise ArgumentError, "Missing required EndpointParameter: :region"
55
- end
56
53
  self[:use_dual_stack] = options[:use_dual_stack]
57
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
55
  if self[:use_dual_stack].nil?
@@ -14,45 +14,42 @@ module Aws::CloudFormation
14
14
  use_dual_stack = parameters.use_dual_stack
15
15
  use_fips = parameters.use_fips
16
16
  endpoint = parameters.endpoint
17
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
- if Aws::Endpoints::Matchers.set?(endpoint)
19
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
- raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
- end
22
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
- raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
- end
25
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
18
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
26
20
  end
27
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
- return Aws::Endpoints::Endpoint.new(url: "https://cloudformation-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
- end
31
- raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
21
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
32
23
  end
33
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
- if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
36
- return Aws::Endpoints::Endpoint.new(url: "https://cloudformation.#{region}.amazonaws.com", headers: {}, properties: {})
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://cloudformation-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
37
31
  end
38
- return Aws::Endpoints::Endpoint.new(url: "https://cloudformation-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
39
33
  end
40
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
41
- end
42
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
43
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
44
- return Aws::Endpoints::Endpoint.new(url: "https://cloudformation.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
37
+ return Aws::Endpoints::Endpoint.new(url: "https://cloudformation.#{region}.amazonaws.com", headers: {}, properties: {})
38
+ end
39
+ return Aws::Endpoints::Endpoint.new(url: "https://cloudformation-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
40
+ end
41
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
45
42
  end
46
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
47
- end
48
- if Aws::Endpoints::Matchers.string_equals?(region, "us-gov-east-1")
49
- return Aws::Endpoints::Endpoint.new(url: "https://cloudformation.us-gov-east-1.amazonaws.com", headers: {}, properties: {})
50
- end
51
- if Aws::Endpoints::Matchers.string_equals?(region, "us-gov-west-1")
52
- return Aws::Endpoints::Endpoint.new(url: "https://cloudformation.us-gov-west-1.amazonaws.com", headers: {}, properties: {})
43
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
44
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
45
+ return Aws::Endpoints::Endpoint.new(url: "https://cloudformation.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
46
+ end
47
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
48
+ end
49
+ return Aws::Endpoints::Endpoint.new(url: "https://cloudformation.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
53
50
  end
54
- return Aws::Endpoints::Endpoint.new(url: "https://cloudformation.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
55
51
  end
52
+ raise ArgumentError, "Invalid Configuration: Missing Region"
56
53
  raise ArgumentError, 'No endpoint could be resolved'
57
54
 
58
55
  end
@@ -9,8 +9,23 @@
9
9
 
10
10
 
11
11
  module Aws::CloudFormation
12
+ # @api private
12
13
  module Endpoints
13
14
 
15
+ class ActivateOrganizationsAccess
16
+ def self.build(context)
17
+ unless context.config.regional_endpoint
18
+ endpoint = context.config.endpoint.to_s
19
+ end
20
+ Aws::CloudFormation::EndpointParameters.new(
21
+ region: context.config.region,
22
+ use_dual_stack: context.config.use_dualstack_endpoint,
23
+ use_fips: context.config.use_fips_endpoint,
24
+ endpoint: endpoint,
25
+ )
26
+ end
27
+ end
28
+
14
29
  class ActivateType
15
30
  def self.build(context)
16
31
  unless context.config.regional_endpoint
@@ -123,6 +138,20 @@ module Aws::CloudFormation
123
138
  end
124
139
  end
125
140
 
141
+ class DeactivateOrganizationsAccess
142
+ def self.build(context)
143
+ unless context.config.regional_endpoint
144
+ endpoint = context.config.endpoint.to_s
145
+ end
146
+ Aws::CloudFormation::EndpointParameters.new(
147
+ region: context.config.region,
148
+ use_dual_stack: context.config.use_dualstack_endpoint,
149
+ use_fips: context.config.use_fips_endpoint,
150
+ endpoint: endpoint,
151
+ )
152
+ end
153
+ end
154
+
126
155
  class DeactivateType
127
156
  def self.build(context)
128
157
  unless context.config.regional_endpoint
@@ -249,6 +278,20 @@ module Aws::CloudFormation
249
278
  end
250
279
  end
251
280
 
281
+ class DescribeOrganizationsAccess
282
+ def self.build(context)
283
+ unless context.config.regional_endpoint
284
+ endpoint = context.config.endpoint.to_s
285
+ end
286
+ Aws::CloudFormation::EndpointParameters.new(
287
+ region: context.config.region,
288
+ use_dual_stack: context.config.use_dualstack_endpoint,
289
+ use_fips: context.config.use_fips_endpoint,
290
+ endpoint: endpoint,
291
+ )
292
+ end
293
+ end
294
+
252
295
  class DescribePublisher
253
296
  def self.build(context)
254
297
  unless context.config.regional_endpoint
@@ -275,7 +275,9 @@ module Aws::CloudFormation
275
275
  :retry
276
276
  end
277
277
  end
278
- Aws::Waiters::Waiter.new(options).wait({})
278
+ Aws::Plugins::UserAgent.feature('resource') do
279
+ Aws::Waiters::Waiter.new(options).wait({})
280
+ end
279
281
  end
280
282
 
281
283
  # @deprecated
@@ -56,6 +56,8 @@ module Aws::CloudFormation
56
56
 
57
57
  def parameters_for_operation(context)
58
58
  case context.operation_name
59
+ when :activate_organizations_access
60
+ Aws::CloudFormation::Endpoints::ActivateOrganizationsAccess.build(context)
59
61
  when :activate_type
60
62
  Aws::CloudFormation::Endpoints::ActivateType.build(context)
61
63
  when :batch_describe_type_configurations
@@ -72,6 +74,8 @@ module Aws::CloudFormation
72
74
  Aws::CloudFormation::Endpoints::CreateStackInstances.build(context)
73
75
  when :create_stack_set
74
76
  Aws::CloudFormation::Endpoints::CreateStackSet.build(context)
77
+ when :deactivate_organizations_access
78
+ Aws::CloudFormation::Endpoints::DeactivateOrganizationsAccess.build(context)
75
79
  when :deactivate_type
76
80
  Aws::CloudFormation::Endpoints::DeactivateType.build(context)
77
81
  when :delete_change_set
@@ -90,6 +94,8 @@ module Aws::CloudFormation
90
94
  Aws::CloudFormation::Endpoints::DescribeChangeSet.build(context)
91
95
  when :describe_change_set_hooks
92
96
  Aws::CloudFormation::Endpoints::DescribeChangeSetHooks.build(context)
97
+ when :describe_organizations_access
98
+ Aws::CloudFormation::Endpoints::DescribeOrganizationsAccess.build(context)
93
99
  when :describe_publisher
94
100
  Aws::CloudFormation::Endpoints::DescribePublisher.build(context)
95
101
  when :describe_stack_drift_detection_status
@@ -317,7 +317,9 @@ module Aws::CloudFormation
317
317
  # [2]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
318
318
  # @return [Stack]
319
319
  def create_stack(options = {})
320
- @client.create_stack(options)
320
+ Aws::Plugins::UserAgent.feature('resource') do
321
+ @client.create_stack(options)
322
+ end
321
323
  Stack.new(
322
324
  name: options[:stack_name],
323
325
  client: @client
@@ -351,6 +353,21 @@ module Aws::CloudFormation
351
353
  # })
352
354
  # @param [Hash] options ({})
353
355
  # @option options [String] :stack_name
356
+ # <note markdown="1"> If you don't pass a parameter to `StackName`, the API returns a
357
+ # response that describes all resources in the account. This requires
358
+ # `ListStacks` and `DescribeStacks` permissions.
359
+ #
360
+ # The IAM policy below can be added to IAM policies when you want to
361
+ # limit resource-level permissions and avoid returning a response when
362
+ # no parameter is sent in the request:
363
+ #
364
+ # \\\{ "Version": "2012-10-17", "Statement": \[\\\{ "Effect":
365
+ # "Deny", "Action": "cloudformation:DescribeStacks",
366
+ # "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" \\}\]
367
+ # \\}
368
+ #
369
+ # </note>
370
+ #
354
371
  # The name or the unique stack ID that's associated with the stack,
355
372
  # which aren't always interchangeable:
356
373
  #
@@ -363,7 +380,9 @@ module Aws::CloudFormation
363
380
  # @return [Stack::Collection]
364
381
  def stacks(options = {})
365
382
  batches = Enumerator.new do |y|
366
- resp = @client.describe_stacks(options)
383
+ resp = Aws::Plugins::UserAgent.feature('resource') do
384
+ @client.describe_stacks(options)
385
+ end
367
386
  resp.each_page do |page|
368
387
  batch = []
369
388
  page.data.stacks.each do |s|
@@ -100,9 +100,9 @@ module Aws::CloudFormation
100
100
 
101
101
  # Boolean to enable or disable rollback on stack creation failures:
102
102
  #
103
- # * `true`\: disable rollback.
103
+ # * `true`: disable rollback.
104
104
  #
105
- # * `false`\: enable rollback.
105
+ # * `false`: enable rollback.
106
106
  # @return [Boolean]
107
107
  def disable_rollback
108
108
  data[:disable_rollback]
@@ -195,7 +195,7 @@ module Aws::CloudFormation
195
195
  end
196
196
 
197
197
  # Information about whether a stack's actual configuration differs, or
198
- # has *drifted*, from it's expected configuration, as defined in the
198
+ # has *drifted*, from its expected configuration, as defined in the
199
199
  # stack template and any values specified as template parameters. For
200
200
  # more information, see [Detecting Unregulated Configuration Changes to
201
201
  # Stacks and Resources][1].
@@ -222,7 +222,9 @@ module Aws::CloudFormation
222
222
  #
223
223
  # @return [self]
224
224
  def load
225
- resp = @client.describe_stacks(stack_name: @name)
225
+ resp = Aws::Plugins::UserAgent.feature('resource') do
226
+ @client.describe_stacks(stack_name: @name)
227
+ end
226
228
  @data = resp.stacks[0]
227
229
  self
228
230
  end
@@ -267,7 +269,9 @@ module Aws::CloudFormation
267
269
  options, params = separate_params_and_options(options)
268
270
  waiter = Waiters::StackExists.new(options)
269
271
  yield_waiter_and_warn(waiter, &block) if block_given?
270
- waiter.wait(params.merge(stack_name: @name))
272
+ Aws::Plugins::UserAgent.feature('resource') do
273
+ waiter.wait(params.merge(stack_name: @name))
274
+ end
271
275
  Stack.new({
272
276
  name: @name,
273
277
  client: @client
@@ -368,7 +372,9 @@ module Aws::CloudFormation
368
372
  :retry
369
373
  end
370
374
  end
371
- Aws::Waiters::Waiter.new(options).wait({})
375
+ Aws::Plugins::UserAgent.feature('resource') do
376
+ Aws::Waiters::Waiter.new(options).wait({})
377
+ end
372
378
  end
373
379
 
374
380
  # @!group Actions
@@ -388,7 +394,9 @@ module Aws::CloudFormation
388
394
  # @return [EmptyStructure]
389
395
  def cancel_update(options = {})
390
396
  options = options.merge(stack_name: @name)
391
- resp = @client.cancel_update_stack(options)
397
+ resp = Aws::Plugins::UserAgent.feature('resource') do
398
+ @client.cancel_update_stack(options)
399
+ end
392
400
  resp.data
393
401
  end
394
402
 
@@ -665,7 +673,9 @@ module Aws::CloudFormation
665
673
  # @return [Types::CreateStackOutput]
666
674
  def create(options = {})
667
675
  options = options.merge(stack_name: @name)
668
- resp = @client.create_stack(options)
676
+ resp = Aws::Plugins::UserAgent.feature('resource') do
677
+ @client.create_stack(options)
678
+ end
669
679
  resp.data
670
680
  end
671
681
 
@@ -718,7 +728,9 @@ module Aws::CloudFormation
718
728
  # @return [EmptyStructure]
719
729
  def delete(options = {})
720
730
  options = options.merge(stack_name: @name)
721
- resp = @client.delete_stack(options)
731
+ resp = Aws::Plugins::UserAgent.feature('resource') do
732
+ @client.delete_stack(options)
733
+ end
722
734
  resp.data
723
735
  end
724
736
 
@@ -1000,7 +1012,9 @@ module Aws::CloudFormation
1000
1012
  # @return [Types::UpdateStackOutput]
1001
1013
  def update(options = {})
1002
1014
  options = options.merge(stack_name: @name)
1003
- resp = @client.update_stack(options)
1015
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1016
+ @client.update_stack(options)
1017
+ end
1004
1018
  resp.data
1005
1019
  end
1006
1020
 
@@ -1014,7 +1028,9 @@ module Aws::CloudFormation
1014
1028
  def events(options = {})
1015
1029
  batches = Enumerator.new do |y|
1016
1030
  options = options.merge(stack_name: @name)
1017
- resp = @client.describe_stack_events(options)
1031
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1032
+ @client.describe_stack_events(options)
1033
+ end
1018
1034
  resp.each_page do |page|
1019
1035
  batch = []
1020
1036
  page.data.stack_events.each do |s|
@@ -1048,7 +1064,9 @@ module Aws::CloudFormation
1048
1064
  def resource_summaries(options = {})
1049
1065
  batches = Enumerator.new do |y|
1050
1066
  options = options.merge(stack_name: @name)
1051
- resp = @client.list_stack_resources(options)
1067
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1068
+ @client.list_stack_resources(options)
1069
+ end
1052
1070
  resp.each_page do |page|
1053
1071
  batch = []
1054
1072
  page.data.stack_resource_summaries.each do |s|
@@ -139,10 +139,12 @@ module Aws::CloudFormation
139
139
  #
140
140
  # @return [self]
141
141
  def load
142
- resp = @client.describe_stack_resource(
142
+ resp = Aws::Plugins::UserAgent.feature('resource') do
143
+ @client.describe_stack_resource(
143
144
  logical_resource_id: @logical_id,
144
145
  stack_name: @stack_name
145
146
  )
147
+ end
146
148
  @data = resp.stack_resource_detail
147
149
  self
148
150
  end
@@ -257,7 +259,9 @@ module Aws::CloudFormation
257
259
  :retry
258
260
  end
259
261
  end
260
- Aws::Waiters::Waiter.new(options).wait({})
262
+ Aws::Plugins::UserAgent.feature('resource') do
263
+ Aws::Waiters::Waiter.new(options).wait({})
264
+ end
261
265
  end
262
266
 
263
267
  # @!group Associations
@@ -225,7 +225,9 @@ module Aws::CloudFormation
225
225
  :retry
226
226
  end
227
227
  end
228
- Aws::Waiters::Waiter.new(options).wait({})
228
+ Aws::Plugins::UserAgent.feature('resource') do
229
+ Aws::Waiters::Waiter.new(options).wait({})
230
+ end
229
231
  end
230
232
 
231
233
  # @!group Associations