aws-sdk-cloudformation 1.27.0 → 1.28.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.
@@ -10,5 +10,21 @@ module Aws::CloudFormation
10
10
 
11
11
  extend Aws::Errors::DynamicErrors
12
12
 
13
+ class CFNRegistryException < ServiceError
14
+
15
+ # @param [Seahorse::Client::RequestContext] context
16
+ # @param [String] message
17
+ # @param [Aws::CloudFormation::Types::CFNRegistryException] data
18
+ def initialize(context, message, data = Aws::EmptyStructure.new)
19
+ super(context, message, data)
20
+ end
21
+
22
+ # @return [String]
23
+ def message
24
+ @message || @data[:message]
25
+ end
26
+
27
+ end
28
+
13
29
  end
14
30
  end
@@ -109,6 +109,18 @@ module Aws::CloudFormation
109
109
  include Aws::Structure
110
110
  end
111
111
 
112
+ # An error occurred during a CloudFormation registry operation.
113
+ #
114
+ # @!attribute [rw] message
115
+ # @return [String]
116
+ #
117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CFNRegistryException AWS API Documentation
118
+ #
119
+ class CFNRegistryException < Struct.new(
120
+ :message)
121
+ include Aws::Structure
122
+ end
123
+
112
124
  # The input for the CancelUpdateStack action.
113
125
  #
114
126
  # @note When making an API call, you may pass CancelUpdateStackInput
@@ -1580,6 +1592,54 @@ module Aws::CloudFormation
1580
1592
  #
1581
1593
  class DeleteStackSetOutput < Aws::EmptyStructure; end
1582
1594
 
1595
+ # @note When making an API call, you may pass DeregisterTypeInput
1596
+ # data as a hash:
1597
+ #
1598
+ # {
1599
+ # arn: "PrivateTypeArn",
1600
+ # type: "RESOURCE", # accepts RESOURCE
1601
+ # type_name: "TypeName",
1602
+ # version_id: "TypeVersionId",
1603
+ # }
1604
+ #
1605
+ # @!attribute [rw] arn
1606
+ # The Amazon Resource Name (ARN) of the type.
1607
+ #
1608
+ # Conditional: You must specify `TypeName` or `Arn`.
1609
+ # @return [String]
1610
+ #
1611
+ # @!attribute [rw] type
1612
+ # The kind of type.
1613
+ #
1614
+ # Currently the only valid value is `RESOURCE`.
1615
+ # @return [String]
1616
+ #
1617
+ # @!attribute [rw] type_name
1618
+ # The name of the type.
1619
+ #
1620
+ # Conditional: You must specify `TypeName` or `Arn`.
1621
+ # @return [String]
1622
+ #
1623
+ # @!attribute [rw] version_id
1624
+ # The ID of a specific version of the type. The version ID is the
1625
+ # value at the end of the Amazon Resource Name (ARN) assigned to the
1626
+ # type version when it is registered.
1627
+ # @return [String]
1628
+ #
1629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeregisterTypeInput AWS API Documentation
1630
+ #
1631
+ class DeregisterTypeInput < Struct.new(
1632
+ :arn,
1633
+ :type,
1634
+ :type_name,
1635
+ :version_id)
1636
+ include Aws::Structure
1637
+ end
1638
+
1639
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeregisterTypeOutput AWS API Documentation
1640
+ #
1641
+ class DeregisterTypeOutput < Aws::EmptyStructure; end
1642
+
1583
1643
  # The input for the DescribeAccountLimits action.
1584
1644
  #
1585
1645
  # @note When making an API call, you may pass DescribeAccountLimitsInput
@@ -2294,6 +2354,247 @@ module Aws::CloudFormation
2294
2354
  include Aws::Structure
2295
2355
  end
2296
2356
 
