aws-sdk-cloudformation 1.52.0 → 1.53.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 971cca68253ba02c30c86c18246529a0b640ea8710308526355b1d4e787d91a8
4
- data.tar.gz: cdefa6548d2916be01a9c402ddf3d7a731e2bff2467e900b95f70200e2b368bb
3
+ metadata.gz: 4c783a8c161abb59320721664af11592a924a8ad947e4f37d40808d4fea53f49
4
+ data.tar.gz: cb4aeb16b7ad4e99d1a80ec11f1b72eb53e8300076ded8f990d3edd5210e8c2e
5
5
  SHA512:
6
- metadata.gz: a04a675fb859f90dce594e9b40a4c5f276ce4893852b6342825753158ee359ee98d7bf361d4ffda0b1a39e774ed931e1a37d7810b49e04037501134eb8307a41
7
- data.tar.gz: 8090c2d4aef986627c2ef804413b0b6f59a356f22afeae98c7cbb85502bfeee654777aef2c6045b40da25eae8ca85fb9b9618184f21d67aa5c026d7aef6cdaff
6
+ metadata.gz: c07bb4a2f0cc0be46eb9b6f2204af5a5b39cedbc94743cb7d84ab22a17fabbfa0dfae4d839aa7a2c406d67819438bf253723963842eaf2971e997adbf2c2b425
7
+ data.tar.gz: 62074ede85d71cdc0f03e269c72e46475e786164847d613c177222015d7b351c5668062a95ba3129015443659c04c29290d000aea230a8e022e4cfe7c97eae5a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.53.0 (2021-06-21)
5
+ ------------------
6
+
7
+ * Feature - CloudFormation registry service now supports 3rd party public type sharing
8
+
4
9
  1.52.0 (2021-04-28)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.52.0
1
+ 1.53.0
@@ -33,7 +33,7 @@ require_relative 'aws-sdk-cloudformation/customizations'
33
33
  # structure.
34
34
  #
35
35
  # cloud_formation = Aws::CloudFormation::Client.new
36
- # resp = cloud_formation.cancel_update_stack(params)
36
+ # resp = cloud_formation.activate_type(params)
37
37
  #
38
38
  # See {Client} for more information.
39
39
  #
@@ -53,6 +53,6 @@ require_relative 'aws-sdk-cloudformation/customizations'
53
53
  # @!group service
54
54
  module Aws::CloudFormation
55
55
 
56
- GEM_VERSION = '1.52.0'
56
+ GEM_VERSION = '1.53.0'
57
57
 
58
58
  end
@@ -327,6 +327,193 @@ module Aws::CloudFormation
327
327
 
328
328
  # @!group API Operations
329
329
 
