aws-sdk-cloudformation 1.27.0 → 1.28.0

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