2357
+ # @note When making an API call, you may pass DescribeTypeInput
2358
+ # data as a hash:
2359
+ #
2360
+ # {
2361
+ # type: "RESOURCE", # accepts RESOURCE
2362
+ # type_name: "TypeName",
2363
+ # arn: "TypeArn",
2364
+ # version_id: "TypeVersionId",
2365
+ # }
2366
+ #
2367
+ # @!attribute [rw] type
2368
+ # The kind of type.
2369
+ #
2370
+ # Currently the only valid value is `RESOURCE`.
2371
+ # @return [String]
2372
+ #
2373
+ # @!attribute [rw] type_name
2374
+ # The name of the type.
2375
+ #
2376
+ # Conditional: You must specify `TypeName` or `Arn`.
2377
+ # @return [String]
2378
+ #
2379
+ # @!attribute [rw] arn
2380
+ # The Amazon Resource Name (ARN) of the type.
2381
+ #
2382
+ # Conditional: You must specify `TypeName` or `Arn`.
2383
+ # @return [String]
2384
+ #
2385
+ # @!attribute [rw] version_id
2386
+ # The ID of a specific version of the type. The version ID is the
2387
+ # value at the end of the Amazon Resource Name (ARN) assigned to the
2388
+ # type version when it is registered.
2389
+ #
2390
+ # If you specify a `VersionId`, `DescribeType` returns information
2391
+ # about that specific type version. Otherwise, it returns information
2392
+ # about the default type version.
2393
+ # @return [String]
2394
+ #
2395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeTypeInput AWS API Documentation
2396
+ #
2397
+ class DescribeTypeInput < Struct.new(
2398
+ :type,
2399
+ :type_name,
2400
+ :arn,
2401
+ :version_id)
2402
+ include Aws::Structure
2403
+ end
2404
+
2405
+ # @!attribute [rw] arn
2406
+ # The Amazon Resource Name (ARN) of the type.
2407
+ # @return [String]
2408
+ #
2409
+ # @!attribute [rw] type
2410
+ # The kind of type.
2411
+ #
2412
+ # Currently the only valid value is `RESOURCE`.
2413
+ # @return [String]
2414
+ #
2415
+ # @!attribute [rw] type_name
2416
+ # The name of the registered type.
2417
+ # @return [String]
2418
+ #
2419
+ # @!attribute [rw] default_version_id
2420
+ # The ID of the default version of the type. The default version is
2421
+ # used when the type version is not specified.
2422
+ #
2423
+ # To set the default version of a type, use ` SetTypeDefaultVersion `.
2424
+ # @return [String]
2425
+ #
2426
+ # @!attribute [rw] description
2427
+ # The description of the registered type.
2428
+ # @return [String]
2429
+ #
2430
+ # @!attribute [rw] schema
2431
+ # The schema that defines the type.
2432
+ #
2433
+ # For more information on type schemas, see [Resource Provider
2434
+ # Schema][1] in the *CloudFormation CLI User Guide*.
2435
+ #
2436
+ #
2437
+ #
2438
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html
2439
+ # @return [String]
2440
+ #
2441
+ # @!attribute [rw] provisioning_type
2442
+ # The provisioning behavior of the type. AWS CloudFormation determines
2443
+ # the provisioning type during registration, based on the types of
2444
+ # handlers in the schema handler package submitted.
2445
+ #
2446
+ # Valid values include:
2447
+ #
2448
+ # * `FULLY_MUTABLE`\: The type includes an update handler to process
2449
+ # updates to the type during stack update operations.
2450
+ #
2451
+ # * `IMMUTABLE`\: The type does not include an update handler, so the
2452
+ # type cannot be updated and must instead be replaced during stack
2453
+ # update operations.
2454
+ #
2455
+ # * `NON_PROVISIONABLE`\: The type does not include all of the
2456
+ # following handlers, and therefore cannot actually be provisioned.
2457
+ #
2458
+ # * create
2459
+ #
2460
+ # * read
2461
+ #
2462
+ # * delete
2463
+ # @return [String]
2464
+ #
2465
+ # @!attribute [rw] deprecated_status
2466
+ # The deprecation status of the type.
2467
+ #
2468
+ # Valid values include:
2469
+ #
2470
+ # * `LIVE`\: The type is registered and can be used in CloudFormation
2471
+ # operations, dependent on its provisioning behavior and visibility
2472
+ # scope.
2473
+ #
2474
+ # * `DEPRECATED`\: The type has been deregistered and can no longer be
2475
+ # used in CloudFormation operations.
2476
+ # @return [String]
2477
+ #
2478
+ # @!attribute [rw] logging_config
2479
+ # Contains logging configuration information for a type.
2480
+ # @return [Types::LoggingConfig]
2481
+ #
2482
+ # @!attribute [rw] execution_role_arn
2483
+ # The Amazon Resource Name (ARN) of the IAM execution role used to
2484
+ # register the type. If your resource type calls AWS APIs in any of
2485
+ # its handlers, you must create an <i> <a
2486
+ # href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html">IAM
2487
+ # execution role</a> </i> that includes the necessary permissions to
2488
+ # call those AWS APIs, and provision that execution role in your
2489
+ # account. CloudFormation then assumes that execution role to provide
2490
+ # your resource type with the appropriate credentials.
2491
+ # @return [String]
2492
+ #
2493
+ # @!attribute [rw] visibility
2494
+ # The scope at which the type is visible and usable in CloudFormation
2495
+ # operations.
2496
+ #
2497
+ # Valid values include:
2498
+ #
2499
+ # * `PRIVATE`\: The type is only visible and usable within the account
2500
+ # in which it is registered. Currently, AWS CloudFormation marks any
2501
+ # types you register as `PRIVATE`.
2502
+ #
2503
+ # * `PUBLIC`\: The type is publically visible and usable within any
2504
+ # Amazon account.
2505
+ # @return [String]
2506
+ #
2507
+ # @!attribute [rw] source_url
2508
+ # The URL of the source code for the type.
2509
+ # @return [String]
2510
+ #
2511
+ # @!attribute [rw] documentation_url
2512
+ # The URL of a page providing detailed documentation for this type.
2513
+ # @return [String]
2514
+ #
2515
+ # @!attribute [rw] last_updated
2516
+ # When the specified type version was registered.
2517
+ # @return [Time]
2518
+ #
2519
+ # @!attribute [rw] time_created
2520
+ # When the specified type version was registered.
2521
+ # @return [Time]
2522
+ #
2523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeTypeOutput AWS API Documentation
2524
+ #
2525
+ class DescribeTypeOutput < Struct.new(
2526
+ :arn,
2527
+ :type,
2528
+ :type_name,
2529
+ :default_version_id,
2530
+ :description,
2531
+ :schema,
2532
+ :provisioning_type,
2533
+ :deprecated_status,
2534
+ :logging_config,
2535
+ :execution_role_arn,
2536
+ :visibility,
2537
+ :source_url,
2538
+ :documentation_url,
2539
+ :last_updated,
2540
+ :time_created)
2541
+ include Aws::Structure
2542
+ end
2543
+
2544
+ # @note When making an API call, you may pass DescribeTypeRegistrationInput
2545
+ # data as a hash:
2546
+ #
2547
+ # {
2548
+ # registration_token: "RegistrationToken", # required
2549
+ # }
2550
+ #
2551
+ # @!attribute [rw] registration_token
2552
+ # The identifier for this registration request.
2553
+ #
2554
+ # This registration token is generated by CloudFormation when you
2555
+ # initiate a registration request using ` RegisterType `.
2556
+ # @return [String]
2557
+ #
2558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeTypeRegistrationInput AWS API Documentation
2559
+ #
2560
+ class DescribeTypeRegistrationInput < Struct.new(
2561
+ :registration_token)
2562
+ include Aws::Structure
2563
+ end
2564
+
2565
+ # @!attribute [rw] progress_status
2566
+ # The current status of the type registration request.
2567
+ # @return [String]
2568
+ #
2569
+ # @!attribute [rw] description
2570
+ # The description of the type registration request.
2571
+ # @return [String]
2572
+ #
2573
+ # @!attribute [rw] type_arn
2574
+ # The Amazon Resource Name (ARN) of the type being registered.
2575
+ #
2576
+ # For registration requests with a `ProgressStatus` of other than
2577
+ # `COMPLETE`, this will be `null`.
2578
+ # @return [String]
2579
+ #
2580
+ # @!attribute [rw] type_version_arn
2581
+ # The Amazon Resource Name (ARN) of this specific version of the type
2582
+ # being registered.
2583
+ #
2584
+ # For registration requests with a `ProgressStatus` of other than
2585
+ # `COMPLETE`, this will be `null`.
2586
+ # @return [String]
2587
+ #
2588
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeTypeRegistrationOutput AWS API Documentation
2589
+ #
2590
+ class DescribeTypeRegistrationOutput < Struct.new(
2591
+ :progress_status,
2592
+ :description,
2593
+ :type_arn,
2594
+ :type_version_arn)
2595
+ include Aws::Structure
2596
+ end
2597
+
2297
2598
  # @note When making an API call, you may pass DetectStackDriftInput