330
+ # Activates a public third-party extension, making it available for use
331
+ # in stack templates. For more information, see [Using public
332
+ # extensions][1] in the *CloudFormation User Guide*.
333
+ #
334
+ # Once you have activated a public third-party extension in your account
335
+ # and region, use
336
+ # [SetTypeConfiguration](AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html)
337
+ # to specify configuration properties for the extension. For more
338
+ # information, see [Configuring extensions at the account level][2] in
339
+ # the *CloudFormation User Guide*.
340
+ #
341
+ #
342
+ #
343
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html
344
+ # [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration
345
+ #
346
+ # @option params [String] :type
347
+ # The extension type.
348
+ #
349
+ # Conditional: You must specify `PublicTypeArn`, or `TypeName`, `Type`,
350
+ # and `PublisherId`.
351
+ #
352
+ # @option params [String] :public_type_arn
353
+ # The Amazon Resource Number (ARN) of the public extension.
354
+ #
355
+ # Conditional: You must specify `PublicTypeArn`, or `TypeName`, `Type`,
356
+ # and `PublisherId`.
357
+ #
358
+ # @option params [String] :publisher_id
359
+ # The ID of the extension publisher.
360
+ #
361
+ # Conditional: You must specify `PublicTypeArn`, or `TypeName`, `Type`,
362
+ # and `PublisherId`.
363
+ #
364
+ # @option params [String] :type_name
365
+ # The name of the extension.
366
+ #
367
+ # Conditional: You must specify `PublicTypeArn`, or `TypeName`, `Type`,
368
+ # and `PublisherId`.
369
+ #
370
+ # @option params [String] :type_name_alias
371
+ # An alias to assign to the public extension, in this account and
372
+ # region. If you specify an alias for the extension, CloudFormation
373
+ # treats the alias as the extension type name within this account and
374
+ # region. You must use the alias to refer to the extension in your
375
+ # templates, API calls, and CloudFormation console.
376
+ #
377
+ # An extension alias must be unique within a given account and region.
378
+ # You can activate the same public resource multiple times in the same
379
+ # account and region, using different type name aliases.
380
+ #
381
+ # @option params [Boolean] :auto_update
382
+ # Whether to automatically update the extension in this account and
383
+ # region when a new *minor* version is published by the extension
384
+ # publisher. Major versions released by the publisher must be manually
385
+ # updated.
386
+ #
387
+ # The default is `true`.
388
+ #
389
+ # @option params [Types::LoggingConfig] :logging_config
390
+ # Contains logging configuration information for an extension.
391
+ #
392
+ # @option params [String] :execution_role_arn
393
+ # The name of the IAM execution role to use to activate the extension.
394
+ #
395
+ # @option params [String] :version_bump
396
+ # Manually updates a previously-activated type to a new major or minor
397
+ # version, if available. You can also use this parameter to update the
398
+ # value of `AutoUpdate`.
399
+ #
400
+ # * `MAJOR`\: CloudFormation updates the extension to the newest major
401
+ # version, if one is available.
402
+ #
403
+ # * `MINOR`\: CloudFormation updates the extension to the newest minor
404
+ # version, if one is available.
405
+ #
406
+ # @option params [Integer] :major_version
407
+ # The major version of this extension you want to activate, if multiple
408
+ # major versions are available. The default is the latest major version.
409
+ # CloudFormation uses the latest available *minor* version of the major
410
+ # version selected.
411
+ #
412
+ # You can specify `MajorVersion` or `VersionBump`, but not both.
413
+ #
414
+ # @return [Types::ActivateTypeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
415
+ #
416
+ # * {Types::ActivateTypeOutput#arn #arn} => String
417
+ #
418
+ # @example Request syntax with placeholder values
419
+ #
420
+ # resp = client.activate_type({
421
+ # type: "RESOURCE", # accepts RESOURCE, MODULE
422
+ # public_type_arn: "ThirdPartyTypeArn",
423
+ # publisher_id: "PublisherId",
424
+ # type_name: "TypeName",
425
+ # type_name_alias: "TypeName",
426
+ # auto_update: false,
427
+ # logging_config: {
428
+ # log_role_arn: "RoleArn", # required
429
+ # log_group_name: "LogGroupName", # required
430
+ # },
431
+ # execution_role_arn: "RoleArn",
432
+ # version_bump: "MAJOR", # accepts MAJOR, MINOR
433
+ # major_version: 1,
434
+ # })
435
+ #
436
+ # @example Response structure
437
+ #
438
+ # resp.arn #=> String
439
+ #
440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ActivateType AWS API Documentation
441
+ #
442
+ # @overload activate_type(params = {})
443
+ # @param [Hash] params ({})
444
+ def activate_type(params = {}, options = {})
445
+ req = build_request(:activate_type, params)
446
+ req.send_request(options)
447
+ end
448
+
449
+ # Returns configuration data for the specified CloudFormation
450
+ # extensions, from the CloudFormation registry for the account and
451
+ # region.
452
+ #
453
+ # For more information, see [Configuring extensions at the account
454
+ # level][1] in the *CloudFormation User Guide*.
455
+ #
456
+ #
457
+ #
458
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration
459
+ #
460
+ # @option params [required, Array<Types::TypeConfigurationIdentifier>] :type_configuration_identifiers
461
+ # The list of identifiers for the desired extension configurations.
462
+ #
463
+ # @return [Types::BatchDescribeTypeConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
464
+ #
465
+ # * {Types::BatchDescribeTypeConfigurationsOutput#errors #errors} => Array&lt;Types::BatchDescribeTypeConfigurationsError&gt;
466
+ # * {Types::BatchDescribeTypeConfigurationsOutput#unprocessed_type_configurations #unprocessed_type_configurations} => Array&lt;Types::TypeConfigurationIdentifier&gt;
467
+ # * {Types::BatchDescribeTypeConfigurationsOutput#type_configurations #type_configurations} => Array&lt;Types::TypeConfigurationDetails&gt;
468
+ #
469
+ # @example Request syntax with placeholder values
470
+ #
471
+ # resp = client.batch_describe_type_configurations({
472
+ # type_configuration_identifiers: [ # required
473
+ # {
474
+ # type_arn: "TypeArn",
475
+ # type_configuration_alias: "TypeConfigurationAlias",
476
+ # type_configuration_arn: "TypeConfigurationArn",
477
+ # type: "RESOURCE", # accepts RESOURCE, MODULE
478
+ # type_name: "TypeName",
479
+ # },
480
+ # ],
481
+ # })
482
+ #
483
+ # @example Response structure
484
+ #
485
+ # resp.errors #=> Array
486
+ # resp.errors[0].error_code #=> String
487
+ # resp.errors[0].error_message #=> String
488
+ # resp.errors[0].type_configuration_identifier.type_arn #=> String
489
+ # resp.errors[0].type_configuration_identifier.type_configuration_alias #=> String
490
+ # resp.errors[0].type_configuration_identifier.type_configuration_arn #=> String
491
+ # resp.errors[0].type_configuration_identifier.type #=> String, one of "RESOURCE", "MODULE"
492
+ # resp.errors[0].type_configuration_identifier.type_name #=> String
493
+ # resp.unprocessed_type_configurations #=> Array
494
+ # resp.unprocessed_type_configurations[0].type_arn #=> String
495
+ # resp.unprocessed_type_configurations[0].type_configuration_alias #=> String
496
+ # resp.unprocessed_type_configurations[0].type_configuration_arn #=> String
497
+ # resp.unprocessed_type_configurations[0].type #=> String, one of "RESOURCE", "MODULE"
498
+ # resp.unprocessed_type_configurations[0].type_name #=> String
499
+ # resp.type_configurations #=> Array
500
+ # resp.type_configurations[0].arn #=> String
501
+ # resp.type_configurations[0].alias #=> String
502
+ # resp.type_configurations[0].configuration #=> String
503
+ # resp.type_configurations[0].last_updated #=> Time
504
+ # resp.type_configurations[0].type_arn #=> String
505
+ # resp.type_configurations[0].type_name #=> String
506
+ # resp.type_configurations[0].is_default_configuration #=> Boolean
507
+ #
508
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/BatchDescribeTypeConfigurations AWS API Documentation
509
+ #
510
+ # @overload batch_describe_type_configurations(params = {})
511
+ # @param [Hash] params ({})
512
+ def batch_describe_type_configurations(params = {}, options = {})
513
+ req = build_request(:batch_describe_type_configurations, params)
514
+ req.send_request(options)
515
+ end
516
+
330
517
  # Cancels an update on the specified stack. If the call completes
331
518
  # successfully, the stack rolls back the update and reverts to the
332
519
  # previous stack configuration.
@@ -1531,6 +1718,52 @@ module Aws::CloudFormation
1531
1718
  req.send_request(options)
1532
1719
  end
1533
1720
 
