aws-sdk-cloudformation 1.52.0 → 1.53.0

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