aws-sdk-cloudformation 1.76.0 → 1.81.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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