1721
+ # Deactivates a public extension that was previously activated in this
1722
+ # account and region.
1723
+ #
1724
+ # Once deactivated, an extension cannot be used in any CloudFormation
1725
+ # operation. This includes stack update operations where the stack
1726
+ # template includes the extension, even if no updates are being made to
1727
+ # the extension. In addition, deactivated extensions are not
1728
+ # automatically updated if a new version of the extension is released.
1729
+ #
1730
+ # @option params [String] :type_name
1731
+ # The type name of the extension, in this account and region. If you
1732
+ # specified a type name alias when enabling the extension, use the type
1733
+ # name alias.
1734
+ #
1735
+ # Conditional: You must specify either `Arn`, or `TypeName` and `Type`.
1736
+ #
1737
+ # @option params [String] :type
1738
+ # The extension type.
1739
+ #
1740
+ # Conditional: You must specify either `Arn`, or `TypeName` and `Type`.
1741
+ #
1742
+ # @option params [String] :arn
1743
+ # The Amazon Resource Name (ARN) for the extension, in this account and
1744
+ # region.
1745
+ #
1746
+ # Conditional: You must specify either `Arn`, or `TypeName` and `Type`.
1747
+ #
1748
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1749
+ #
1750
+ # @example Request syntax with placeholder values
1751
+ #
1752
+ # resp = client.deactivate_type({
1753
+ # type_name: "TypeName",
1754
+ # type: "RESOURCE", # accepts RESOURCE, MODULE
1755
+ # arn: "PrivateTypeArn",
1756
+ # })
1757
+ #
1758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeactivateType AWS API Documentation
1759
+ #
1760
+ # @overload deactivate_type(params = {})
1761
+ # @param [Hash] params ({})
1762
+ def deactivate_type(params = {}, options = {})
1763
+ req = build_request(:deactivate_type, params)
1764
+ req.send_request(options)
1765
+ end
1766
+
1534
1767
  # Deletes the specified change set. Deleting change sets ensures that no
1535
1768
  # one executes the wrong change set.
1536
1769
  #
@@ -2021,6 +2254,60 @@ module Aws::CloudFormation
2021
2254
  req.send_request(options)
2022
2255
  end
2023
2256
 
2257
+ # Returns information about a CloudFormation extension publisher.
2258
+ #
2259
+ # If you do not supply a `PublisherId`, and you have registered as an
2260
+ # extension publisher, `DescribePublisher` returns information about
2261
+ # your own publisher account.
2262
+ #
2263
+ # For more information on registering as a publisher, see:
2264
+ #
2265
+ # * [RegisterPublisher][1]
2266
+ #
2267
+ # * [Publishing extensions to make them available for public use][2] in
2268
+ # the *CloudFormation CLI User Guide*
2269
+ #
2270
+ #
2271
+ #
2272
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterPublisher.html
2273
+ # [2]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html
2274
+ #
2275
+ # @option params [String] :publisher_id
2276
+ # The ID of the extension publisher.
2277
+ #
2278
+ # If you do not supply a `PublisherId`, and you have registered as an
2279
+ # extension publisher, `DescribePublisher` returns information about
2280
+ # your own publisher account.
2281
+ #
2282
+ # @return [Types::DescribePublisherOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2283
+ #
2284
+ # * {Types::DescribePublisherOutput#publisher_id #publisher_id} => String
2285
+ # * {Types::DescribePublisherOutput#publisher_status #publisher_status} => String
2286
+ # * {Types::DescribePublisherOutput#identity_provider #identity_provider} => String
2287
+ # * {Types::DescribePublisherOutput#publisher_profile #publisher_profile} => String
2288
+ #
2289
+ # @example Request syntax with placeholder values
2290
+ #
2291
+ # resp = client.describe_publisher({
2292
+ # publisher_id: "PublisherId",
2293
+ # })
2294
+ #
2295
+ # @example Response structure
2296
+ #
2297
+ # resp.publisher_id #=> String
2298
+ # resp.publisher_status #=> String, one of "VERIFIED", "UNVERIFIED"
2299
+ # resp.identity_provider #=> String, one of "AWS_Marketplace", "GitHub", "Bitbucket"
2300
+ # resp.publisher_profile #=> String
2301
+ #
2302
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribePublisher AWS API Documentation
2303
+ #
2304
+ # @overload describe_publisher(params = {})
2305
+ # @param [Hash] params ({})
2306
+ def describe_publisher(params = {}, options = {})
2307
+ req = build_request(:describe_publisher, params)
2308
+ req.send_request(options)
2309
+ end
2310
+
2024
2311
  # Returns information about a stack drift detection operation. A stack
2025
2312
  # drift detection operation detects whether a stack's actual
2026
2313
  # configuration differs, or has *drifted*, from it's expected
@@ -2777,6 +3064,14 @@ module Aws::CloudFormation
2777
3064
  # that specific extension version. Otherwise, it returns information
2778
3065
  # about the default extension version.
2779
3066
  #
3067
+ # @option params [String] :publisher_id
3068
+ # The publisher ID of the extension publisher.
3069
+ #
3070
+ # Extensions provided by Amazon are not assigned a publisher ID.
3071
+ #
3072
+ # @option params [String] :public_version_number
3073
+ # The version number of a public third-party extension.
3074
+ #
2780
3075
  # @return [Types::DescribeTypeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2781
3076
  #
2782
3077
  # * {Types::DescribeTypeOutput#arn #arn} => String
@@ -2784,17 +3079,28 @@ module Aws::CloudFormation
2784
3079
  # * {Types::DescribeTypeOutput#type_name #type_name} => String
2785
3080
  # * {Types::DescribeTypeOutput#default_version_id #default_version_id} => String
2786
3081
  # * {Types::DescribeTypeOutput#is_default_version #is_default_version} => Boolean
3082
+ # * {Types::DescribeTypeOutput#type_tests_status #type_tests_status} => String
3083
+ # * {Types::DescribeTypeOutput#type_tests_status_description #type_tests_status_description} => String
2787
3084
  # * {Types::DescribeTypeOutput#description #description} => String
2788
3085
  # * {Types::DescribeTypeOutput#schema #schema} => String
2789
3086
  # * {Types::DescribeTypeOutput#provisioning_type #provisioning_type} => String
2790
3087
  # * {Types::DescribeTypeOutput#deprecated_status #deprecated_status} => String
2791
3088
  # * {Types::DescribeTypeOutput#logging_config #logging_config} => Types::LoggingConfig
3089
+ # * {Types::DescribeTypeOutput#required_activated_types #required_activated_types} => Array&lt;Types::RequiredActivatedType&gt;
2792
3090
  # * {Types::DescribeTypeOutput#execution_role_arn #execution_role_arn} => String
2793
3091
  # * {Types::DescribeTypeOutput#visibility #visibility} => String
2794
3092
  # * {Types::DescribeTypeOutput#source_url #source_url} => String
2795
3093
  # * {Types::DescribeTypeOutput#documentation_url #documentation_url} => String
2796
3094
  # * {Types::DescribeTypeOutput#last_updated #last_updated} => Time