2298
2599
  # data as a hash:
2299
2600
  #
@@ -3279,6 +3580,317 @@ module Aws::CloudFormation
3279
3580
  include Aws::Structure
3280
3581
  end
3281
3582
 
3583
+ # @note When making an API call, you may pass ListTypeRegistrationsInput
3584
+ # data as a hash:
3585
+ #
3586
+ # {
3587
+ # type: "RESOURCE", # accepts RESOURCE
3588
+ # type_name: "TypeName",
3589
+ # type_arn: "TypeArn",
3590
+ # registration_status_filter: "COMPLETE", # accepts COMPLETE, IN_PROGRESS, FAILED
3591
+ # max_results: 1,
3592
+ # next_token: "NextToken",
3593
+ # }
3594
+ #
3595
+ # @!attribute [rw] type
3596
+ # The kind of type.
3597
+ #
3598
+ # Currently the only valid value is `RESOURCE`.
3599
+ # @return [String]
3600
+ #
3601
+ # @!attribute [rw] type_name
3602
+ # The name of the type.
3603
+ #
3604
+ # Conditional: You must specify `TypeName` or `Arn`.
3605
+ # @return [String]
3606
+ #
3607
+ # @!attribute [rw] type_arn
3608
+ # The Amazon Resource Name (ARN) of the type.
3609
+ #
3610
+ # Conditional: You must specify `TypeName` or `Arn`.
3611
+ # @return [String]
3612
+ #
3613
+ # @!attribute [rw] registration_status_filter
3614
+ # The current status of the type registration request.
3615
+ # @return [String]
3616
+ #
3617
+ # @!attribute [rw] max_results
3618
+ # The maximum number of results to be returned with a single call. If
3619
+ # the number of available results exceeds this maximum, the response
3620
+ # includes a `NextToken` value that you can assign to the `NextToken`
3621
+ # request parameter to get the next set of results.
3622
+ # @return [Integer]
3623
+ #
3624
+ # @!attribute [rw] next_token
3625
+ # If the previous paginated request didn't return all of the
3626
+ # remaining results, the response object's `NextToken` parameter
3627
+ # value is set to a token. To retrieve the next set of results, call
3628
+ # this action again and assign that token to the request object's
3629
+ # `NextToken` parameter. If there are no remaining results, the
3630
+ # previous response object's `NextToken` parameter is set to `null`.
3631
+ # @return [String]
3632
+ #
3633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeRegistrationsInput AWS API Documentation
3634
+ #
3635
+ class ListTypeRegistrationsInput < Struct.new(
3636
+ :type,
3637
+ :type_name,
3638
+ :type_arn,
3639
+ :registration_status_filter,
3640
+ :max_results,
3641
+ :next_token)
3642
+ include Aws::Structure
3643
+ end
3644
+
3645
+ # @!attribute [rw] registration_token_list
3646
+ # A list of type registration tokens.
3647
+ #
3648
+ # Use ` DescribeTypeRegistration ` to return detailed information
3649
+ # about a type registration request.
3650
+ # @return [Array<String>]
3651
+ #
3652
+ # @!attribute [rw] next_token
3653
+ # If the request doesn't return all of the remaining results,
3654
+ # `NextToken` is set to a token. To retrieve the next set of results,
3655
+ # call this action again and assign that token to the request
3656
+ # object's `NextToken` parameter. If the request returns all results,
3657
+ # `NextToken` is set to `null`.
3658
+ # @return [String]
3659
+ #
3660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeRegistrationsOutput AWS API Documentation
3661
+ #
3662
+ class ListTypeRegistrationsOutput < Struct.new(
3663
+ :registration_token_list,
3664
+ :next_token)
3665
+ include Aws::Structure
3666
+ end
3667
+
3668
+ # @note When making an API call, you may pass ListTypeVersionsInput
3669
+ # data as a hash:
3670
+ #
3671
+ # {
3672
+ # type: "RESOURCE", # accepts RESOURCE
3673
+ # type_name: "TypeName",
3674
+ # arn: "PrivateTypeArn",
3675
+ # max_results: 1,
3676
+ # next_token: "NextToken",
3677
+ # deprecated_status: "LIVE", # accepts LIVE, DEPRECATED
3678
+ # }
3679
+ #
3680
+ # @!attribute [rw] type
3681
+ # The kind of the type.
3682
+ #
3683
+ # Currently the only valid value is `RESOURCE`.
3684
+ # @return [String]
3685
+ #
3686
+ # @!attribute [rw] type_name
3687
+ # The name of the type for which you want version summary information.
3688
+ #
3689
+ # Conditional: You must specify `TypeName` or `Arn`.
3690
+ # @return [String]
3691
+ #
3692
+ # @!attribute [rw] arn
3693
+ # The Amazon Resource Name (ARN) of the type for which you want
3694
+ # version summary information.
3695
+ #
3696
+ # Conditional: You must specify `TypeName` or `Arn`.
3697
+ # @return [String]
3698
+ #
3699
+ # @!attribute [rw] max_results
3700
+ # The maximum number of results to be returned with a single call. If
3701
+ # the number of available results exceeds this maximum, the response
3702
+ # includes a `NextToken` value that you can assign to the `NextToken`
3703
+ # request parameter to get the next set of results.
3704
+ # @return [Integer]
3705
+ #
3706
+ # @!attribute [rw] next_token
3707
+ # If the previous paginated request didn't return all of the
3708
+ # remaining results, the response object's `NextToken` parameter
3709
+ # value is set to a token. To retrieve the next set of results, call
3710
+ # this action again and assign that token to the request object's
3711
+ # `NextToken` parameter. If there are no remaining results, the
3712
+ # previous response object's `NextToken` parameter is set to `null`.
3713
+ # @return [String]
3714
+ #
3715
+ # @!attribute [rw] deprecated_status
3716
+ # The deprecation status of the type versions that you want to get
3717
+ # summary information about.
3718
+ #
3719
+ # Valid values include:
3720
+ #
3721
+ # * `LIVE`\: The type version is registered and can be used in
3722
+ # CloudFormation operations, dependent on its provisioning behavior
3723
+ # and visibility scope.
3724
+ #
3725
+ # * `DEPRECATED`\: The type version has been deregistered and can no
3726
+ # longer be used in CloudFormation operations.
3727
+ # @return [String]
3728
+ #
3729
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeVersionsInput AWS API Documentation
3730
+ #
3731
+ class ListTypeVersionsInput < Struct.new(
3732
+ :type,
3733
+ :type_name,
3734
+ :arn,
3735
+ :max_results,
3736
+ :next_token,
3737
+ :deprecated_status)
3738
+ include Aws::Structure
3739
+ end
3740
+
3741
+ # @!attribute [rw] type_version_summaries
3742
+ # A list of `TypeVersionSummary` structures that contain information
3743
+ # about the specified type's versions.
3744
+ # @return [Array<Types::TypeVersionSummary>]
3745
+ #
3746
+ # @!attribute [rw] next_token
3747
+ # If the request doesn't return all of the remaining results,
3748
+ # `NextToken` is set to a token. To retrieve the next set of results,
3749
+ # call this action again and assign that token to the request
3750
+ # object's `NextToken` parameter. If the request returns all results,
3751
+ # `NextToken` is set to `null`.
3752
+ # @return [String]
3753
+ #
3754
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeVersionsOutput AWS API Documentation
3755
+ #
3756
+ class ListTypeVersionsOutput < Struct.new(
3757
+ :type_version_summaries,
3758
+ :next_token)
3759
+ include Aws::Structure
3760
+ end
3761
+
3762
+ # @note When making an API call, you may pass ListTypesInput
3763
+ # data as a hash:
3764
+ #
3765
+ # {
3766
+ # visibility: "PUBLIC", # accepts PUBLIC, PRIVATE
3767
+ # provisioning_type: "NON_PROVISIONABLE", # accepts NON_PROVISIONABLE, IMMUTABLE, FULLY_MUTABLE
3768
+ # deprecated_status: "LIVE", # accepts LIVE, DEPRECATED
3769
+ # max_results: 1,
3770
+ # next_token: "NextToken",
3771
+ # }
3772
+ #
3773
+ # @!attribute [rw] visibility
3774
+ # The scope at which the type is visible and usable in CloudFormation
3775
+ # operations.
3776
+ #
3777
+ # Valid values include:
3778
+ #
3779
+ # * `PRIVATE`\: The type is only visible and usable within the account
3780
+ # in which it is registered. Currently, AWS CloudFormation marks any
3781
+ # types you create as `PRIVATE`.
3782
+ #
3783
+ # * `PUBLIC`\: The type is publically visible and usable within any
3784
+ # Amazon account.
3785
+ # @return [String]
3786
+ #
3787
+ # @!attribute [rw] provisioning_type
3788
+ # The provisioning behavior of the type. AWS CloudFormation determines
3789
+ # the provisioning type during registration, based on the types of
3790
+ # handlers in the schema handler package submitted.
3791
+ #
3792
+ # Valid values include:
3793
+ #
3794
+ # * `FULLY_MUTABLE`\: The type includes an update handler to process
3795
+ # updates to the type during stack update operations.
3796
+ #
3797
+ # * `IMMUTABLE`\: The type does not include an update handler, so the
3798
+ # type cannot be updated and must instead be replaced during stack
3799
+ # update operations.
3800
+ #
3801
+ # * `NON_PROVISIONABLE`\: The type does not include create, read, and
3802
+ # delete handlers, and therefore cannot actually be provisioned.
3803
+ # @return [String]
3804
+ #
3805
+ # @!attribute [rw] deprecated_status
3806
+ # The deprecation status of the types that you want to get summary
3807
+ # information about.
3808
+ #
3809
+ # Valid values include:
3810
+ #
3811
+ # * `LIVE`\: The type is registered for use in CloudFormation
3812
+ # operations.
3813
+ #
3814
+ # * `DEPRECATED`\: The type has been deregistered and can no longer be
3815
+ # used in CloudFormation operations.
3816
+ # @return [String]
3817
+ #
3818
+ # @!attribute [rw] max_results
3819
+ # The maximum number of results to be returned with a single call. If
3820
+ # the number of available results exceeds this maximum, the response
3821
+ # includes a `NextToken` value that you can assign to the `NextToken`
3822
+ # request parameter to get the next set of results.
3823
+ # @return [Integer]
3824
+ #
3825
+ # @!attribute [rw] next_token
3826
+ # If the previous paginated request didn't return all of the
3827
+ # remaining results, the response object's `NextToken` parameter
3828
+ # value is set to a token. To retrieve the next set of results, call
3829
+ # this action again and assign that token to the request object's
3830
+ # `NextToken` parameter. If there are no remaining results, the
3831
+ # previous response object's `NextToken` parameter is set to `null`.
3832
+ # @return [String]
3833
+ #
3834
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypesInput AWS API Documentation
3835
+ #
3836
+ class ListTypesInput < Struct.new(
3837
+ :visibility,
3838
+ :provisioning_type,
3839
+ :deprecated_status,
3840
+ :max_results,
3841
+ :next_token)
3842
+ include Aws::Structure
3843
+ end
3844
+
3845
+ # @!attribute [rw] type_summaries
3846
+ # A list of `TypeSummary` structures that contain information about
3847
+ # the specified types.
3848
+ # @return [Array<Types::TypeSummary>]
3849
+ #
3850
+ # @!attribute [rw] next_token
3851
+ # If the request doesn't return all of the remaining results,
3852
+ # `NextToken` is set to a token. To retrieve the next set of results,
3853
+ # call this action again and assign that token to the request
3854
+ # object's `NextToken` parameter. If the request returns all results,
3855
+ # `NextToken` is set to `null`.
3856
+ # @return [String]
3857
+ #
3858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypesOutput AWS API Documentation
3859
+ #
3860
+ class ListTypesOutput < Struct.new(
3861
+ :type_summaries,
3862
+ :next_token)
3863
+ include Aws::Structure
3864
+ end
3865
+
3866
+ # Contains logging configuration information for a type.
3867
+ #
3868
+ # @note When making an API call, you may pass LoggingConfig
3869
+ # data as a hash:
3870
+ #
3871
+ # {
3872
+ # log_role_arn: "RoleArn", # required
3873
+ # log_group_name: "LogGroupName", # required
3874
+ # }
3875
+ #
3876
+ # @!attribute [rw] log_role_arn
3877
+ # The ARN of the role that CloudFormation should assume when sending
3878
+ # log entries to CloudWatch logs.
3879
+ # @return [String]
3880
+ #
3881
+ # @!attribute [rw] log_group_name
3882
+ # The Amazon CloudWatch log group to which CloudFormation sends error
3883
+ # logging information when invoking the type's handlers.
3884
+ # @return [String]
3885
+ #
3886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/LoggingConfig AWS API Documentation
3887
+ #
3888
+ class LoggingConfig < Struct.new(
3889
+ :log_role_arn,
3890
+ :log_group_name)
3891
+ include Aws::Structure
3892
+ end
3893
+
3282
3894
  # The Output data type.