2797
3095
  # * {Types::DescribeTypeOutput#time_created #time_created} => Time
3096
+ # * {Types::DescribeTypeOutput#configuration_schema #configuration_schema} => String
3097
+ # * {Types::DescribeTypeOutput#publisher_id #publisher_id} => String
3098
+ # * {Types::DescribeTypeOutput#original_type_name #original_type_name} => String
3099
+ # * {Types::DescribeTypeOutput#original_type_arn #original_type_arn} => String
3100
+ # * {Types::DescribeTypeOutput#public_version_number #public_version_number} => String
3101
+ # * {Types::DescribeTypeOutput#latest_public_version #latest_public_version} => String
3102
+ # * {Types::DescribeTypeOutput#is_activated #is_activated} => Boolean
3103
+ # * {Types::DescribeTypeOutput#auto_update #auto_update} => Boolean
2798
3104
  #
2799
3105
  # @example Request syntax with placeholder values
2800
3106
  #
@@ -2803,6 +3109,8 @@ module Aws::CloudFormation
2803
3109
  # type_name: "TypeName",
2804
3110
  # arn: "TypeArn",
2805
3111
  # version_id: "TypeVersionId",
3112
+ # publisher_id: "PublisherId",
3113
+ # public_version_number: "PublicVersionNumber",
2806
3114
  # })
2807
3115
  #
2808
3116
  # @example Response structure
@@ -2812,18 +3120,34 @@ module Aws::CloudFormation
2812
3120
  # resp.type_name #=> String
2813
3121
  # resp.default_version_id #=> String
2814
3122
  # resp.is_default_version #=> Boolean
3123
+ # resp.type_tests_status #=> String, one of "PASSED", "FAILED", "IN_PROGRESS", "NOT_TESTED"
3124
+ # resp.type_tests_status_description #=> String
2815
3125
  # resp.description #=> String
2816
3126
  # resp.schema #=> String
2817
3127
  # resp.provisioning_type #=> String, one of "NON_PROVISIONABLE", "IMMUTABLE", "FULLY_MUTABLE"
2818
3128
  # resp.deprecated_status #=> String, one of "LIVE", "DEPRECATED"
2819
3129
  # resp.logging_config.log_role_arn #=> String
2820
3130
  # resp.logging_config.log_group_name #=> String
3131
+ # resp.required_activated_types #=> Array
3132
+ # resp.required_activated_types[0].type_name_alias #=> String
3133
+ # resp.required_activated_types[0].original_type_name #=> String
3134
+ # resp.required_activated_types[0].publisher_id #=> String
3135
+ # resp.required_activated_types[0].supported_major_versions #=> Array
3136
+ # resp.required_activated_types[0].supported_major_versions[0] #=> Integer
2821
3137
  # resp.execution_role_arn #=> String
2822
3138
  # resp.visibility #=> String, one of "PUBLIC", "PRIVATE"
2823
3139
  # resp.source_url #=> String
2824
3140
  # resp.documentation_url #=> String
2825
3141
  # resp.last_updated #=> Time
2826
3142
  # resp.time_created #=> Time
3143
+ # resp.configuration_schema #=> String
3144
+ # resp.publisher_id #=> String
3145
+ # resp.original_type_name #=> String
3146
+ # resp.original_type_arn #=> String
3147
+ # resp.public_version_number #=> String
3148
+ # resp.latest_public_version #=> String
3149
+ # resp.is_activated #=> Boolean
3150
+ # resp.auto_update #=> Boolean
2827
3151
  #
2828
3152
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeType AWS API Documentation
2829
3153
  #
@@ -3315,7 +3639,7 @@ module Aws::CloudFormation
3315
3639
  #
3316
3640
  # If the template doesn't include transforms, `Original` and
3317
3641
  # `Processed` return the same template. By default, AWS CloudFormation
3318
- # specifies `Original`.
3642
+ # specifies `Processed`.
3319
3643
  #
3320
3644
  # @return [Types::GetTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3321
3645
  #
@@ -4217,6 +4541,11 @@ module Aws::CloudFormation
4217
4541
  #
4218
4542
  # The default is `LIVE`.
4219
4543
  #
4544
+ # @option params [String] :publisher_id
4545
+ # The publisher ID of the extension publisher.
4546
+ #
4547
+ # Extensions published by Amazon are not assigned a publisher ID.
4548
+ #
4220
4549
  # @return [Types::ListTypeVersionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4221
4550
  #
4222
4551
  # * {Types::ListTypeVersionsOutput#type_version_summaries #type_version_summaries} => Array&lt;Types::TypeVersionSummary&gt;
@@ -4229,10 +4558,11 @@ module Aws::CloudFormation
4229
4558
  # resp = client.list_type_versions({
4230
4559
  # type: "RESOURCE", # accepts RESOURCE, MODULE
4231
4560
  # type_name: "TypeName",
4232
- # arn: "PrivateTypeArn",
4561
+ # arn: "TypeArn",
4233
4562
  # max_results: 1,
4234
4563
  # next_token: "NextToken",
4235
4564
  # deprecated_status: "LIVE", # accepts LIVE, DEPRECATED
4565
+ # publisher_id: "PublisherId",
4236
4566
  # })
4237
4567
  #
4238
4568
  # @example Response structure
@@ -4245,6 +4575,7 @@ module Aws::CloudFormation
4245
4575
  # resp.type_version_summaries[0].arn #=> String
4246
4576
  # resp.type_version_summaries[0].time_created #=> Time
4247
4577
  # resp.type_version_summaries[0].description #=> String
4578
+ # resp.type_version_summaries[0].public_version_number #=> String
4248
4579
  # resp.next_token #=> String
4249
4580
  #
4250
4581
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeVersions AWS API Documentation
@@ -4260,36 +4591,45 @@ module Aws::CloudFormation
4260
4591
  # with CloudFormation.
4261
4592
  #
4262
4593
  # @option params [String] :visibility
4263
- # The scope at which the extension is visible and usable in
4594
+ # The scope at which the extensions are visible and usable in
4264
4595
  # CloudFormation operations.
4265
4596
  #
4266
4597
  # Valid values include:
4267
4598
  #
4268
- # * `PRIVATE`\: The extension is only visible and usable within the
4269
- # account in which it is registered. Currently, AWS CloudFormation
4270
- # marks any extension you create as `PRIVATE`.
4599
+ # * `PRIVATE`\: Extensions that are visible and usable within this
4600
+ # account and region. This includes:
4601
+ #
4602
+ # * Private extensions you have registered in this account and region.
4271
4603
  #
4272
- # * `PUBLIC`\: The extension is publically visible and usable within any
4273
- # Amazon account.
4604
+ # * Public extensions that you have activated in this account and
4605
+ # region.
4606
+ #
4607
+ # * `PUBLIC`\: Extensions that are publicly visible and available to be
4608
+ # activated within any Amazon account. This includes extensions from
4609
+ # Amazon, as well as third-party publishers.
4274
4610
  #
4275
4611
  # The default is `PRIVATE`.
4276
4612
  #
4277
4613
  # @option params [String] :provisioning_type
4278
- # The provisioning behavior of the type. AWS CloudFormation determines
4279
- # the provisioning type during registration, based on the types of
4280
- # handlers in the schema handler package submitted.
4614
+ # For resource types, the provisioning behavior of the resource type.
4615
+ # AWS CloudFormation determines the provisioning type during
4616
+ # registration, based on the types of handlers in the schema handler
4617
+ # package submitted.
4281
4618
  #
4282
4619
  # Valid values include:
4283
4620
  #
4284
- # * `FULLY_MUTABLE`\: The extension includes an update handler to
4285
- # process updates to the extension during stack update operations.
4621
+ # * `FULLY_MUTABLE`\: The resource type includes an update handler to
4622
+ # process updates to the type during stack update operations.
4286
4623
  #
4287
- # * `IMMUTABLE`\: The extension does not include an update handler, so
4288
- # the extension cannot be updated and must instead be replaced during
4624
+ # * `IMMUTABLE`\: The resource type does not include an update handler,
4625
+ # so the type cannot be updated and must instead be replaced during
4289
4626
  # stack update operations.
4290
4627
  #
4291
- # * `NON_PROVISIONABLE`\: The extension does not include create, read,
4292
- # and delete handlers, and therefore cannot actually be provisioned.
4628
+ # * `NON_PROVISIONABLE`\: The resource type does not include create,
4629
+ # read, and delete handlers, and therefore cannot actually be
4630
+ # provisioned.
4631
+ #
4632
+ # The default is `FULLY_MUTABLE`.
4293
4633
  #
4294
4634
  # @option params [String] :deprecated_status
4295
4635
  # The deprecation status of the extension that you want to get summary
@@ -4306,6 +4646,12 @@ module Aws::CloudFormation
4306
4646
  # @option params [String] :type
4307
4647
  # The type of extension.
4308
4648
  #
4649
+ # @option params [Types::TypeFilters] :filters
4650
+ # Filter criteria to use in determining which extensions to return.
4651
+ #
4652
+ # If you specify a filter, CloudFormation ignores any specified
4653
+ # `Visibility` value when returning the list of types.
4654
+ #
4309
4655
  # @option params [Integer] :max_results
4310
4656
  # The maximum number of results to be returned with a single call. If
4311
4657
  # the number of available results exceeds this maximum, the response
@@ -4334,6 +4680,11 @@ module Aws::CloudFormation
4334
4680
  # provisioning_type: "NON_PROVISIONABLE", # accepts NON_PROVISIONABLE, IMMUTABLE, FULLY_MUTABLE
4335
4681
  # deprecated_status: "LIVE", # accepts LIVE, DEPRECATED
4336
4682
  # type: "RESOURCE", # accepts RESOURCE, MODULE
4683
+ # filters: {
4684
+ # category: "REGISTERED", # accepts REGISTERED, ACTIVATED, THIRD_PARTY, AWS_TYPES
4685
+ # publisher_id: "PublisherId",
4686
+ # type_name_prefix: "TypeNamePrefix",
4687
+ # },
4337
4688
  # max_results: 1,
4338
4689
  # next_token: "NextToken",
4339
4690
  # })
@@ -4347,6 +4698,13 @@ module Aws::CloudFormation
4347
4698
  # resp.type_summaries[0].type_arn #=> String
4348
4699
  # resp.type_summaries[0].last_updated #=> Time
4349
4700
  # resp.type_summaries[0].description #=> String
4701
+ # resp.type_summaries[0].publisher_id #=> String
4702
+ # resp.type_summaries[0].original_type_name #=> String
4703
+ # resp.type_summaries[0].public_version_number #=> String
4704
+ # resp.type_summaries[0].latest_public_version #=> String
4705
+ # resp.type_summaries[0].publisher_identity #=> String, one of "AWS_Marketplace", "GitHub", "Bitbucket"
4706
+ # resp.type_summaries[0].publisher_name #=> String
4707
+ # resp.type_summaries[0].is_activated #=> Boolean
4350
4708
  # resp.next_token #=> String
4351
4709
  #
4352
4710
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypes AWS API Documentation
@@ -4358,6 +4716,78 @@ module Aws::CloudFormation
4358
4716
  req.send_request(options)
4359
4717
  end
4360
4718
 