3283
3895
  #
3284
3896
  # @!attribute [rw] output_key
@@ -3481,6 +4093,201 @@ module Aws::CloudFormation
3481
4093
  include Aws::Structure
3482
4094
  end
3483
4095
 
4096
+ # @note When making an API call, you may pass RecordHandlerProgressInput
4097
+ # data as a hash:
4098
+ #
4099
+ # {
4100
+ # bearer_token: "ClientToken", # required
4101
+ # operation_status: "PENDING", # required, accepts PENDING, IN_PROGRESS, SUCCESS, FAILED
4102
+ # current_operation_status: "PENDING", # accepts PENDING, IN_PROGRESS, SUCCESS, FAILED
4103
+ # status_message: "StatusMessage",
4104
+ # error_code: "NotUpdatable", # accepts NotUpdatable, InvalidRequest, AccessDenied, InvalidCredentials, AlreadyExists, NotFound, ResourceConflict, Throttling, ServiceLimitExceeded, NotStabilized, GeneralServiceException, ServiceInternalError, NetworkFailure, InternalFailure
4105
+ # resource_model: "ResourceModel",
4106
+ # client_request_token: "ClientRequestToken",
4107
+ # }
4108
+ #
4109
+ # @!attribute [rw] bearer_token
4110
+ # Reserved for use by the [CloudFormation CLI][1].
4111
+ #
4112
+ #
4113
+ #
4114
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html
4115
+ # @return [String]
4116
+ #
4117
+ # @!attribute [rw] operation_status
4118
+ # Reserved for use by the [CloudFormation CLI][1].
4119
+ #
4120
+ #
4121
+ #
4122
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html
4123
+ # @return [String]
4124
+ #
4125
+ # @!attribute [rw] current_operation_status
4126
+ # Reserved for use by the [CloudFormation CLI][1].
4127
+ #
4128
+ #
4129
+ #
4130
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html
4131
+ # @return [String]
4132
+ #
4133
+ # @!attribute [rw] status_message
4134
+ # Reserved for use by the [CloudFormation CLI][1].
4135
+ #
4136
+ #
4137
+ #
4138
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html
4139
+ # @return [String]
4140
+ #
4141
+ # @!attribute [rw] error_code
4142
+ # Reserved for use by the [CloudFormation CLI][1].
4143
+ #
4144
+ #
4145
+ #
4146
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html
4147
+ # @return [String]
4148
+ #
4149
+ # @!attribute [rw] resource_model
4150
+ # Reserved for use by the [CloudFormation CLI][1].
4151
+ #
4152
+ #
4153
+ #
4154
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html
4155
+ # @return [String]
4156
+ #
4157
+ # @!attribute [rw] client_request_token
4158
+ # Reserved for use by the [CloudFormation CLI][1].
4159
+ #
4160
+ #
4161
+ #
4162
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html
4163
+ # @return [String]
4164
+ #
4165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RecordHandlerProgressInput AWS API Documentation
4166
+ #
4167
+ class RecordHandlerProgressInput < Struct.new(
4168
+ :bearer_token,
4169
+ :operation_status,
4170
+ :current_operation_status,
4171
+ :status_message,
4172
+ :error_code,
4173
+ :resource_model,
4174
+ :client_request_token)
4175
+ include Aws::Structure
4176
+ end
4177
+
4178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RecordHandlerProgressOutput AWS API Documentation
4179
+ #
4180
+ class RecordHandlerProgressOutput < Aws::EmptyStructure; end
4181
+
4182
+ # @note When making an API call, you may pass RegisterTypeInput
4183
+ # data as a hash:
4184
+ #
4185
+ # {
4186
+ # type: "RESOURCE", # accepts RESOURCE
4187
+ # type_name: "TypeName", # required
4188
+ # schema_handler_package: "S3Url", # required
4189
+ # logging_config: {
4190
+ # log_role_arn: "RoleArn", # required
4191
+ # log_group_name: "LogGroupName", # required
4192
+ # },
4193
+ # execution_role_arn: "RoleArn",
4194
+ # client_request_token: "RequestToken",
4195
+ # }
4196
+ #
4197
+ # @!attribute [rw] type
4198
+ # The kind of type.
4199
+ #
4200
+ # Currently, the only valid value is `RESOURCE`.
4201
+ # @return [String]
4202
+ #
4203
+ # @!attribute [rw] type_name
4204
+ # The name of the type being registered.
4205
+ #
4206
+ # We recommend that type names adhere to the following pattern:
4207
+ # *company\_or\_organization*\::*service*\::*type*.
4208
+ #
4209
+ # <note markdown="1"> The following organization namespaces are reserved and cannot be
4210
+ # used in your resource type names:
4211
+ #
4212
+ # * `Alexa`
4213
+ #
4214
+ # * `AMZN`
4215
+ #
4216
+ # * `Amazon`
4217
+ #
4218
+ # * `AWS`
4219
+ #
4220
+ # * `Custom`
4221
+ #
4222
+ # * `Dev`
4223
+ #
4224
+ # </note>
4225
+ # @return [String]
4226
+ #
4227
+ # @!attribute [rw] schema_handler_package
4228
+ # A url to the S3 bucket containing the schema handler package that
4229
+ # contains the schema, event handlers, and associated files for the
4230
+ # type you want to register.
4231
+ #
4232
+ # For information on generating a schema handler package for the type
4233
+ # you want to register, see [submit][1] in the *CloudFormation CLI
4234
+ # User Guide*.
4235
+ #
4236
+ #
4237
+ #
4238
+ # [1]: https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-submit.html
4239
+ # @return [String]
4240
+ #
4241
+ # @!attribute [rw] logging_config
4242
+ # Specifies logging configuration information for a type.
4243
+ # @return [Types::LoggingConfig]
4244
+ #
4245
+ # @!attribute [rw] execution_role_arn
4246
+ # The Amazon Resource Name (ARN) of the IAM execution role to use to
4247
+ # register the type. If your resource type calls AWS APIs in any of
4248
+ # its handlers, you must create an <i> <a
4249
+ # href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html">IAM
4250
+ # execution role</a> </i> that includes the necessary permissions to
4251
+ # call those AWS APIs, and provision that execution role in your
4252
+ # account. CloudFormation then assumes that execution role to provide
4253
+ # your resource type with the appropriate credentials.
4254
+ # @return [String]
4255
+ #
4256
+ # @!attribute [rw] client_request_token
4257
+ # A unique identifier that acts as an idempotency key for this
4258
+ # registration request. Specifying a client request token prevents
4259
+ # CloudFormation from generating more than one version of a type from
4260
+ # the same registeration request, even if the request is submitted
4261
+ # multiple times.
4262
+ # @return [String]
4263
+ #
4264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RegisterTypeInput AWS API Documentation
4265
+ #
4266
+ class RegisterTypeInput < Struct.new(
4267
+ :type,
4268
+ :type_name,
4269
+ :schema_handler_package,
4270
+ :logging_config,
4271
+ :execution_role_arn,
4272
+ :client_request_token)
4273
+ include Aws::Structure
4274
+ end
4275
+
4276
+ # @!attribute [rw] registration_token
4277
+ # The identifier for this registration request.
4278
+ #
4279
+ # Use this registration token when calling ` DescribeTypeRegistration
4280
+ # `, which returns information about the status and IDs of the type
4281
+ # registration.
4282
+ # @return [String]
4283
+ #
4284
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RegisterTypeOutput AWS API Documentation
4285
+ #
4286
+ class RegisterTypeOutput < Struct.new(
4287
+ :registration_token)
4288
+ include Aws::Structure
4289
+ end
4290
+
3484
4291
  # The `ResourceChange` structure describes the resource and the action