4719
+ # Publishes the specified extension to the CloudFormation registry as a
4720
+ # public extension in this region. Public extensions are available for
4721
+ # use by all CloudFormation users. For more information on publishing
4722
+ # extensions, see [Publishing extensions to make them available for
4723
+ # public use][1] in the *CloudFormation CLI User Guide*.
4724
+ #
4725
+ # To publish an extension, you must be registered as a publisher with
4726
+ # CloudFormation. For more information, see [RegisterPublisher][2].
4727
+ #
4728
+ #
4729
+ #
4730
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html
4731
+ # [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterPublisher.html
4732
+ #
4733
+ # @option params [String] :type
4734
+ # The type of the extension.
4735
+ #
4736
+ # Conditional: You must specify `Arn`, or `TypeName` and `Type`.
4737
+ #
4738
+ # @option params [String] :arn
4739
+ # The Amazon Resource Number (ARN) of the extension.
4740
+ #
4741
+ # Conditional: You must specify `Arn`, or `TypeName` and `Type`.
4742
+ #
4743
+ # @option params [String] :type_name
4744
+ # The name of the extension.
4745
+ #
4746
+ # Conditional: You must specify `Arn`, or `TypeName` and `Type`.
4747
+ #
4748
+ # @option params [String] :public_version_number
4749
+ # The version number to assign to this version of the extension.
4750
+ #
4751
+ # Use the following format, and adhere to semantic versioning when
4752
+ # assigning a version number to your extension:
4753
+ #
4754
+ # `MAJOR.MINOR.PATCH`
4755
+ #
4756
+ # For more information, see [Semantic Versioning 2.0.0][1].
4757
+ #
4758
+ # If you do not specify a version number, CloudFormation increments the
4759
+ # version number by one minor version release.
4760
+ #
4761
+ #
4762
+ #
4763
+ # [1]: https://semver.org/
4764
+ #
4765
+ # @return [Types::PublishTypeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4766
+ #
4767
+ # * {Types::PublishTypeOutput#public_type_arn #public_type_arn} => String
4768
+ #
4769
+ # @example Request syntax with placeholder values
4770
+ #
4771
+ # resp = client.publish_type({
4772
+ # type: "RESOURCE", # accepts RESOURCE, MODULE
4773
+ # arn: "PrivateTypeArn",
4774
+ # type_name: "TypeName",
4775
+ # public_version_number: "PublicVersionNumber",
4776
+ # })
4777
+ #
4778
+ # @example Response structure
4779
+ #
4780
+ # resp.public_type_arn #=> String
4781
+ #
4782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/PublishType AWS API Documentation
4783
+ #
4784
+ # @overload publish_type(params = {})
4785
+ # @param [Hash] params ({})
4786
+ def publish_type(params = {}, options = {})
4787
+ req = build_request(:publish_type, params)
4788
+ req.send_request(options)
4789
+ end
4790
+
4361
4791
  # Reports progress of a resource handler to CloudFormation.
4362
4792
  #
4363
4793
  # Reserved for use by the [CloudFormation CLI][1]. Do not use this API
@@ -4425,7 +4855,7 @@ module Aws::CloudFormation
4425
4855
  # operation_status: "PENDING", # required, accepts PENDING, IN_PROGRESS, SUCCESS, FAILED
4426
4856
  # current_operation_status: "PENDING", # accepts PENDING, IN_PROGRESS, SUCCESS, FAILED
4427
4857
  # status_message: "StatusMessage",
4428
- # error_code: "NotUpdatable", # accepts NotUpdatable, InvalidRequest, AccessDenied, InvalidCredentials, AlreadyExists, NotFound, ResourceConflict, Throttling, ServiceLimitExceeded, NotStabilized, GeneralServiceException, ServiceInternalError, NetworkFailure, InternalFailure
4858
+ # error_code: "NotUpdatable", # accepts NotUpdatable, InvalidRequest, AccessDenied, InvalidCredentials, AlreadyExists, NotFound, ResourceConflict, Throttling, ServiceLimitExceeded, NotStabilized, GeneralServiceException, ServiceInternalError, NetworkFailure, InternalFailure, InvalidTypeConfiguration
4429
4859
  # resource_model: "ResourceModel",
4430
4860
  # client_request_token: "ClientRequestToken",
4431
4861
  # })
@@ -4439,6 +4869,65 @@ module Aws::CloudFormation
4439
4869
  req.send_request(options)
4440
4870
  end
4441
4871
 
4872
+ # Registers your account as a publisher of public extensions in the
4873
+ # CloudFormation registry. Public extensions are available for use by
4874
+ # all CloudFormation users. This publisher ID applies to your account in
4875
+ # all AWS regions.
4876
+ #
4877
+ # For information on requirements for registering as a public extension
4878
+ # publisher, see [Registering your account to publish CloudFormation
4879
+ # extensions][1] in the *CloudFormation CLI User Guide*.
4880
+ #
4881
+ #
4882
+ #
4883
+ #
4884
+ #
4885
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs
4886
+ #
4887
+ # @option params [Boolean] :accept_terms_and_conditions
4888
+ # Whether you accept the terms and conditions for publishing extensions
4889
+ # in the CloudFormation registry. You must accept the terms and
4890
+ # conditions in order to register to publish public extensions to the
4891
+ # CloudFormation registry.
4892
+ #
4893
+ # The default is `false`.
4894
+ #
4895
+ # @option params [String] :connection_arn
4896
+ # If you are using a Bitbucket or GitHub account for identity
4897
+ # verification, the Amazon Resource Name (ARN) for your connection to
4898
+ # that account.
4899
+ #
4900
+ # For more information, see [Registering your account to publish
4901
+ # CloudFormation extensions][1] in the *CloudFormation CLI User Guide*.
4902
+ #
4903
+ #
4904
+ #
4905
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs
4906
+ #
4907
+ # @return [Types::RegisterPublisherOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4908
+ #
4909
+ # * {Types::RegisterPublisherOutput#publisher_id #publisher_id} => String
4910
+ #
4911
+ # @example Request syntax with placeholder values
4912
+ #
4913
+ # resp = client.register_publisher({
4914
+ # accept_terms_and_conditions: false,
4915
+ # connection_arn: "ConnectionArn",
4916
+ # })
4917
+ #
4918
+ # @example Response structure
4919
+ #
4920
+ # resp.publisher_id #=> String
4921
+ #
4922
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RegisterPublisher AWS API Documentation
4923
+ #
4924
+ # @overload register_publisher(params = {})
4925
+ # @param [Hash] params ({})
4926
+ def register_publisher(params = {}, options = {})
4927
+ req = build_request(:register_publisher, params)
4928
+ req.send_request(options)
4929
+ end
4930
+
4442
4931
  # Registers an extension with the CloudFormation service. Registering an
4443
4932
  # extension makes it available for use in CloudFormation templates in
4444
4933
  # your AWS account, and includes:
@@ -4463,9 +4952,17 @@ module Aws::CloudFormation
4463
4952
  # you can use ` DescribeTypeRegistration ` to monitor the progress of
4464
4953
  # the registration request.
4465
4954
  #
4955
+ # Once you have registered a private extension in your account and
4956
+ # region, use
4957
+ # [SetTypeConfiguration](AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html)
4958
+ # to specify configuration properties for the extension. For more
4959
+ # information, see [Configuring extensions at the account level][2] in
4960
+ # the *CloudFormation User Guide*.
4961
+ #
4466
4962
  #
4467
4963
  #
4468
4964
  # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-types.html
4965
+ # [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration
4469
4966
  #
4470
4967
  # @option params [String] :type
4471
4968
  # The kind of extension.
@@ -4473,8 +4970,13 @@ module Aws::CloudFormation
4473
4970
  # @option params [required, String] :type_name
4474
4971
  # The name of the extension being registered.
4475
4972
  #
4476
- # We recommend that extension names adhere to the following pattern:
4477
- # *company\_or\_organization*\::*service*\::*type*.
4973
+ # We recommend that extension names adhere to the following patterns:
4974
+ #
4975
+ # * For resource types,
4976
+ # *company\_or\_organization*\::*service*\::*type*.
4977
+ #
4978
+ # * For modules,
4979
+ # *company\_or\_organization*\::*service*\::*type*\::MODULE.
4478
4980
  #
4479
4981
  # <note markdown="1"> The following organization namespaces are reserved and cannot be used
4480
4982
  # in your extension names:
@@ -4520,15 +5022,25 @@ module Aws::CloudFormation
4520
5022
  #
4521
5023
  # @option params [String] :execution_role_arn
4522
5024
  # The Amazon Resource Name (ARN) of the IAM role for CloudFormation to
4523
- # assume when invoking the extension. If your extension calls AWS APIs
4524
- # in any of its handlers, you must create an <i> <a
5025
+ # assume when invoking the extension.
5026
+ #
5027
+ # For CloudFormation to assume the specified execution role, the role
5028
+ # must contain a trust relationship with the CloudFormation service
5029
+ # principle (`resources.cloudformation.amazonaws.com`). For more
5030
+ # information on adding trust relationships, see [Modifying a role trust
5031
+ # policy](IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy)
5032
+ # in the *AWS Identity and Access Management User Guide*.
5033
+ #
5034
+ # If your extension calls AWS APIs in any of its handlers, you must
5035
+ # create an <i> <a
4525
5036
  # href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html">IAM
4526
5037
  # execution role</a> </i> that includes the necessary permissions to
4527
5038
  # call those AWS APIs, and provision that execution role in your
4528
- # account. When CloudFormation needs to invoke the extension handler,
4529
- # CloudFormation assumes this execution role to create a temporary
4530
- # session token, which it then passes to the extension handler, thereby
4531
- # supplying your extension with the appropriate credentials.
5039
+ # account. When CloudFormation needs to invoke the resource type
5040
+ # handler, CloudFormation assumes this execution role to create a
5041
+ # temporary session token, which it then passes to the resource type
5042
+ # handler, thereby supplying your resource type with the appropriate
5043
+ # credentials.
4532
5044
  #
4533
5045
  # @option params [String] :client_request_token
4534
5046
  # A unique identifier that acts as an idempotency key for this
@@ -4608,6 +5120,101 @@ module Aws::CloudFormation
4608
5120
  req.send_request(options)
4609
5121
  end
4610
5122
 
5123
+ # Specifies the configuration data for a registered CloudFormation
5124
+ # extension, in the given account and region.
5125
+ #
5126
+ # To view the current configuration data for an extension, refer to the
5127
+ # `ConfigurationSchema` element of
5128
+ # [DescribeType](AWSCloudFormation/latest/APIReference/API_DescribeType.html).
5129
+ # For more information, see [Configuring extensions at the account
5130
+ # level][1] in the *CloudFormation User Guide*.
5131
+ #
5132
+ # It is strongly recommended that you use dynamic references to restrict
5133
+ # sensitive configuration definitions, such as third-party credentials.
5134
+ # For more details on dynamic references, see [Using dynamic references
5135
+ # to specify template values][2] in the *AWS CloudFormation User Guide*.
5136
+ #
5137
+ #
5138
+ #
5139
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration
5140
+ # [2]: https://docs.aws.amazon.com/
5141
+ #
5142
+ # @option params [String] :type_arn
5143
+ # The Amazon Resource Name (ARN) for the extension, in this account and
5144
+ # region.
5145
+ #
5146
+ # For public extensions, this will be the ARN assigned when you
5147
+ # [activate the type][1] in this account and region. For private
5148
+ # extensions, this will be the ARN assigned when you [register the
5149
+ # type][2] in this account and region.
5150
+ #
5151
+ # Do not include the extension versions suffix at the end of the ARN.
5152
+ # You can set the configuration for an extension, but not for a specific
5153
+ # extension version.
5154
+ #
5155
+ #
5156
+ #
5157
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html
5158
+ # [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html
5159
+ #
5160
+ # @option params [required, String] :configuration
5161
+ # The configuration data for the extension, in this account and region.
5162
+ #
5163
+ # The configuration data must be formatted as JSON, and validate against
5164
+ # the schema returned in the `ConfigurationSchema` response element of
5165
+ # [API\_DescribeType](AWSCloudFormation/latest/APIReference/API_DescribeType.html).
5166
+ # For more information, see [Defining account-level configuration data
5167
+ # for an extension][1] in the *CloudFormation CLI User Guide*.
5168
+ #
5169
+ #
5170
+ #
5171
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html#resource-type-howto-configuration
5172
+ #
5173
+ # @option params [String] :configuration_alias
5174
+ # An alias by which to refer to this extension configuration data.
5175
+ #
5176
+ # Conditional: Specifying a configuration alias is required when setting
5177
+ # a configuration for a resource type extension.
5178
+ #
5179
+ # @option params [String] :type_name
5180
+ # The name of the extension.
5181
+ #
5182
+ # Conditional: You must specify `ConfigurationArn`, or `Type` and
5183
+ # `TypeName`.
5184
+ #
5185
+ # @option params [String] :type
5186
+ # The type of extension.
5187
+ #
5188
+ # Conditional: You must specify `ConfigurationArn`, or `Type` and
5189
+ # `TypeName`.
5190
+ #
5191
+ # @return [Types::SetTypeConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5192
+ #
5193
+ # * {Types::SetTypeConfigurationOutput#configuration_arn #configuration_arn} => String
5194
+ #
5195
+ # @example Request syntax with placeholder values
5196
+ #
5197
+ # resp = client.set_type_configuration({
5198
+ # type_arn: "TypeArn",
5199
+ # configuration: "TypeConfiguration", # required
5200
+ # configuration_alias: "TypeConfigurationAlias",
5201
+ # type_name: "TypeName",
5202
+ # type: "RESOURCE", # accepts RESOURCE, MODULE
5203
+ # })
5204
+ #
5205
+ # @example Response structure
5206
+ #
5207
+ # resp.configuration_arn #=> String
5208
+ #
5209
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetTypeConfiguration AWS API Documentation
5210
+ #
5211
+ # @overload set_type_configuration(params = {})
5212
+ # @param [Hash] params ({})
5213
+ def set_type_configuration(params = {}, options = {})
5214
+ req = build_request(:set_type_configuration, params)
5215
+ req.send_request(options)
5216
+ end
5217
+
4611
5218
  # Specify the default version of an extension. The default version of an