3485
4292
  # that AWS CloudFormation will perform on it if you execute this change
3486
4293
  # set.
@@ -3895,6 +4702,53 @@ module Aws::CloudFormation
3895
4702
  include Aws::Structure
3896
4703
  end
3897
4704
 
4705
+ # @note When making an API call, you may pass SetTypeDefaultVersionInput
4706
+ # data as a hash:
4707
+ #
4708
+ # {
4709
+ # arn: "PrivateTypeArn",
4710
+ # type: "RESOURCE", # accepts RESOURCE
4711
+ # type_name: "TypeName",
4712
+ # version_id: "TypeVersionId",
4713
+ # }
4714
+ #
4715
+ # @!attribute [rw] arn
4716
+ # The Amazon Resource Name (ARN) of the type for which you want
4717
+ # version summary information.
4718
+ #
4719
+ # Conditional: You must specify `TypeName` or `Arn`.
4720
+ # @return [String]
4721
+ #
4722
+ # @!attribute [rw] type
4723
+ # The kind of type.
4724
+ # @return [String]
4725
+ #
4726
+ # @!attribute [rw] type_name
4727
+ # The name of the type.
4728
+ #
4729
+ # Conditional: You must specify `TypeName` or `Arn`.
4730
+ # @return [String]
4731
+ #
4732
+ # @!attribute [rw] version_id
4733
+ # The ID of a specific version of the type. The version ID is the
4734
+ # value at the end of the Amazon Resource Name (ARN) assigned to the
4735
+ # type version when it is registered.
4736
+ # @return [String]
4737
+ #
4738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetTypeDefaultVersionInput AWS API Documentation
4739
+ #
4740
+ class SetTypeDefaultVersionInput < Struct.new(
4741
+ :arn,
4742
+ :type,
4743
+ :type_name,
4744
+ :version_id)
4745
+ include Aws::Structure
4746
+ end
4747
+
4748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetTypeDefaultVersionOutput AWS API Documentation
4749
+ #
4750
+ class SetTypeDefaultVersionOutput < Aws::EmptyStructure; end
4751
+
3898
4752
  # The input for the SignalResource action.