4612
5219
  # extension will be used in CloudFormation operations.
4613
5220
  #
@@ -4750,6 +5357,114 @@ module Aws::CloudFormation
4750
5357
  req.send_request(options)
4751
5358
  end
4752
5359
 
5360
+ # Tests a registered extension to make sure it meets all necessary
5361
+ # requirements for being published in the CloudFormation registry.
5362
+ #
5363
+ # * For resource types, this includes passing all contracts tests
5364
+ # defined for the type.
5365
+ #
5366
+ # * For modules, this includes determining if the module's model meets
5367
+ # all necessary requirements.
5368
+ #
5369
+ # For more information, see [Testing your public extension prior to
5370
+ # publishing][1] in the *CloudFormation CLI User Guide*.
5371
+ #
5372
+ # If you do not specify a version, CloudFormation uses the default
5373
+ # version of the extension in your account and region for testing.
5374
+ #
5375
+ # To perform testing, CloudFormation assumes the execution role
5376
+ # specified when the test was registered. For more information, see
5377
+ # [RegisterType](AWSCloudFormation/latest/APIReference/API_RegisterType.html).
5378
+ #
5379
+ # Once you've initiated testing on an extension using `TestType`, you
5380
+ # can use [DescribeType][2] to monitor the current test status and test
5381
+ # status description for the extension.
5382
+ #
5383
+ # An extension must have a test status of `PASSED` before it can be
5384
+ # published. For more information, see [Publishing extensions to make
5385
+ # them available for public use][3] in the *CloudFormation CLI User
5386
+ # Guide*.
5387
+ #
5388
+ #
5389
+ #
5390
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-testing
5391
+ # [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html
5392
+ # [3]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-publish.html
5393
+ #
5394
+ # @option params [String] :arn
5395
+ # The Amazon Resource Number (ARN) of the extension.
5396
+ #
5397
+ # Conditional: You must specify `Arn`, or `TypeName` and `Type`.
5398
+ #
5399
+ # @option params [String] :type
5400
+ # The type of the extension to test.
5401
+ #
5402
+ # Conditional: You must specify `Arn`, or `TypeName` and `Type`.
5403
+ #
5404
+ # @option params [String] :type_name
5405
+ # The name of the extension to test.
5406
+ #
5407
+ # Conditional: You must specify `Arn`, or `TypeName` and `Type`.
5408
+ #
5409
+ # @option params [String] :version_id
5410
+ # The version of the extension to test.
5411
+ #
5412
+ # You can specify the version id with either `Arn`, or with `TypeName`
5413
+ # and `Type`.
5414
+ #
5415
+ # If you do not specify a version, CloudFormation uses the default
5416
+ # version of the extension in this account and region for testing.
5417
+ #
5418
+ # @option params [String] :log_delivery_bucket
5419
+ # The S3 bucket to which CloudFormation delivers the contract test
5420
+ # execution logs.
5421
+ #
5422
+ # CloudFormation delivers the logs by the time contract testing has
5423
+ # completed and the extension has been assigned a test type status of
5424
+ # `PASSED` or `FAILED`.
5425
+ #
5426
+ # The user calling `TestType` must be able to access items in the
5427
+ # specified S3 bucket. Specifically, the user needs the following
5428
+ # permissions:
5429
+ #
5430
+ # * GetObject
5431
+ #
5432
+ # * PutObject
5433
+ #
5434
+ # For more information, see [Actions, Resources, and Condition Keys for
5435
+ # Amazon S3][1] in the *AWS Identity and Access Management User Guide*.
5436
+ #
5437
+ #
5438
+ #
5439
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html
5440
+ #
5441
+ # @return [Types::TestTypeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5442
+ #
5443
+ # * {Types::TestTypeOutput#type_version_arn #type_version_arn} => String
5444
+ #
5445
+ # @example Request syntax with placeholder values
5446
+ #
5447
+ # resp = client.test_type({
5448
+ # arn: "TypeArn",
5449
+ # type: "RESOURCE", # accepts RESOURCE, MODULE
5450
+ # type_name: "TypeName",
5451
+ # version_id: "TypeVersionId",
5452
+ # log_delivery_bucket: "S3Bucket",
5453
+ # })
5454
+ #
5455
+ # @example Response structure
5456
+ #
5457
+ # resp.type_version_arn #=> String
5458
+ #
5459
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/TestType AWS API Documentation
5460
+ #
5461
+ # @overload test_type(params = {})
5462
+ # @param [Hash] params ({})
5463
+ def test_type(params = {}, options = {})
5464
+ req = build_request(:test_type, params)
5465
+ req.send_request(options)
5466
+ end
5467
+
4753
5468
  # Updates a stack as specified in the template. After the call completes
4754
5469
  # successfully, the stack update starts. You can check the status of the
4755
5470
  # stack via the DescribeStacks action.
@@ -5765,7 +6480,7 @@ module Aws::CloudFormation
5765
6480
  params: params,
5766
6481
  config: config)
5767
6482
  context[:gem_name] = 'aws-sdk-cloudformation'
5768
- context[:gem_version] = '1.52.0'
6483
+ context[:gem_version] = '1.53.0'
5769
6484
  Seahorse::Client::Request.new(handlers, context)
5770
6485
  end
5771
6486