3899
4753
  #
3900
4754
  # @note When making an API call, you may pass SignalResourceInput
@@ -5437,6 +6291,88 @@ module Aws::CloudFormation
5437
6291
  include Aws::Structure
5438
6292
  end
5439
6293
 
6294
+ # Contains summary information about the specified CloudFormation type.
6295
+ #
6296
+ # @!attribute [rw] type
6297
+ # The kind of type.
6298
+ # @return [String]
6299
+ #
6300
+ # @!attribute [rw] type_name
6301
+ # The name of the type.
6302
+ # @return [String]
6303
+ #
6304
+ # @!attribute [rw] default_version_id
6305
+ # The ID of the default version of the type. The default version is
6306
+ # used when the type version is not specified.
6307
+ #
6308
+ # To set the default version of a type, use ` SetTypeDefaultVersion `.
6309
+ # @return [String]
6310
+ #
6311
+ # @!attribute [rw] type_arn
6312
+ # The Amazon Resource Name (ARN) of the type.
6313
+ # @return [String]
6314
+ #
6315
+ # @!attribute [rw] last_updated
6316
+ # When the current default version of the type was registered.
6317
+ # @return [Time]
6318
+ #
6319
+ # @!attribute [rw] description
6320
+ # The description of the type.
6321
+ # @return [String]
6322
+ #
6323
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/TypeSummary AWS API Documentation
6324
+ #
6325
+ class TypeSummary < Struct.new(
6326
+ :type,
6327
+ :type_name,
6328
+ :default_version_id,
6329
+ :type_arn,
6330
+ :last_updated,
6331
+ :description)
6332
+ include Aws::Structure
6333
+ end
6334
+
6335
+ # Contains summary information about a specific version of a
6336
+ # CloudFormation type.
6337
+ #
6338
+ # @!attribute [rw] type
6339
+ # The kind of type.
6340
+ # @return [String]
6341
+ #
6342
+ # @!attribute [rw] type_name
6343
+ # The name of the type.
6344
+ # @return [String]
6345
+ #
6346
+ # @!attribute [rw] version_id
6347
+ # The ID of a specific version of the type. The version ID is the
6348
+ # value at the end of the Amazon Resource Name (ARN) assigned to the
6349
+ # type version when it is registered.
6350
+ # @return [String]
6351
+ #
6352
+ # @!attribute [rw] arn
6353
+ # The Amazon Resource Name (ARN) of the type version.
6354
+ # @return [String]
6355
+ #
6356
+ # @!attribute [rw] time_created
6357
+ # When the version was registered.
6358
+ # @return [Time]
6359
+ #
6360
+ # @!attribute [rw] description
6361
+ # The description of the type version.
6362
+ # @return [String]
6363
+ #
6364
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/TypeVersionSummary AWS API Documentation
6365
+ #
6366
+ class TypeVersionSummary < Struct.new(
6367
+ :type,
6368
+ :type_name,
6369
+ :version_id,
6370
+ :arn,
6371
+ :time_created,
6372
+ :description)
6373
+ include Aws::Structure
6374
+ end
6375
+
5440
6376
  # The input for an UpdateStack action.
5441
6377
  #
5442
6378
  # @note When making an API call, you may pass UpdateStackInput