aws-sdk-cloudformation 1.98.0 → 1.100.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.
@@ -408,7 +408,7 @@ module Aws::CloudFormation
408
408
  # extensions][1] in the *CloudFormation User Guide*.
409
409
  #
410
410
  # Once you have activated a public third-party extension in your account
411
- # and Region, use [SetTypeConfiguration][2] to specify configuration
411
+ # and Region, use [ `SetTypeConfiguration` ][2] to specify configuration
412
412
  # properties for the extension. For more information, see [Configuring
413
413
  # extensions at the account level][3] in the *CloudFormation User
414
414
  # Guide*.
@@ -802,7 +802,8 @@ module Aws::CloudFormation
802
802
  # must point to a template (max size: 460,800 bytes) that's located in
803
803
  # an Amazon S3 bucket or a Systems Manager document. CloudFormation
804
804
  # generates the change set by comparing this template with the stack
805
- # that you specified.
805
+ # that you specified. The location for an Amazon S3 bucket must start
806
+ # with `https://`.
806
807
  #
807
808
  # Conditional: You must specify only `TemplateBody` or `TemplateURL`.
808
809
  #
@@ -842,19 +843,19 @@ module Aws::CloudFormation
842
843
  # review all permissions associated with them and edit their
843
844
  # permissions if necessary.
844
845
  #
845
- # * [ AWS::IAM::AccessKey][1]
846
+ # * [ `AWS::IAM::AccessKey` ][1]
846
847
  #
847
- # * [ AWS::IAM::Group][2]
848
+ # * [ `AWS::IAM::Group` ][2]
848
849
  #
849
- # * [AWS::IAM::InstanceProfile][3]
850
+ # * [ `AWS::IAM::InstanceProfile` ][3]
850
851
  #
851
- # * [ AWS::IAM::Policy][4]
852
+ # * [ `AWS::IAM::Policy` ][4]
852
853
  #
853
- # * [ AWS::IAM::Role][5]
854
+ # * [ `AWS::IAM::Role` ][5]
854
855
  #
855
- # * [ AWS::IAM::User][6]
856
+ # * [ `AWS::IAM::User` ][6]
856
857
  #
857
- # * [AWS::IAM::UserToGroupAddition][7]
858
+ # * [ `AWS::IAM::UserToGroupAddition` ][7]
858
859
  #
859
860
  # For more information, see [Acknowledging IAM resources in
860
861
  # CloudFormation templates][8].
@@ -870,8 +871,8 @@ module Aws::CloudFormation
870
871
  # your stack template contains one or more macros, and you choose to
871
872
  # create a stack directly from the processed template, without first
872
873
  # reviewing the resulting changes in a change set, you must
873
- # acknowledge this capability. This includes the [AWS::Include][9] and
874
- # [AWS::Serverless][10] transforms, which are macros hosted by
874
+ # acknowledge this capability. This includes the [ `AWS::Include` ][9]
875
+ # and [ `AWS::Serverless` ][10] transforms, which are macros hosted by
875
876
  # CloudFormation.
876
877
  #
877
878
  # <note markdown="1"> This capacity doesn't apply to creating change sets, and specifying
@@ -1004,8 +1005,8 @@ module Aws::CloudFormation
1004
1005
  #
1005
1006
  # @option params [String] :on_stack_failure
1006
1007
  # Determines what action will be taken if stack creation fails. If this
1007
- # parameter is specified, the `DisableRollback` parameter to the
1008
- # [ExecuteChangeSet][1] API operation must not be specified. This must
1008
+ # parameter is specified, the `DisableRollback` parameter to the [
1009
+ # `ExecuteChangeSet` ][1] API operation must not be specified. This must
1009
1010
  # be one of these values:
1010
1011
  #
1011
1012
  # * `DELETE` - Deletes the change set if the stack creation fails. This
@@ -1015,11 +1016,11 @@ module Aws::CloudFormation
1015
1016
  #
1016
1017
  # * `DO_NOTHING` - if the stack creation fails, do nothing. This is
1017
1018
  # equivalent to specifying `true` for the `DisableRollback` parameter
1018
- # to the [ExecuteChangeSet][1] API operation.
1019
+ # to the [ `ExecuteChangeSet` ][1] API operation.
1019
1020
  #
1020
1021
  # * `ROLLBACK` - if the stack creation fails, roll back the stack. This
1021
1022
  # is equivalent to specifying `false` for the `DisableRollback`
1022
- # parameter to the [ExecuteChangeSet][1] API operation.
1023
+ # parameter to the [ `ExecuteChangeSet` ][1] API operation.
1023
1024
  #
1024
1025
  # For nested stacks, when the `OnStackFailure` parameter is set to
1025
1026
  # `DELETE` for the change set for the parent stack, any failure in a
@@ -1118,6 +1119,94 @@ module Aws::CloudFormation
1118
1119
  req.send_request(options)
1119
1120
  end
1120
1121
 
1122
+ # Creates a template from existing resources that are not already
1123
+ # managed with CloudFormation. You can check the status of the template
1124
+ # generation using the `DescribeGeneratedTemplate` API action.
1125
+ #
1126
+ # @option params [Array<Types::ResourceDefinition>] :resources
1127
+ # An optional list of resources to be included in the generated
1128
+ # template.
1129
+ #
1130
+ # If no resources are specified,the template will be created without any
1131
+ # resources. Resources can be added to the template using the
1132
+ # `UpdateGeneratedTemplate` API action.
1133
+ #
1134
+ # @option params [required, String] :generated_template_name
1135
+ # The name assigned to the generated template.
1136
+ #
1137
+ # @option params [String] :stack_name
1138
+ # An optional name or ARN of a stack to use as the base stack for the
1139
+ # generated template.
1140
+ #
1141
+ # @option params [Types::TemplateConfiguration] :template_configuration
1142
+ # The configuration details of the generated template, including the
1143
+ # `DeletionPolicy` and `UpdateReplacePolicy`.
1144
+ #
1145
+ # @return [Types::CreateGeneratedTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1146
+ #
1147
+ # * {Types::CreateGeneratedTemplateOutput#generated_template_id #generated_template_id} => String
1148
+ #
1149
+ #
1150
+ # @example Example: To create a generated template
1151
+ #
1152
+ # # This example creates a generated template with a resources file.
1153
+ #
1154
+ # resp = client.create_generated_template({
1155
+ # generated_template_name: "JazzyTemplate",
1156
+ # resources: [
1157
+ # {
1158
+ # resource_identifier: {
1159
+ # "BucketName" => "jazz-bucket",
1160
+ # },
1161
+ # resource_type: "AWS::S3::Bucket",
1162
+ # },
1163
+ # {
1164
+ # resource_identifier: {
1165
+ # "DhcpOptionsId" => "random-id123",
1166
+ # },
1167
+ # resource_type: "AWS::EC2::DHCPOptions",
1168
+ # },
1169
+ # ],
1170
+ # })
1171
+ #
1172
+ # resp.to_h outputs the following:
1173
+ # {
1174
+ # generated_template_id: "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/88f09db1-d211-4cb7-964b-434e2b8469ca",
1175
+ # }
1176
+ #
1177
+ # @example Request syntax with placeholder values
1178
+ #
1179
+ # resp = client.create_generated_template({
1180
+ # resources: [
1181
+ # {
1182
+ # resource_type: "ResourceType", # required
1183
+ # logical_resource_id: "LogicalResourceId",
1184
+ # resource_identifier: { # required
1185
+ # "ResourceIdentifierPropertyKey" => "ResourceIdentifierPropertyValue",
1186
+ # },
1187
+ # },
1188
+ # ],
1189
+ # generated_template_name: "GeneratedTemplateName", # required
1190
+ # stack_name: "StackName",
1191
+ # template_configuration: {
1192
+ # deletion_policy: "DELETE", # accepts DELETE, RETAIN
1193
+ # update_replace_policy: "DELETE", # accepts DELETE, RETAIN
1194
+ # },
1195
+ # })
1196
+ #
1197
+ # @example Response structure
1198
+ #
1199
+ # resp.generated_template_id #=> String
1200
+ #
1201
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateGeneratedTemplate AWS API Documentation
1202
+ #
1203
+ # @overload create_generated_template(params = {})
1204
+ # @param [Hash] params ({})
1205
+ def create_generated_template(params = {}, options = {})
1206
+ req = build_request(:create_generated_template, params)
1207
+ req.send_request(options)
1208
+ end
1209
+
1121
1210
  # Creates a stack as specified in the template. After the call completes
1122
1211
  # successfully, the stack creation starts. You can check the status of
1123
1212
  # the stack through the DescribeStacks operation.
@@ -1148,7 +1237,8 @@ module Aws::CloudFormation
1148
1237
  # Location of file containing the template body. The URL must point to a
1149
1238
  # template (max size: 460,800 bytes) that's located in an Amazon S3
1150
1239
  # bucket or a Systems Manager document. For more information, go to the
1151
- # [Template anatomy][1] in the *CloudFormation User Guide*.
1240
+ # [Template anatomy][1] in the *CloudFormation User Guide*. The location
1241
+ # for an Amazon S3 bucket must start with `https://`.
1152
1242
  #
1153
1243
  # Conditional: You must specify either the `TemplateBody` or the
1154
1244
  # `TemplateURL` parameter, but not both.
@@ -1159,7 +1249,7 @@ module Aws::CloudFormation
1159
1249
  #
1160
1250
  # @option params [Array<Types::Parameter>] :parameters
1161
1251
  # A list of `Parameter` structures that specify input parameters for the
1162
- # stack. For more information, see the [Parameter][1] data type.
1252
+ # stack. For more information, see the [ `Parameter` ][1] data type.
1163
1253
  #
1164
1254
  #
1165
1255
  #
@@ -1179,7 +1269,7 @@ module Aws::CloudFormation
1179
1269
  #
1180
1270
  # @option params [Integer] :timeout_in_minutes
1181
1271
  # The amount of time that can pass before the stack status becomes
1182
- # CREATE\_FAILED; if `DisableRollback` is not set or is set to `false`,
1272
+ # `CREATE_FAILED`; if `DisableRollback` is not set or is set to `false`,
1183
1273
  # the stack will be rolled back.
1184
1274
  #
1185
1275
  # @option params [Array<String>] :notification_arns
@@ -1215,19 +1305,19 @@ module Aws::CloudFormation
1215
1305
  # you review all permissions associated with them and edit their
1216
1306
  # permissions if necessary.
1217
1307
  #
1218
- # * [ AWS::IAM::AccessKey][1]
1308
+ # * [ `AWS::IAM::AccessKey` AWS::IAM::AccessKey][1]
1219
1309
  #
1220
- # * [ AWS::IAM::Group][2]
1310
+ # * [ `AWS::IAM::Group` ][2]
1221
1311
  #
1222
- # * [AWS::IAM::InstanceProfile][3]
1312
+ # * [ `AWS::IAM::InstanceProfile` ][3]
1223
1313
  #
1224
- # * [ AWS::IAM::Policy][4]
1314
+ # * [ `AWS::IAM::Policy` ][4]
1225
1315
  #
1226
- # * [ AWS::IAM::Role][5]
1316
+ # * [ `AWS::IAM::Role` ][5]
1227
1317
  #
1228
- # * [ AWS::IAM::User][6]
1318
+ # * [ `AWS::IAM::User` ][6]
1229
1319
  #
1230
- # * [AWS::IAM::UserToGroupAddition][7]
1320
+ # * [ `AWS::IAM::UserToGroupAddition` ][7]
1231
1321
  #
1232
1322
  # For more information, see [Acknowledging IAM Resources in
1233
1323
  # CloudFormation Templates][8].
@@ -1243,8 +1333,8 @@ module Aws::CloudFormation
1243
1333
  # your stack template contains one or more macros, and you choose to
1244
1334
  # create a stack directly from the processed template, without first
1245
1335
  # reviewing the resulting changes in a change set, you must
1246
- # acknowledge this capability. This includes the [AWS::Include][9] and
1247
- # [AWS::Serverless][10] transforms, which are macros hosted by
1336
+ # acknowledge this capability. This includes the [ `AWS::Include` ][9]
1337
+ # and [ `AWS::Serverless` ][10] transforms, which are macros hosted by
1248
1338
  # CloudFormation.
1249
1339
  #
1250
1340
  # If you want to create a stack from a stack template that contains
@@ -1342,8 +1432,9 @@ module Aws::CloudFormation
1342
1432
  # @option params [String] :stack_policy_url
1343
1433
  # Location of a file containing the stack policy. The URL must point to
1344
1434
  # a policy (maximum size: 16 KB) located in an S3 bucket in the same
1345
- # Region as the stack. You can specify either the `StackPolicyBody` or
1346
- # the `StackPolicyURL` parameter, but not both.
1435
+ # Region as the stack. The location for an Amazon S3 bucket must start
1436
+ # with `https://`. You can specify either the `StackPolicyBody` or the
1437
+ # `StackPolicyURL` parameter, but not both.
1347
1438
  #
1348
1439
  # @option params [Array<Types::Tag>] :tags
1349
1440
  # Key-value pairs to associate with this stack. CloudFormation also
@@ -1510,8 +1601,8 @@ module Aws::CloudFormation
1510
1601
  # instance aren't updated, but retain their overridden value.
1511
1602
  #
1512
1603
  # You can only override the parameter *values* that are specified in the
1513
- # stack set; to add or delete a parameter itself, use
1514
- # [UpdateStackSet][1] to update the stack set template.
1604
+ # stack set; to add or delete a parameter itself, use [ `UpdateStackSet`
1605
+ # ][1] to update the stack set template.
1515
1606
  #
1516
1607
  #
1517
1608
  #
@@ -1687,19 +1778,19 @@ module Aws::CloudFormation
1687
1778
  # you review all permissions associated with them and edit their
1688
1779
  # permissions if necessary.
1689
1780
  #
1690
- # * [ AWS::IAM::AccessKey][1]
1781
+ # * [ `AWS::IAM::AccessKey` ][1]
1691
1782
  #
1692
- # * [ AWS::IAM::Group][2]
1783
+ # * [ `AWS::IAM::Group` ][2]
1693
1784
  #
1694
- # * [AWS::IAM::InstanceProfile][3]
1785
+ # * [ `AWS::IAM::InstanceProfile` ][3]
1695
1786
  #
1696
- # * [ AWS::IAM::Policy][4]
1787
+ # * [ `AWS::IAM::Policy` ][4]
1697
1788
  #
1698
- # * [ AWS::IAM::Role][5]
1789
+ # * [ `AWS::IAM::Role` ][5]
1699
1790
  #
1700
- # * [ AWS::IAM::User][6]
1791
+ # * [ `AWS::IAM::User` ][6]
1701
1792
  #
1702
- # * [AWS::IAM::UserToGroupAddition][7]
1793
+ # * [ `AWS::IAM::UserToGroupAddition` ][7]
1703
1794
  #
1704
1795
  # For more information, see [Acknowledging IAM Resources in
1705
1796
  # CloudFormation Templates][8].
@@ -1715,12 +1806,11 @@ module Aws::CloudFormation
1715
1806
  # Templates][9].
1716
1807
  #
1717
1808
  # Stack sets with service-managed permissions don't currently support
1718
- # the use of macros in templates. (This includes the
1719
- # [AWS::Include][10] and [AWS::Serverless][11] transforms, which are
1720
- # macros hosted by CloudFormation.) Even if you specify this
1721
- # capability for a stack set with service-managed permissions, if you
1722
- # reference a macro in your template the stack set operation will
1723
- # fail.
1809
+ # the use of macros in templates. (This includes the [ `AWS::Include`
1810
+ # ][10] and [ `AWS::Serverless` ][11] transforms, which are macros
1811
+ # hosted by CloudFormation.) Even if you specify this capability for a
1812
+ # stack set with service-managed permissions, if you reference a macro
1813
+ # in your template the stack set operation will fail.
1724
1814
  #
1725
1815
  #
1726
1816
  #
@@ -1989,6 +2079,37 @@ module Aws::CloudFormation
1989
2079
  req.send_request(options)
1990
2080
  end
1991
2081
 
2082
+ # Deleted a generated template.
2083
+ #
2084
+ # @option params [required, String] :generated_template_name
2085
+ # The name or Amazon Resource Name (ARN) of a generated template.
2086
+ #
2087
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2088
+ #
2089
+ #
2090
+ # @example Example: To delete a generated template
2091
+ #
2092
+ # # This example deletes a generated template
2093
+ #
2094
+ # resp = client.delete_generated_template({
2095
+ # generated_template_name: "JazzyTemplate",
2096
+ # })
2097
+ #
2098
+ # @example Request syntax with placeholder values
2099
+ #
2100
+ # resp = client.delete_generated_template({
2101
+ # generated_template_name: "GeneratedTemplateName", # required
2102
+ # })
2103
+ #
2104
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteGeneratedTemplate AWS API Documentation
2105
+ #
2106
+ # @overload delete_generated_template(params = {})
2107
+ # @param [Hash] params ({})
2108
+ def delete_generated_template(params = {}, options = {})
2109
+ req = build_request(:delete_generated_template, params)
2110
+ req.send_request(options)
2111
+ end
2112
+
1992
2113
  # Deletes a specified stack. Once the call completes successfully, stack
1993
2114
  # deletion starts. Deleted stacks don't show up in the DescribeStacks
1994
2115
  # operation if the deletion has been completed successfully.
@@ -2242,7 +2363,7 @@ module Aws::CloudFormation
2242
2363
  # deregistered as well and marked as deprecated.
2243
2364
  #
2244
2365
  # To view the deprecation status of an extension or extension version,
2245
- # use [DescribeType][1].
2366
+ # use [ `DescribeType` ][1].
2246
2367
  #
2247
2368
  #
2248
2369
  #
@@ -2518,6 +2639,103 @@ module Aws::CloudFormation
2518
2639
  req.send_request(options)
2519
2640
  end
2520
2641
 
2642
+ # Describes a generated template. The output includes details about the
2643
+ # progress of the creation of a generated template started by a
2644
+ # `CreateGeneratedTemplate` API action or the update of a generated
2645
+ # template started with an `UpdateGeneratedTemplate` API action.
2646
+ #
2647
+ # @option params [required, String] :generated_template_name
2648
+ # The name or Amazon Resource Name (ARN) of a generated template.
2649
+ #
2650
+ # @return [Types::DescribeGeneratedTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2651
+ #
2652
+ # * {Types::DescribeGeneratedTemplateOutput#generated_template_id #generated_template_id} => String
2653
+ # * {Types::DescribeGeneratedTemplateOutput#generated_template_name #generated_template_name} => String
2654
+ # * {Types::DescribeGeneratedTemplateOutput#resources #resources} => Array&lt;Types::ResourceDetail&gt;
2655
+ # * {Types::DescribeGeneratedTemplateOutput#status #status} => String
2656
+ # * {Types::DescribeGeneratedTemplateOutput#status_reason #status_reason} => String
2657
+ # * {Types::DescribeGeneratedTemplateOutput#creation_time #creation_time} => Time
2658
+ # * {Types::DescribeGeneratedTemplateOutput#last_updated_time #last_updated_time} => Time
2659
+ # * {Types::DescribeGeneratedTemplateOutput#progress #progress} => Types::TemplateProgress
2660
+ # * {Types::DescribeGeneratedTemplateOutput#stack_id #stack_id} => String
2661
+ # * {Types::DescribeGeneratedTemplateOutput#template_configuration #template_configuration} => Types::TemplateConfiguration
2662
+ # * {Types::DescribeGeneratedTemplateOutput#total_warnings #total_warnings} => Integer
2663
+ #
2664
+ #
2665
+ # @example Example: To describe a generated template
2666
+ #
2667
+ # # This example describes a generated template
2668
+ #
2669
+ # resp = client.describe_generated_template({
2670
+ # generated_template_name: "JazzyTemplate",
2671
+ # })
2672
+ #
2673
+ # resp.to_h outputs the following:
2674
+ # {
2675
+ # creation_time: Time.parse("2023-12-28T17:55:20.086000+00:00"),
2676
+ # generated_template_id: "arn:aws:cloudformation:us-east-1:*:generatedtemplate/*",
2677
+ # generated_template_name: "DeletedResourceTest",
2678
+ # last_updated_time: Time.parse("2023-12-28T17:57:16.610000+00:00"),
2679
+ # progress: {
2680
+ # resources_failed: 0,
2681
+ # resources_pending: 0,
2682
+ # resources_processing: 0,
2683
+ # resources_succeeded: 0,
2684
+ # },
2685
+ # status: "COMPLETE",
2686
+ # status_reason: "All resources complete",
2687
+ # template_configuration: {
2688
+ # deletion_policy: "RETAIN",
2689
+ # update_replace_policy: "RETAIN",
2690
+ # },
2691
+ # total_warnings: 0,
2692
+ # }
2693
+ #
2694
+ # @example Request syntax with placeholder values
2695
+ #
2696
+ # resp = client.describe_generated_template({
2697
+ # generated_template_name: "GeneratedTemplateName", # required
2698
+ # })
2699
+ #
2700
+ # @example Response structure
2701
+ #
2702
+ # resp.generated_template_id #=> String
2703
+ # resp.generated_template_name #=> String
2704
+ # resp.resources #=> Array
2705
+ # resp.resources[0].resource_type #=> String
2706
+ # resp.resources[0].logical_resource_id #=> String
2707
+ # resp.resources[0].resource_identifier #=> Hash
2708
+ # resp.resources[0].resource_identifier["ResourceIdentifierPropertyKey"] #=> String
2709
+ # resp.resources[0].resource_status #=> String, one of "PENDING", "IN_PROGRESS", "FAILED", "COMPLETE"
2710
+ # resp.resources[0].resource_status_reason #=> String
2711
+ # resp.resources[0].warnings #=> Array
2712
+ # resp.resources[0].warnings[0].type #=> String, one of "MUTUALLY_EXCLUSIVE_PROPERTIES", "UNSUPPORTED_PROPERTIES", "MUTUALLY_EXCLUSIVE_TYPES"
2713
+ # resp.resources[0].warnings[0].properties #=> Array
2714
+ # resp.resources[0].warnings[0].properties[0].property_path #=> String
2715
+ # resp.resources[0].warnings[0].properties[0].required #=> Boolean
2716
+ # resp.resources[0].warnings[0].properties[0].description #=> String
2717
+ # resp.status #=> String, one of "CREATE_PENDING", "UPDATE_PENDING", "DELETE_PENDING", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "FAILED", "COMPLETE"
2718
+ # resp.status_reason #=> String
2719
+ # resp.creation_time #=> Time
2720
+ # resp.last_updated_time #=> Time
2721
+ # resp.progress.resources_succeeded #=> Integer
2722
+ # resp.progress.resources_failed #=> Integer
2723
+ # resp.progress.resources_processing #=> Integer
2724
+ # resp.progress.resources_pending #=> Integer
2725
+ # resp.stack_id #=> String
2726
+ # resp.template_configuration.deletion_policy #=> String, one of "DELETE", "RETAIN"
2727
+ # resp.template_configuration.update_replace_policy #=> String, one of "DELETE", "RETAIN"
2728
+ # resp.total_warnings #=> Integer
2729
+ #
2730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeGeneratedTemplate AWS API Documentation
2731
+ #
2732
+ # @overload describe_generated_template(params = {})
2733
+ # @param [Hash] params ({})
2734
+ def describe_generated_template(params = {}, options = {})
2735
+ req = build_request(:describe_generated_template, params)
2736
+ req.send_request(options)
2737
+ end
2738
+
2521
2739
  # Retrieves information about the account's `OrganizationAccess`
2522
2740
  # status. This API can be called either by the management account or the
2523
2741
  # delegated administrator by using the `CallAs` parameter. This API can
@@ -2576,7 +2794,7 @@ module Aws::CloudFormation
2576
2794
  #
2577
2795
  # For more information about registering as a publisher, see:
2578
2796
  #
2579
- # * [RegisterPublisher][1]
2797
+ # * [ `RegisterPublisher` ][1]
2580
2798
  #
2581
2799
  # * [Publishing extensions to make them available for public use][2] in
2582
2800
  # the *CloudFormation CLI User Guide*
@@ -2622,6 +2840,146 @@ module Aws::CloudFormation
2622
2840
  req.send_request(options)
2623
2841
  end
2624
2842
 
2843
+ # Describes details of a resource scan.
2844
+ #
2845
+ # @option params [required, String] :resource_scan_id
2846
+ # The Amazon Resource Name (ARN) of the resource scan.
2847
+ #
2848
+ # @return [Types::DescribeResourceScanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2849
+ #
2850
+ # * {Types::DescribeResourceScanOutput#resource_scan_id #resource_scan_id} => String
2851
+ # * {Types::DescribeResourceScanOutput#status #status} => String
2852
+ # * {Types::DescribeResourceScanOutput#status_reason #status_reason} => String
2853
+ # * {Types::DescribeResourceScanOutput#start_time #start_time} => Time
2854
+ # * {Types::DescribeResourceScanOutput#end_time #end_time} => Time
2855
+ # * {Types::DescribeResourceScanOutput#percentage_completed #percentage_completed} => Float
2856
+ # * {Types::DescribeResourceScanOutput#resource_types #resource_types} => Array&lt;String&gt;
2857
+ # * {Types::DescribeResourceScanOutput#resources_scanned #resources_scanned} => Integer
2858
+ # * {Types::DescribeResourceScanOutput#resources_read #resources_read} => Integer
2859
+ #
2860
+ #
2861
+ # @example Example: To describe a selected resource scan
2862
+ #
2863
+ # # This example describes a selected resource scan
2864
+ #
2865
+ # resp = client.describe_resource_scan({
2866
+ # resource_scan_id: "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1",
2867
+ # })
2868
+ #
2869
+ # resp.to_h outputs the following:
2870
+ # {
2871
+ # end_time: Time.parse("2024-01-02T23:25:48.075000+00:00"),
2872
+ # percentage_completed: 100.0,
2873
+ # resource_scan_id: "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1",
2874
+ # resource_types: [
2875
+ # "AWS::Amplify::App",
2876
+ # "AWS::ApiGateway::Deployment",
2877
+ # "AWS::ApiGateway::DocumentationPart",
2878
+ # "AWS::ApiGateway::Model",
2879
+ # "AWS::ApiGateway::Resource",
2880
+ # "AWS::ApiGateway::RestApi",
2881
+ # "AWS::ApiGateway::Stage",
2882
+ # "AWS::AppConfig::Extension",
2883
+ # "AWS::ApplicationAutoScaling::ScalableTarget",
2884
+ # "AWS::Athena::WorkGroup",
2885
+ # "AWS::Cassandra::Keyspace",
2886
+ # "AWS::CloudFront::CachePolicy",
2887
+ # "AWS::CloudFront::Function",
2888
+ # "AWS::CloudFront::OriginRequestPolicy",
2889
+ # "AWS::CloudTrail::Trail",
2890
+ # "AWS::CloudWatch::Alarm",
2891
+ # "AWS::CodeDeploy::Application",
2892
+ # "AWS::CodeDeploy::DeploymentConfig",
2893
+ # "AWS::Cognito::UserPool",
2894
+ # "AWS::Cognito::UserPoolGroup",
2895
+ # "AWS::Cognito::UserPoolUser",
2896
+ # "AWS::DynamoDB::Table",
2897
+ # "AWS::EC2::DHCPOptions",
2898
+ # "AWS::EC2::EIP",
2899
+ # "AWS::EC2::InternetGateway",
2900
+ # "AWS::EC2::LaunchTemplate",
2901
+ # "AWS::EC2::NetworkAcl",
2902
+ # "AWS::EC2::Route",
2903
+ # "AWS::EC2::RouteTable",
2904
+ # "AWS::EC2::SubnetNetworkAclAssociation",
2905
+ # "AWS::EC2::SubnetRouteTableAssociation",
2906
+ # "AWS::EC2::VPC",
2907
+ # "AWS::EC2::VPCDHCPOptionsAssociation",
2908
+ # "AWS::EC2::VPCGatewayAttachment",
2909
+ # "AWS::ECR::Repository",
2910
+ # "AWS::ECS::Cluster",
2911
+ # "AWS::ECS::ClusterCapacityProviderAssociations",
2912
+ # "AWS::ECS::Service",
2913
+ # "AWS::ECS::TaskDefinition",
2914
+ # "AWS::ElastiCache::SubnetGroup",
2915
+ # "AWS::ElastiCache::User",
2916
+ # "AWS::Events::EventBus",
2917
+ # "AWS::Events::Rule",
2918
+ # "AWS::GameLift::Location",
2919
+ # "AWS::GuardDuty::Detector",
2920
+ # "AWS::IAM::InstanceProfile",
2921
+ # "AWS::IAM::ManagedPolicy",
2922
+ # "AWS::IAM::Role",
2923
+ # "AWS::IAM::User",
2924
+ # "AWS::IoT::DomainConfiguration",
2925
+ # "AWS::KMS::Alias",
2926
+ # "AWS::KMS::Key",
2927
+ # "AWS::Lambda::EventSourceMapping",
2928
+ # "AWS::Lambda::Function",
2929
+ # "AWS::Lambda::Permission",
2930
+ # "AWS::Lambda::Version",
2931
+ # "AWS::Logs::LogGroup",
2932
+ # "AWS::Logs::LogStream",
2933
+ # "AWS::MemoryDB::ACL",
2934
+ # "AWS::MemoryDB::ParameterGroup",
2935
+ # "AWS::MemoryDB::User",
2936
+ # "AWS::RAM::Permission",
2937
+ # "AWS::RDS::CustomDBEngineVersion",
2938
+ # "AWS::Route53Resolver::ResolverRuleAssociation",
2939
+ # "AWS::S3::AccessPoint",
2940
+ # "AWS::S3::BucketPolicy",
2941
+ # "AWS::S3::StorageLens",
2942
+ # "AWS::SNS::Topic",
2943
+ # "AWS::SQS::Queue",
2944
+ # "AWS::SSM::Association",
2945
+ # "AWS::SSM::Document",
2946
+ # "AWS::StepFunctions::StateMachine",
2947
+ # "AWS::XRay::Group",
2948
+ # "AWS::XRay::SamplingRule",
2949
+ # ],
2950
+ # resources_read: 25107,
2951
+ # start_time: Time.parse("2024-01-02T22:15:18.382000+00:00"),
2952
+ # status: "COMPLETE",
2953
+ # }
2954
+ #
2955
+ # @example Request syntax with placeholder values
2956
+ #
2957
+ # resp = client.describe_resource_scan({
2958
+ # resource_scan_id: "ResourceScanId", # required
2959
+ # })
2960
+ #
2961
+ # @example Response structure
2962
+ #
2963
+ # resp.resource_scan_id #=> String
2964
+ # resp.status #=> String, one of "IN_PROGRESS", "FAILED", "COMPLETE", "EXPIRED"
2965
+ # resp.status_reason #=> String
2966
+ # resp.start_time #=> Time
2967
+ # resp.end_time #=> Time
2968
+ # resp.percentage_completed #=> Float
2969
+ # resp.resource_types #=> Array
2970
+ # resp.resource_types[0] #=> String
2971
+ # resp.resources_scanned #=> Integer
2972
+ # resp.resources_read #=> Integer
2973
+ #
2974
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeResourceScan AWS API Documentation
2975
+ #
2976
+ # @overload describe_resource_scan(params = {})
2977
+ # @param [Hash] params ({})
2978
+ def describe_resource_scan(params = {}, options = {})
2979
+ req = build_request(:describe_resource_scan, params)
2980
+ req.send_request(options)
2981
+ end
2982
+
2625
2983
  # Returns information about a stack drift detection operation. A stack
2626
2984
  # drift detection operation detects whether a stack's actual
2627
2985
  # configuration differs, or has *drifted*, from its expected
@@ -2746,6 +3104,7 @@ module Aws::CloudFormation
2746
3104
  # resp.stack_events[0].hook_status_reason #=> String
2747
3105
  # resp.stack_events[0].hook_invocation_point #=> String, one of "PRE_PROVISION"
2748
3106
  # resp.stack_events[0].hook_failure_mode #=> String, one of "FAIL", "WARN"
3107
+ # resp.stack_events[0].detailed_status #=> String, one of "CONFIGURATION_COMPLETE", "VALIDATION_FAILED"
2749
3108
  # resp.next_token #=> String
2750
3109
  #
2751
3110
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeStackEvents AWS API Documentation
@@ -2821,7 +3180,7 @@ module Aws::CloudFormation
2821
3180
  # resp.stack_instance.parameter_overrides[0].use_previous_value #=> Boolean
2822
3181
  # resp.stack_instance.parameter_overrides[0].resolved_value #=> String
2823
3182
  # resp.stack_instance.status #=> String, one of "CURRENT", "OUTDATED", "INOPERABLE"
2824
- # resp.stack_instance.stack_instance_status.detailed_status #=> String, one of "PENDING", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED", "INOPERABLE", "SKIPPED_SUSPENDED_ACCOUNT"
3183
+ # resp.stack_instance.stack_instance_status.detailed_status #=> String, one of "PENDING", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED", "INOPERABLE", "SKIPPED_SUSPENDED_ACCOUNT", "FAILED_IMPORT"
2825
3184
  # resp.stack_instance.status_reason #=> String
2826
3185
  # resp.stack_instance.organizational_unit_id #=> String
2827
3186
  # resp.stack_instance.drift_status #=> String, one of "DRIFTED", "IN_SYNC", "UNKNOWN", "NOT_CHECKED"
@@ -3361,6 +3720,7 @@ module Aws::CloudFormation
3361
3720
  # resp.stacks[0].drift_information.stack_drift_status #=> String, one of "DRIFTED", "IN_SYNC", "UNKNOWN", "NOT_CHECKED"
3362
3721
  # resp.stacks[0].drift_information.last_check_timestamp #=> Time
3363
3722
  # resp.stacks[0].retain_except_on_create #=> Boolean
3723
+ # resp.stacks[0].detailed_status #=> String, one of "CONFIGURATION_COMPLETE", "VALIDATION_FAILED"
3364
3724
  # resp.next_token #=> String
3365
3725
  #
3366
3726
  #
@@ -3832,7 +4192,8 @@ module Aws::CloudFormation
3832
4192
  # Location of file containing the template body. The URL must point to a
3833
4193
  # template that's located in an Amazon S3 bucket or a Systems Manager
3834
4194
  # document. For more information, go to [Template Anatomy][1] in the
3835
- # *CloudFormation User Guide*.
4195
+ # *CloudFormation User Guide*. The location for an Amazon S3 bucket must
4196
+ # start with `https://`.
3836
4197
  #
3837
4198
  # Conditional: You must pass `TemplateURL` or `TemplateBody`. If both
3838
4199
  # are passed, only `TemplateBody` is used.
@@ -3911,16 +4272,16 @@ module Aws::CloudFormation
3911
4272
  # @option params [Boolean] :disable_rollback
3912
4273
  # Preserves the state of previously provisioned resources when an
3913
4274
  # operation fails. This parameter can't be specified when the
3914
- # `OnStackFailure` parameter to the [CreateChangeSet][1] API operation
3915
- # was specified.
4275
+ # `OnStackFailure` parameter to the [ `CreateChangeSet` ][1] API
4276
+ # operation was specified.
3916
4277
  #
3917
4278
  # * `True` - if the stack creation fails, do nothing. This is equivalent
3918
4279
  # to specifying `DO_NOTHING` for the `OnStackFailure` parameter to the
3919
- # [CreateChangeSet][1] API operation.
4280
+ # [ `CreateChangeSet` ][1] API operation.
3920
4281
  #
3921
4282
  # * `False` - if the stack creation fails, roll back the stack. This is
3922
4283
  # equivalent to specifying `ROLLBACK` for the `OnStackFailure`
3923
- # parameter to the [CreateChangeSet][1] API operation.
4284
+ # parameter to the [ `CreateChangeSet` ][1] API operation.
3924
4285
  #
3925
4286
  # Default: `True`
3926
4287
  #
@@ -3956,6 +4317,84 @@ module Aws::CloudFormation
3956
4317
  req.send_request(options)
3957
4318
  end
3958
4319
 
4320
+ # Retrieves a generated template. If the template is in an `InProgress`
4321
+ # or `Pending` status then the template returned will be the template
4322
+ # when the template was last in a `Complete` status. If the template has
4323
+ # not yet been in a `Complete` status then an empty template will be
4324
+ # returned.
4325
+ #
4326
+ # @option params [String] :format
4327
+ # The language to use to retrieve for the generated template. Supported
4328
+ # values are:
4329
+ #
4330
+ # * `JSON`
4331
+ #
4332
+ # * `YAML`
4333
+ #
4334
+ # @option params [required, String] :generated_template_name
4335
+ # The name or Amazon Resource Name (ARN) of the generated template. The
4336
+ # format is
4337
+ # `arn:$\{Partition\}:cloudformation:$\{Region\}:$\{Account\}:generatedtemplate/$\{Id\}`.
4338
+ # For example,
4339
+ # `arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/2e8465c1-9a80-43ea-a3a3-4f2d692fe6dc
4340
+ # `.
4341
+ #
4342
+ # @return [Types::GetGeneratedTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4343
+ #
4344
+ # * {Types::GetGeneratedTemplateOutput#status #status} => String
4345
+ # * {Types::GetGeneratedTemplateOutput#template_body #template_body} => String
4346
+ #
4347
+ #
4348
+ # @example Example: To get a generated template in JSON format
4349
+ #
4350
+ # # This example gets a generated template ins JSON format.
4351
+ #
4352
+ # resp = client.get_generated_template({
4353
+ # generated_template_name: "JazzyTemplate",
4354
+ # })
4355
+ #
4356
+ # resp.to_h outputs the following:
4357
+ # {
4358
+ # status: "COMPLETE",
4359
+ # template_body: "{\"Metadata\":{\"TemplateId\":\"arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/*\"},\"Parameters\":{\"Stage\":{\"Default\":\"beta\",\"Type\":\"String\"}},\"Resources\":{\"TestRole\":{\"Properties\":{\"AssumeRolePolicyDocument\":{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":{\"Fn::Sub\":[\"arn:${AWS::Partition}:iam::${AccountId}:root\",{\"AccountId\":{\"Fn::AccountIdFromAlias\":\"test-account-alias\"}}]}},\"Action\":\"sts:AssumeRole\"}]}},\"Type\":\"AWS::IAM::Role\",\"DeletionPolicy\":\"Delete\"},\"DocumentationPartl7ob4vsd76vs\":{\"UpdateReplacePolicy\":\"Retain\",\"Type\":\"AWS::ApiGateway::DocumentationPart\",\"DeletionPolicy\":\"Retain\",\"Properties\":{\"RestApiId\":\"l7ob4vsd76\",\"Properties\":\"{\\n \\\"description\\\" : \\\"ListGeneratedTemplates 200 response\\\"\\n}\",\"Location\":{\"Path\":\"/ListGeneratedTemplates\",\"Type\":\"RESPONSE\",\"Method\":\"POST\",\"StatusCode\":\"200\"}}}}}",
4360
+ # }
4361
+ #
4362
+ # @example Example: To get a generated template in YAML format
4363
+ #
4364
+ # # This example gets a generated template in YAML format.
4365
+ #
4366
+ # resp = client.get_generated_template({
4367
+ # format: "YAML",
4368
+ # generated_template_name: "JazzyTemplate",
4369
+ # })
4370
+ #
4371
+ # resp.to_h outputs the following:
4372
+ # {
4373
+ # status: "COMPLETE",
4374
+ # template_body: "---\nMetadata:\n TemplateId: \"arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/*\"\nParameters:\n Stage:\n Default: \"beta\"\n Type: \"String\"\nResources:\n TestRole:\n Properties:\n AssumeRolePolicyDocument:\n Version: \"2012-10-17\"\n Statement:\n - Effect: \"Allow\"\n Principal:\n AWS:\n Fn::Sub:\n - \"arn:${AWS::Partition}:iam::${AccountId}:root\"\n - AccountId:\n Fn::AccountIdFromAlias: \"test-account-alias\"\n Action: \"sts:AssumeRole\"\n Type: \"AWS::IAM::Role\"\n DeletionPolicy: \"Delete\"\n DocumentationPartl7ob4vsd76vsnAlFMLXKVm:\n UpdateReplacePolicy: \"Retain\"\n Type: \"AWS::ApiGateway::DocumentationPart\"\n DeletionPolicy: \"Retain\"\n Properties:\n RestApiId: \"l7ob4vsd76\"\n Properties: \"{\\n \\\"description\\\" : \\\"ListGeneratedTemplates 200 response\\\"\\n\\\n }\"\n Location:\n Path: \"/ListGeneratedTemplates\"\n Type: \"RESPONSE\"\n Method: \"POST\"\n StatusCode: \"200\"\n",
4375
+ # }
4376
+ #
4377
+ # @example Request syntax with placeholder values
4378
+ #
4379
+ # resp = client.get_generated_template({
4380
+ # format: "JSON", # accepts JSON, YAML
4381
+ # generated_template_name: "GeneratedTemplateName", # required
4382
+ # })
4383
+ #
4384
+ # @example Response structure
4385
+ #
4386
+ # resp.status #=> String, one of "CREATE_PENDING", "UPDATE_PENDING", "DELETE_PENDING", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "FAILED", "COMPLETE"
4387
+ # resp.template_body #=> String
4388
+ #
4389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetGeneratedTemplate AWS API Documentation
4390
+ #
4391
+ # @overload get_generated_template(params = {})
4392
+ # @param [Hash] params ({})
4393
+ def get_generated_template(params = {}, options = {})
4394
+ req = build_request(:get_generated_template, params)
4395
+ req.send_request(options)
4396
+ end
4397
+
3959
4398
  # Returns the stack policy for a specified stack. If a stack doesn't
3960
4399
  # have a policy, a null value is returned.
3961
4400
  #
@@ -4081,7 +4520,8 @@ module Aws::CloudFormation
4081
4520
  # template (max size: 460,800 bytes) that's located in an Amazon S3
4082
4521
  # bucket or a Systems Manager document. For more information about
4083
4522
  # templates, see [Template anatomy][1] in the *CloudFormation User
4084
- # Guide*.
4523
+ # Guide*. The location for an Amazon S3 bucket must start with
4524
+ # `https://`.
4085
4525
  #
4086
4526
  # Conditional: You must specify only one of the following parameters:
4087
4527
  # `StackName`, `StackSetName`, `TemplateBody`, or `TemplateURL`.
@@ -4382,6 +4822,94 @@ module Aws::CloudFormation
4382
4822
  req.send_request(options)
4383
4823
  end
4384
4824
 
4825
+ # Lists your generated templates in this Region.
4826
+ #
4827
+ # @option params [String] :next_token
4828
+ # A string that identifies the next page of resource scan results.
4829
+ #
4830
+ # @option params [Integer] :max_results
4831
+ # If the number of available results exceeds this maximum, the response
4832
+ # includes a `NextToken` value that you can use for the `NextToken`
4833
+ # parameter to get the next set of results. By default the
4834
+ # `ListGeneratedTemplates` API action will return at most 50 results in
4835
+ # each response. The maximum value is 100.
4836
+ #
4837
+ # @return [Types::ListGeneratedTemplatesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4838
+ #
4839
+ # * {Types::ListGeneratedTemplatesOutput#summaries #summaries} => Array&lt;Types::TemplateSummary&gt;
4840
+ # * {Types::ListGeneratedTemplatesOutput#next_token #next_token} => String
4841
+ #
4842
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4843
+ #
4844
+ #
4845
+ # @example Example: To list generated templates
4846
+ #
4847
+ # # This example lists the generated templates.
4848
+ #
4849
+ # resp = client.list_generated_templates({
4850
+ # })
4851
+ #
4852
+ # resp.to_h outputs the following:
4853
+ # {
4854
+ # summaries: [
4855
+ # {
4856
+ # creation_time: Time.parse("2023-12-28T17:55:20.086000+00:00"),
4857
+ # generated_template_id: "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/abcdefghi-1234-abcd-abcd-abcdefgh1234567",
4858
+ # generated_template_name: "Template3",
4859
+ # last_updated_time: Time.parse("2023-12-28T17:57:16.610000+00:00"),
4860
+ # number_of_resources: 85,
4861
+ # status: "COMPLETE",
4862
+ # status_reason: "All resources complete",
4863
+ # },
4864
+ # {
4865
+ # creation_time: Time.parse("2023-12-21T01:51:07.764000+00:00"),
4866
+ # generated_template_id: "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/bbcdefghi-1234-abcd-abcd-abcdefgh1234567",
4867
+ # generated_template_name: "Template2",
4868
+ # last_updated_time: Time.parse("2023-12-21T01:51:22.664000+00:00"),
4869
+ # number_of_resources: 12,
4870
+ # status: "COMPLETE",
4871
+ # status_reason: "All resources complete",
4872
+ # },
4873
+ # {
4874
+ # creation_time: Time.parse("2023-11-20T23:53:28.722000+00:00"),
4875
+ # generated_template_id: "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/cbcdefghi-1234-abcd-abcd-abcdefgh1234567",
4876
+ # generated_template_name: "Template1",
4877
+ # last_updated_time: Time.parse("2023-11-21T04:25:30.527000+00:00"),
4878
+ # number_of_resources: 19,
4879
+ # status: "COMPLETE",
4880
+ # status_reason: "All resources complete",
4881
+ # },
4882
+ # ],
4883
+ # }
4884
+ #
4885
+ # @example Request syntax with placeholder values
4886
+ #
4887
+ # resp = client.list_generated_templates({
4888
+ # next_token: "NextToken",
4889
+ # max_results: 1,
4890
+ # })
4891
+ #
4892
+ # @example Response structure
4893
+ #
4894
+ # resp.summaries #=> Array
4895
+ # resp.summaries[0].generated_template_id #=> String
4896
+ # resp.summaries[0].generated_template_name #=> String
4897
+ # resp.summaries[0].status #=> String, one of "CREATE_PENDING", "UPDATE_PENDING", "DELETE_PENDING", "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", "DELETE_IN_PROGRESS", "FAILED", "COMPLETE"
4898
+ # resp.summaries[0].status_reason #=> String
4899
+ # resp.summaries[0].creation_time #=> Time
4900
+ # resp.summaries[0].last_updated_time #=> Time
4901
+ # resp.summaries[0].number_of_resources #=> Integer
4902
+ # resp.next_token #=> String
4903
+ #
4904
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListGeneratedTemplates AWS API Documentation
4905
+ #
4906
+ # @overload list_generated_templates(params = {})
4907
+ # @param [Hash] params ({})
4908
+ def list_generated_templates(params = {}, options = {})
4909
+ req = build_request(:list_generated_templates, params)
4910
+ req.send_request(options)
4911
+ end
4912
+
4385
4913
  # Lists all stacks that are importing an exported output value. To
4386
4914
  # modify or remove an exported output value, first use this action to
4387
4915
  # see which stacks are using it. To see the exported output values in
@@ -4432,6 +4960,332 @@ module Aws::CloudFormation
4432
4960
  req.send_request(options)
4433
4961
  end
4434
4962
 
4963
+ # Lists the related resources for a list of resources from a resource
4964
+ # scan. The response indicates whether each returned resource is already
4965
+ # managed by CloudFormation.
4966
+ #
4967
+ # @option params [required, String] :resource_scan_id
4968
+ # The Amazon Resource Name (ARN) of the resource scan.
4969
+ #
4970
+ # @option params [required, Array<Types::ScannedResourceIdentifier>] :resources
4971
+ # The list of resources for which you want to get the related resources.
4972
+ # Up to 100 resources can be provided.
4973
+ #
4974
+ # @option params [String] :next_token
4975
+ # A string that identifies the next page of resource scan results.
4976
+ #
4977
+ # @option params [Integer] :max_results
4978
+ # If the number of available results exceeds this maximum, the response
4979
+ # includes a `NextToken` value that you can use for the `NextToken`
4980
+ # parameter to get the next set of results. By default the
4981
+ # `ListResourceScanRelatedResources` API action will return up to 100
4982
+ # results in each response. The maximum value is 100.
4983
+ #
4984
+ # @return [Types::ListResourceScanRelatedResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4985
+ #
4986
+ # * {Types::ListResourceScanRelatedResourcesOutput#related_resources #related_resources} => Array&lt;Types::ScannedResource&gt;
4987
+ # * {Types::ListResourceScanRelatedResourcesOutput#next_token #next_token} => String
4988
+ #
4989
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4990
+ #
4991
+ #
4992
+ # @example Example: To list resource scan related resources
4993
+ #
4994
+ # # This example lists the resources related to the passed in resources
4995
+ #
4996
+ # resp = client.list_resource_scan_related_resources({
4997
+ # resource_scan_id: "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1",
4998
+ # resources: [
4999
+ # {
5000
+ # resource_identifier: {
5001
+ # "BucketName" => "jazz-bucket",
5002
+ # },
5003
+ # resource_type: "AWS::S3::Bucket",
5004
+ # },
5005
+ # {
5006
+ # resource_identifier: {
5007
+ # "DhcpOptionsId" => "random-id123",
5008
+ # },
5009
+ # resource_type: "AWS::EC2::DHCPOptions",
5010
+ # },
5011
+ # ],
5012
+ # })
5013
+ #
5014
+ # resp.to_h outputs the following:
5015
+ # {
5016
+ # related_resources: [
5017
+ # {
5018
+ # managed_by_stack: false,
5019
+ # resource_identifier: {
5020
+ # "DhcpOptionsId" => "dopt-98765edcba",
5021
+ # "VpcId" => "vpc-0123456abcdefg",
5022
+ # },
5023
+ # resource_type: "AWS::EC2::VPCDHCPOptionsAssociation",
5024
+ # },
5025
+ # {
5026
+ # managed_by_stack: false,
5027
+ # resource_identifier: {
5028
+ # "VpcId" => "vpc-0123456abcdefgabc",
5029
+ # },
5030
+ # resource_type: "AWS::EC2::VPC",
5031
+ # },
5032
+ # {
5033
+ # managed_by_stack: false,
5034
+ # resource_identifier: {
5035
+ # "DhcpOptionsId" => "dopt-98765edcba",
5036
+ # "VpcId" => "vpc-123456abcdef",
5037
+ # },
5038
+ # resource_type: "AWS::EC2::VPCDHCPOptionsAssociation",
5039
+ # },
5040
+ # {
5041
+ # managed_by_stack: false,
5042
+ # resource_identifier: {
5043
+ # "VpcId" => "vpc-12345678abcd",
5044
+ # },
5045
+ # resource_type: "AWS::EC2::VPC",
5046
+ # },
5047
+ # ],
5048
+ # }
5049
+ #
5050
+ # @example Request syntax with placeholder values
5051
+ #
5052
+ # resp = client.list_resource_scan_related_resources({
5053
+ # resource_scan_id: "ResourceScanId", # required
5054
+ # resources: [ # required
5055
+ # {
5056
+ # resource_type: "ResourceType", # required
5057
+ # resource_identifier: { # required
5058
+ # "JazzResourceIdentifierPropertyKey" => "JazzResourceIdentifierPropertyValue",
5059
+ # },
5060
+ # },
5061
+ # ],
5062
+ # next_token: "NextToken",
5063
+ # max_results: 1,
5064
+ # })
5065
+ #
5066
+ # @example Response structure
5067
+ #
5068
+ # resp.related_resources #=> Array
5069
+ # resp.related_resources[0].resource_type #=> String
5070
+ # resp.related_resources[0].resource_identifier #=> Hash
5071
+ # resp.related_resources[0].resource_identifier["JazzResourceIdentifierPropertyKey"] #=> String
5072
+ # resp.related_resources[0].managed_by_stack #=> Boolean
5073
+ # resp.next_token #=> String
5074
+ #
5075
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListResourceScanRelatedResources AWS API Documentation
5076
+ #
5077
+ # @overload list_resource_scan_related_resources(params = {})
5078
+ # @param [Hash] params ({})
5079
+ def list_resource_scan_related_resources(params = {}, options = {})
5080
+ req = build_request(:list_resource_scan_related_resources, params)
5081
+ req.send_request(options)
5082
+ end
5083
+
5084
+ # Lists the resources from a resource scan. The results can be filtered
5085
+ # by resource identifier, resource type prefix, tag key, and tag value.
5086
+ # Only resources that match all specified filters are returned. The
5087
+ # response indicates whether each returned resource is already managed
5088
+ # by CloudFormation.
5089
+ #
5090
+ # @option params [required, String] :resource_scan_id
5091
+ # The Amazon Resource Name (ARN) of the resource scan.
5092
+ #
5093
+ # @option params [String] :resource_identifier
5094
+ # If specified, the returned resources will have the specified resource
5095
+ # identifier (or one of them in the case where the resource has multiple
5096
+ # identifiers).
5097
+ #
5098
+ # @option params [String] :resource_type_prefix
5099
+ # If specified, the returned resources will be of any of the resource
5100
+ # types with the specified prefix.
5101
+ #
5102
+ # @option params [String] :tag_key
5103
+ # If specified, the returned resources will have a matching tag key.
5104
+ #
5105
+ # @option params [String] :tag_value
5106
+ # If specified, the returned resources will have a matching tag value.
5107
+ #
5108
+ # @option params [String] :next_token
5109
+ # A string that identifies the next page of resource scan results.
5110
+ #
5111
+ # @option params [Integer] :max_results
5112
+ # If the number of available results exceeds this maximum, the response
5113
+ # includes a `NextToken` value that you can use for the `NextToken`
5114
+ # parameter to get the next set of results. By default the
5115
+ # `ListResourceScanResources` API action will return at most 100 results
5116
+ # in each response. The maximum value is 100.
5117
+ #
5118
+ # @return [Types::ListResourceScanResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5119
+ #
5120
+ # * {Types::ListResourceScanResourcesOutput#resources #resources} => Array&lt;Types::ScannedResource&gt;
5121
+ # * {Types::ListResourceScanResourcesOutput#next_token #next_token} => String
5122
+ #
5123
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5124
+ #
5125
+ #
5126
+ # @example Example: To list the resources in your resource scan
5127
+ #
5128
+ # # This example lists the resources in your resource scan
5129
+ #
5130
+ # resp = client.list_resource_scan_resources({
5131
+ # resource_scan_id: "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1",
5132
+ # })
5133
+ #
5134
+ # resp.to_h outputs the following:
5135
+ # {
5136
+ # next_token: "AQICAHjOiFofVZCZ0aEN1VnF1m9jq/xxpTY7MyPexz72BHuAkgETVS8c+PVCFpE6uGVJDxCFAAACbjCCAmoGCSqGSIb3DQEHBqCCAlswggJXAgEAMIICUAYJKoZIhvcNAQcBMB4GCWCGSAFlAwQBLjARBAwJ9QJAYeDzUoBeimECARCAggIh8brcL6H6uMvcZafRTB79hUkdJlOoFavrhYA2U7qdlPUwyvaVqN2DvFMxsl2XC1SaWmr5esMKxg1fLjbOEF32lVQn0Jp8QuoFUvREnqEsR32ZQmiI/Oc9HmwIr/BS3rzljki2Kr8Y0nriS7aFDLUCYsdsRdQ9iL5/iCc6oW7IisCzq1VKcHijlXvuiEipZAinsxEbmYBjmWgT7UYZdrrb6Hq3COEgPzS490ucndtwPjyvuCIMiAfTLMuBgjkzEfp4U97aLwPWaiKw94dMXj/3K67uuH9BjWZO+j6d3nnyZ14FOgI7SQvvVBnxARbTmINttHWjXPrIuE9YuuSWgn6GmuzEEDqkuglOS/OeTHYSPvLPRrFieUiawblljLVoVY9/HDjL/EErSTWiCnytGXIRoMI9Ozp2Yjfm3MBwSDXvMIrscw6QAa3bUA6uJSV2skCBnDoqV8EXd8umh788OgEtDxQ7d/NlUYEhN6AJ0K9TVz/2rZgOlzLCmtvmbIy7loAZCmf/uPNkyu6WuoLWTzQz78SnA8jWPKnxrzhNyPuaIgUH23U3mExhfMRDczitpOo5JM81oHVPECslGoqktLhP55BQqMbJy4w16SZJfr993TXhF5jOZenRN1zDsK3J5cLdJgPK1Ds1Z9DnRKMfXOqoAyme2l94/h0kLIxgAtxOeJFP/g/9hUtt1qGkZeV3Xqw1nkFQnafGIg4fJoWg74Sr7yo=",
5137
+ # resources: [
5138
+ # {
5139
+ # managed_by_stack: false,
5140
+ # resource_identifier: {
5141
+ # "Arn" => "arn:aws:amplify:us-east-1:123456789012:apps/12345678",
5142
+ # },
5143
+ # resource_type: "AWS::Amplify::App",
5144
+ # },
5145
+ # {
5146
+ # managed_by_stack: true,
5147
+ # resource_identifier: {
5148
+ # "DeploymentId" => "1234567",
5149
+ # "RestApiId" => "abcdefgh",
5150
+ # },
5151
+ # resource_type: "AWS::ApiGateway::Deployment",
5152
+ # },
5153
+ # ],
5154
+ # }
5155
+ #
5156
+ # @example Example: To list the resources in your resource scan for specific resource type
5157
+ #
5158
+ # # This example lists the resources in your resource scan filtering only the resources that start with the passed in prefix
5159
+ #
5160
+ # resp = client.list_resource_scan_resources({
5161
+ # resource_scan_id: "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1",
5162
+ # resource_type_prefix: "AWS::S3",
5163
+ # })
5164
+ #
5165
+ # resp.to_h outputs the following:
5166
+ # {
5167
+ # next_token: "AQICAHjOiFofVZCZ0aEN1VnF1m9jq/xxpTY7MyPexz72BHuAkgETVS8c+PVCFpE6uGVJDxCFAAACbjCCAmoGCSqGSIb3DQEHBqCCAlswggJXAgEAMIICUAYJKoZIhvcNAQcBMB4GCWCGSAFlAwQBLjARBAwJ9QJAYeDzUoBeimECARCAggIh8brcL6H6uMvcZafRTB79hUkdJlOoFavrhYA2U7qdlPUwyvaVqN2DvFMxsl2XC1SaWmr5esMKxg1fLjbOEF32lVQn0Jp8QuoFUvREnqEsR32ZQmiI/Oc9HmwIr/BS3rzljki2Kr8Y0nriS7aFDLUCYsdsRdQ9iL5/iCc6oW7IisCzq1VKcHijlXvuiEipZAinsxEbmYBjmWgT7UYZdrrb6Hq3COEgPzS490ucndtwPjyvuCIMiAfTLMuBgjkzEfp4U97aLwPWaiKw94dMXj/3K67uuH9BjWZO+j6d3nnyZ14FOgI7SQvvVBnxARbTmINttHWjXPrIuE9YuuSWgn6GmuzEEDqkuglOS/OeTHYSPvLPRrFieUiawblljLVoVY9/HDjL/EErSTWiCnytGXIRoMI9Ozp2Yjfm3MBwSDXvMIrscw6QAa3bUA6uJSV2skCBnDoqV8EXd8umh788OgEtDxQ7d/NlUYEhN6AJ0K9TVz/2rZgOlzLCmtvmbIy7loAZCmf/uPNkyu6WuoLWTzQz78SnA8jWPKnxrzhNyPuaIgUH23U3mExhfMRDczitpOo5JM81oHVPECslGoqktLhP55BQqMbJy4w16SZJfr993TXhF5jOZenRN1zDsK3J5cLdJgPK1Ds1Z9DnRKMfXOqoAyme2l94/h0kLIxgAtxOeJFP/g/9hUtt1qGkZeV3Xqw1nkFQnafGIg4fJoWg74Sr7yo=",
5168
+ # resources: [
5169
+ # {
5170
+ # managed_by_stack: true,
5171
+ # resource_identifier: {
5172
+ # "Name" => "test-access-point",
5173
+ # },
5174
+ # resource_type: "AWS::S3::AccessPoint",
5175
+ # },
5176
+ # {
5177
+ # managed_by_stack: false,
5178
+ # resource_identifier: {
5179
+ # "Bucket" => "a-random-bucket",
5180
+ # },
5181
+ # resource_type: "AWS::S3::BucketPolicy",
5182
+ # },
5183
+ # ],
5184
+ # }
5185
+ #
5186
+ # @example Request syntax with placeholder values
5187
+ #
5188
+ # resp = client.list_resource_scan_resources({
5189
+ # resource_scan_id: "ResourceScanId", # required
5190
+ # resource_identifier: "ResourceIdentifier",
5191
+ # resource_type_prefix: "ResourceTypePrefix",
5192
+ # tag_key: "TagKey",
5193
+ # tag_value: "TagValue",
5194
+ # next_token: "NextToken",
5195
+ # max_results: 1,
5196
+ # })
5197
+ #
5198
+ # @example Response structure
5199
+ #
5200
+ # resp.resources #=> Array
5201
+ # resp.resources[0].resource_type #=> String
5202
+ # resp.resources[0].resource_identifier #=> Hash
5203
+ # resp.resources[0].resource_identifier["JazzResourceIdentifierPropertyKey"] #=> String
5204
+ # resp.resources[0].managed_by_stack #=> Boolean
5205
+ # resp.next_token #=> String
5206
+ #
5207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListResourceScanResources AWS API Documentation
5208
+ #
5209
+ # @overload list_resource_scan_resources(params = {})
5210
+ # @param [Hash] params ({})
5211
+ def list_resource_scan_resources(params = {}, options = {})
5212
+ req = build_request(:list_resource_scan_resources, params)
5213
+ req.send_request(options)
5214
+ end
5215
+
5216
+ # List the resource scans from newest to oldest. By default it will
5217
+ # return up to 10 resource scans.
5218
+ #
5219
+ # @option params [String] :next_token
5220
+ # A string that identifies the next page of resource scan results.
5221
+ #
5222
+ # @option params [Integer] :max_results
5223
+ # If the number of available results exceeds this maximum, the response
5224
+ # includes a `NextToken` value that you can use for the `NextToken`
5225
+ # parameter to get the next set of results. The default value is 10. The
5226
+ # maximum value is 100.
5227
+ #
5228
+ # @return [Types::ListResourceScansOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5229
+ #
5230
+ # * {Types::ListResourceScansOutput#resource_scan_summaries #resource_scan_summaries} => Array&lt;Types::ResourceScanSummary&gt;
5231
+ # * {Types::ListResourceScansOutput#next_token #next_token} => String
5232
+ #
5233
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5234
+ #
5235
+ #
5236
+ # @example Example: Listing Resource Scans
5237
+ #
5238
+ # # This example shows how to list resource scans
5239
+ #
5240
+ # resp = client.list_resource_scans({
5241
+ # })
5242
+ #
5243
+ # resp.to_h outputs the following:
5244
+ # {
5245
+ # resource_scan_summaries: [
5246
+ # {
5247
+ # percentage_completed: 37.4,
5248
+ # resource_scan_id: "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/51448627-817f-40f0-b37c-f6e0f974340c",
5249
+ # start_time: Time.parse("2024-01-24T00:33:29.673000+00:00"),
5250
+ # status: "IN_PROGRESS",
5251
+ # },
5252
+ # {
5253
+ # end_time: Time.parse("2024-01-02T23:25:48.075000+00:00"),
5254
+ # percentage_completed: 100.0,
5255
+ # resource_scan_id: "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1",
5256
+ # start_time: Time.parse("2024-01-02T22:15:18.382000+00:00"),
5257
+ # status: "COMPLETE",
5258
+ # },
5259
+ # ],
5260
+ # }
5261
+ #
5262
+ # @example Request syntax with placeholder values
5263
+ #
5264
+ # resp = client.list_resource_scans({
5265
+ # next_token: "NextToken",
5266
+ # max_results: 1,
5267
+ # })
5268
+ #
5269
+ # @example Response structure
5270
+ #
5271
+ # resp.resource_scan_summaries #=> Array
5272
+ # resp.resource_scan_summaries[0].resource_scan_id #=> String
5273
+ # resp.resource_scan_summaries[0].status #=> String, one of "IN_PROGRESS", "FAILED", "COMPLETE", "EXPIRED"
5274
+ # resp.resource_scan_summaries[0].status_reason #=> String
5275
+ # resp.resource_scan_summaries[0].start_time #=> Time
5276
+ # resp.resource_scan_summaries[0].end_time #=> Time
5277
+ # resp.resource_scan_summaries[0].percentage_completed #=> Float
5278
+ # resp.next_token #=> String
5279
+ #
5280
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListResourceScans AWS API Documentation
5281
+ #
5282
+ # @overload list_resource_scans(params = {})
5283
+ # @param [Hash] params ({})
5284
+ def list_resource_scans(params = {}, options = {})
5285
+ req = build_request(:list_resource_scans, params)
5286
+ req.send_request(options)
5287
+ end
5288
+
4435
5289
  # Returns drift information for resources in a stack instance.
4436
5290
  #
4437
5291
  # <note markdown="1"> `ListStackInstanceResourceDrifts` returns drift information for the
@@ -4638,7 +5492,7 @@ module Aws::CloudFormation
4638
5492
  # resp.summaries[0].stack_id #=> String
4639
5493
  # resp.summaries[0].status #=> String, one of "CURRENT", "OUTDATED", "INOPERABLE"
4640
5494
  # resp.summaries[0].status_reason #=> String
4641
- # resp.summaries[0].stack_instance_status.detailed_status #=> String, one of "PENDING", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED", "INOPERABLE", "SKIPPED_SUSPENDED_ACCOUNT"
5495
+ # resp.summaries[0].stack_instance_status.detailed_status #=> String, one of "PENDING", "RUNNING", "SUCCEEDED", "FAILED", "CANCELLED", "INOPERABLE", "SKIPPED_SUSPENDED_ACCOUNT", "FAILED_IMPORT"
4642
5496
  # resp.summaries[0].organizational_unit_id #=> String
4643
5497
  # resp.summaries[0].drift_status #=> String, one of "DRIFTED", "IN_SYNC", "UNKNOWN", "NOT_CHECKED"
4644
5498
  # resp.summaries[0].last_drift_check_timestamp #=> Time
@@ -5349,7 +6203,7 @@ module Aws::CloudFormation
5349
6203
  # public use][1] in the *CloudFormation CLI User Guide*.
5350
6204
  #
5351
6205
  # To publish an extension, you must be registered as a publisher with
5352
- # CloudFormation. For more information, see [RegisterPublisher][2].
6206
+ # CloudFormation. For more information, see [ `RegisterPublisher` ][2].
5353
6207
  #
5354
6208
  #
5355
6209
  #
@@ -5578,8 +6432,8 @@ module Aws::CloudFormation
5578
6432
  # *CloudFormation CLI User Guide*.
5579
6433
  #
5580
6434
  # You can have a maximum of 50 resource extension versions registered at
5581
- # a time. This maximum is per account and per Region. Use
5582
- # [DeregisterType][2] to deregister specific extension versions if
6435
+ # a time. This maximum is per account and per Region. Use [
6436
+ # `DeregisterType` ][2] to deregister specific extension versions if
5583
6437
  # necessary.
5584
6438
  #
5585
6439
  # Once you have initiated a registration request using RegisterType, you
@@ -5587,7 +6441,7 @@ module Aws::CloudFormation
5587
6441
  # registration request.
5588
6442
  #
5589
6443
  # Once you have registered a private extension in your account and
5590
- # Region, use [SetTypeConfiguration][3] to specify configuration
6444
+ # Region, use [ `SetTypeConfiguration` ][3] to specify configuration
5591
6445
  # properties for the extension. For more information, see [Configuring
5592
6446
  # extensions at the account level][4] in the *CloudFormation User
5593
6447
  # Guide*.
@@ -5800,7 +6654,8 @@ module Aws::CloudFormation
5800
6654
  # @option params [String] :stack_policy_url
5801
6655
  # Location of a file containing the stack policy. The URL must point to
5802
6656
  # a policy (maximum size: 16 KB) located in an Amazon S3 bucket in the
5803
- # same Amazon Web Services Region as the stack. You can specify either
6657
+ # same Amazon Web Services Region as the stack. The location for an
6658
+ # Amazon S3 bucket must start with `https://`. You can specify either
5804
6659
  # the `StackPolicyBody` or the `StackPolicyURL` parameter, but not both.
5805
6660
  #
5806
6661
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -5826,7 +6681,7 @@ module Aws::CloudFormation
5826
6681
  # extension, in the given account and Region.
5827
6682
  #
5828
6683
  # To view the current configuration data for an extension, refer to the
5829
- # `ConfigurationSchema` element of [DescribeType][1]. For more
6684
+ # `ConfigurationSchema` element of [ `DescribeType` ][1]. For more
5830
6685
  # information, see [Configuring extensions at the account level][2] in
5831
6686
  # the *CloudFormation User Guide*.
5832
6687
  #
@@ -5845,10 +6700,10 @@ module Aws::CloudFormation
5845
6700
  # The Amazon Resource Name (ARN) for the extension, in this account and
5846
6701
  # Region.
5847
6702
  #
5848
- # For public extensions, this will be the ARN assigned when you
5849
- # [activate the type][1] in this account and Region. For private
5850
- # extensions, this will be the ARN assigned when you [register the
5851
- # type][2] in this account and Region.
6703
+ # For public extensions, this will be the ARN assigned when you call the
6704
+ # [ `ActivateType` ][1] API operation in this account and Region. For
6705
+ # private extensions, this will be the ARN assigned when you call the [
6706
+ # `RegisterType` ][2] API operation in this account and Region.
5852
6707
  #
5853
6708
  # Do not include the extension versions suffix at the end of the ARN.
5854
6709
  # You can set the configuration for an extension, but not for a specific
@@ -5863,8 +6718,8 @@ module Aws::CloudFormation
5863
6718
  # The configuration data for the extension, in this account and Region.
5864
6719
  #
5865
6720
  # The configuration data must be formatted as JSON, and validate against
5866
- # the schema returned in the `ConfigurationSchema` response element of
5867
- # [DescribeType][1]. For more information, see [Defining account-level
6721
+ # the schema returned in the `ConfigurationSchema` response element of [
6722
+ # `DescribeType` ][1]. For more information, see [Defining account-level
5868
6723
  # configuration data for an extension][2] in the *CloudFormation CLI
5869
6724
  # User Guide*.
5870
6725
  #
@@ -6010,6 +6865,50 @@ module Aws::CloudFormation
6010
6865
  req.send_request(options)
6011
6866
  end
6012
6867
 
6868
+ # Starts a scan of the resources in this account in this Region. You can
6869
+ # the status of a scan using the `ListResourceScans` API action.
6870
+ #
6871
+ # @option params [String] :client_request_token
6872
+ # A unique identifier for this `StartResourceScan` request. Specify this
6873
+ # token if you plan to retry requests so that CloudFormation knows that
6874
+ # you're not attempting to start a new resource scan.
6875
+ #
6876
+ # @return [Types::StartResourceScanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6877
+ #
6878
+ # * {Types::StartResourceScanOutput#resource_scan_id #resource_scan_id} => String
6879
+ #
6880
+ #
6881
+ # @example Example: To start a resource scan
6882
+ #
6883
+ # # This example shows how to start a new resource scan
6884
+ #
6885
+ # resp = client.start_resource_scan({
6886
+ # })
6887
+ #
6888
+ # resp.to_h outputs the following:
6889
+ # {
6890
+ # resource_scan_id: "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/88f09db1-d211-4cb7-964b-434e2b8469ca",
6891
+ # }
6892
+ #
6893
+ # @example Request syntax with placeholder values
6894
+ #
6895
+ # resp = client.start_resource_scan({
6896
+ # client_request_token: "ClientRequestToken",
6897
+ # })
6898
+ #
6899
+ # @example Response structure
6900
+ #
6901
+ # resp.resource_scan_id #=> String
6902
+ #
6903
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StartResourceScan AWS API Documentation
6904
+ #
6905
+ # @overload start_resource_scan(params = {})
6906
+ # @param [Hash] params ({})
6907
+ def start_resource_scan(params = {}, options = {})
6908
+ req = build_request(:start_resource_scan, params)
6909
+ req.send_request(options)
6910
+ end
6911
+
6013
6912
  # Stops an in-progress operation on a stack set and its associated stack
6014
6913
  # instances. StackSets will cancel all the unstarted stack instance
6015
6914
  # deployments and wait for those are in-progress to complete.
@@ -6078,11 +6977,11 @@ module Aws::CloudFormation
6078
6977
  # version of the extension in your account and Region for testing.
6079
6978
  #
6080
6979
  # To perform testing, CloudFormation assumes the execution role
6081
- # specified when the type was registered. For more information, see
6082
- # [RegisterType][2].
6980
+ # specified when the type was registered. For more information, see [
6981
+ # `RegisterType` ][2].
6083
6982
  #
6084
6983
  # Once you've initiated testing on an extension using `TestType`, you
6085
- # can pass the returned `TypeVersionArn` into [DescribeType][3] to
6984
+ # can pass the returned `TypeVersionArn` into [ `DescribeType` ][3] to
6086
6985
  # monitor the current test status and test status description for the
6087
6986
  # extension.
6088
6987
  #
@@ -6173,6 +7072,134 @@ module Aws::CloudFormation
6173
7072
  req.send_request(options)
6174
7073
  end
6175
7074
 
7075
+ # Updates a generated template. This can be used to change the name, add
7076
+ # and remove resources, refresh resources, and change the
7077
+ # `DeletionPolicy` and `UpdateReplacePolicy` settings. You can check the
7078
+ # status of the update to the generated template using the
7079
+ # `DescribeGeneratedTemplate` API action.
7080
+ #
7081
+ # @option params [required, String] :generated_template_name
7082
+ # The name or Amazon Resource Name (ARN) of a generated template.
7083
+ #
7084
+ # @option params [String] :new_generated_template_name
7085
+ # An optional new name to assign to the generated template.
7086
+ #
7087
+ # @option params [Array<Types::ResourceDefinition>] :add_resources
7088
+ # An optional list of resources to be added to the generated template.
7089
+ #
7090
+ # @option params [Array<String>] :remove_resources
7091
+ # A list of logical ids for resources to remove from the generated
7092
+ # template.
7093
+ #
7094
+ # @option params [Boolean] :refresh_all_resources
7095
+ # If `true`, update the resource properties in the generated template
7096
+ # with their current live state. This feature is useful when the
7097
+ # resource properties in your generated a template does not reflect the
7098
+ # live state of the resource properties. This happens when a user update
7099
+ # the resource properties after generating a template.
7100
+ #
7101
+ # @option params [Types::TemplateConfiguration] :template_configuration
7102
+ # The configuration details of the generated template, including the
7103
+ # `DeletionPolicy` and `UpdateReplacePolicy`.
7104
+ #
7105
+ # @return [Types::UpdateGeneratedTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7106
+ #
7107
+ # * {Types::UpdateGeneratedTemplateOutput#generated_template_id #generated_template_id} => String
7108
+ #
7109
+ #
7110
+ # @example Example: To update a generated template's name
7111
+ #
7112
+ # # This example updates a generated template with a new name.
7113
+ #
7114
+ # resp = client.update_generated_template({
7115
+ # generated_template_name: "JazzyTemplate",
7116
+ # new_generated_template_name: "JazzierTemplate",
7117
+ # })
7118
+ #
7119
+ # resp.to_h outputs the following:
7120
+ # {
7121
+ # generated_template_id: "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/88f09db1-d211-4cb7-964b-434e2b8469ca",
7122
+ # }
7123
+ #
7124
+ # @example Example: To remove resources from a generated template
7125
+ #
7126
+ # # This example removes resources from a generated template
7127
+ #
7128
+ # resp = client.update_generated_template({
7129
+ # generated_template_name: "JazzyTemplate",
7130
+ # remove_resources: [
7131
+ # "LogicalResourceId1",
7132
+ # "LogicalResourceId2",
7133
+ # ],
7134
+ # })
7135
+ #
7136
+ # resp.to_h outputs the following:
7137
+ # {
7138
+ # generated_template_id: "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/88f09db1-d211-4cb7-964b-434e2b8469ca",
7139
+ # }
7140
+ #
7141
+ # @example Example: To add resources to a generated template
7142
+ #
7143
+ # # This example adds resources to a generated template
7144
+ #
7145
+ # resp = client.update_generated_template({
7146
+ # add_resources: [
7147
+ # {
7148
+ # resource_identifier: {
7149
+ # "BucketName" => "jazz-bucket",
7150
+ # },
7151
+ # resource_type: "AWS::S3::Bucket",
7152
+ # },
7153
+ # {
7154
+ # resource_identifier: {
7155
+ # "DhcpOptionsId" => "random-id123",
7156
+ # },
7157
+ # resource_type: "AWS::EC2::DHCPOptions",
7158
+ # },
7159
+ # ],
7160
+ # generated_template_name: "JazzyTemplate",
7161
+ # })
7162
+ #
7163
+ # resp.to_h outputs the following:
7164
+ # {
7165
+ # generated_template_id: "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/88f09db1-d211-4cb7-964b-434e2b8469ca",
7166
+ # }
7167
+ #
7168
+ # @example Request syntax with placeholder values
7169
+ #
7170
+ # resp = client.update_generated_template({
7171
+ # generated_template_name: "GeneratedTemplateName", # required
7172
+ # new_generated_template_name: "GeneratedTemplateName",
7173
+ # add_resources: [
7174
+ # {
7175
+ # resource_type: "ResourceType", # required
7176
+ # logical_resource_id: "LogicalResourceId",
7177
+ # resource_identifier: { # required
7178
+ # "ResourceIdentifierPropertyKey" => "ResourceIdentifierPropertyValue",
7179
+ # },
7180
+ # },
7181
+ # ],
7182
+ # remove_resources: ["LogicalResourceId"],
7183
+ # refresh_all_resources: false,
7184
+ # template_configuration: {
7185
+ # deletion_policy: "DELETE", # accepts DELETE, RETAIN
7186
+ # update_replace_policy: "DELETE", # accepts DELETE, RETAIN
7187
+ # },
7188
+ # })
7189
+ #
7190
+ # @example Response structure
7191
+ #
7192
+ # resp.generated_template_id #=> String
7193
+ #
7194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateGeneratedTemplate AWS API Documentation
7195
+ #
7196
+ # @overload update_generated_template(params = {})
7197
+ # @param [Hash] params ({})
7198
+ def update_generated_template(params = {}, options = {})
7199
+ req = build_request(:update_generated_template, params)
7200
+ req.send_request(options)
7201
+ end
7202
+
6176
7203
  # Updates a stack as specified in the template. After the call completes
6177
7204
  # successfully, the stack update starts. You can check the status of the
6178
7205
  # stack through the DescribeStacks action.
@@ -6208,7 +7235,8 @@ module Aws::CloudFormation
6208
7235
  # Location of file containing the template body. The URL must point to a
6209
7236
  # template that's located in an Amazon S3 bucket or a Systems Manager
6210
7237
  # document. For more information, go to [Template Anatomy][1] in the
6211
- # *CloudFormation User Guide*.
7238
+ # *CloudFormation User Guide*. The location for an Amazon S3 bucket must
7239
+ # start with `https://`.
6212
7240
  #
6213
7241
  # Conditional: You must specify only one of the following parameters:
6214
7242
  # `TemplateBody`, `TemplateURL`, or set the `UsePreviousTemplate` to
@@ -6239,7 +7267,8 @@ module Aws::CloudFormation
6239
7267
  # @option params [String] :stack_policy_during_update_url
6240
7268
  # Location of a file containing the temporary overriding stack policy.
6241
7269
  # The URL must point to a policy (max size: 16KB) located in an S3
6242
- # bucket in the same Region as the stack. You can specify either the
7270
+ # bucket in the same Region as the stack. The location for an Amazon S3
7271
+ # bucket must start with `https://`. You can specify either the
6243
7272
  # `StackPolicyDuringUpdateBody` or the `StackPolicyDuringUpdateURL`
6244
7273
  # parameter, but not both.
6245
7274
  #
@@ -6250,7 +7279,7 @@ module Aws::CloudFormation
6250
7279
  #
6251
7280
  # @option params [Array<Types::Parameter>] :parameters
6252
7281
  # A list of `Parameter` structures that specify input parameters for the
6253
- # stack. For more information, see the [Parameter][1] data type.
7282
+ # stack. For more information, see the [ `Parameter` ][1] data type.
6254
7283
  #
6255
7284
  #
6256
7285
  #
@@ -6284,19 +7313,19 @@ module Aws::CloudFormation
6284
7313
  # review all permissions associated with them and edit their
6285
7314
  # permissions if necessary.
6286
7315
  #
6287
- # * [ AWS::IAM::AccessKey][1]
7316
+ # * [ `AWS::IAM::AccessKey` ][1]
6288
7317
  #
6289
- # * [ AWS::IAM::Group][2]
7318
+ # * [ `AWS::IAM::Group` ][2]
6290
7319
  #
6291
- # * [AWS::IAM::InstanceProfile][3]
7320
+ # * [ `AWS::IAM::InstanceProfile` ][3]
6292
7321
  #
6293
- # * [ AWS::IAM::Policy][4]
7322
+ # * [ ` AWS::IAM::Policy` ][4]
6294
7323
  #
6295
- # * [ AWS::IAM::Role][5]
7324
+ # * [ `AWS::IAM::Role` ][5]
6296
7325
  #
6297
- # * [ AWS::IAM::User][6]
7326
+ # * [ `AWS::IAM::User` ][6]
6298
7327
  #
6299
- # * [AWS::IAM::UserToGroupAddition][7]
7328
+ # * [ `AWS::IAM::UserToGroupAddition` ][7]
6300
7329
  #
6301
7330
  # For more information, see [Acknowledging IAM Resources in
6302
7331
  # CloudFormation Templates][8].
@@ -6312,8 +7341,8 @@ module Aws::CloudFormation
6312
7341
  # your stack template contains one or more macros, and you choose to
6313
7342
  # update a stack directly from the processed template, without first
6314
7343
  # reviewing the resulting changes in a change set, you must
6315
- # acknowledge this capability. This includes the [AWS::Include][9] and
6316
- # [AWS::Serverless][10] transforms, which are macros hosted by
7344
+ # acknowledge this capability. This includes the [ `AWS::Include` ][9]
7345
+ # and [ `AWS::Serverless` ][10] transforms, which are macros hosted by
6317
7346
  # CloudFormation.
6318
7347
  #
6319
7348
  # If you want to update a stack from a stack template that contains
@@ -6402,8 +7431,9 @@ module Aws::CloudFormation
6402
7431
  # @option params [String] :stack_policy_url
6403
7432
  # Location of a file containing the updated stack policy. The URL must
6404
7433
  # point to a policy (max size: 16KB) located in an S3 bucket in the same
6405
- # Region as the stack. You can specify either the `StackPolicyBody` or
6406
- # the `StackPolicyURL` parameter, but not both.
7434
+ # Region as the stack. The location for an Amazon S3 bucket must start
7435
+ # with `https://`. You can specify either the `StackPolicyBody` or the
7436
+ # `StackPolicyURL` parameter, but not both.
6407
7437
  #
6408
7438
  # You might update the stack policy, for example, in order to protect a
6409
7439
  # new resource that you created during a stack update. If you don't
@@ -6524,20 +7554,20 @@ module Aws::CloudFormation
6524
7554
  #
6525
7555
  # You can only update stack instances in Amazon Web Services Regions and
6526
7556
  # accounts where they already exist; to create additional stack
6527
- # instances, use [CreateStackInstances][1].
7557
+ # instances, use [ `CreateStackInstances` ][1].
6528
7558
  #
6529
7559
  # During stack set updates, any parameters overridden for a stack
6530
7560
  # instance aren't updated, but retain their overridden value.
6531
7561
  #
6532
7562
  # You can only update the parameter *values* that are specified in the
6533
- # stack set; to add or delete a parameter itself, use
6534
- # [UpdateStackSet][2] to update the stack set template. If you add a
6535
- # parameter to a template, before you can override the parameter value
6536
- # specified in the stack set you must first use [UpdateStackSet][2] to
6537
- # update all stack instances with the updated template and parameter
6538
- # value specified in the stack set. Once a stack instance has been
6539
- # updated with the new parameter, you can then override the parameter
6540
- # value using `UpdateStackInstances`.
7563
+ # stack set; to add or delete a parameter itself, use [ `UpdateStackSet`
7564
+ # ][2] to update the stack set template. If you add a parameter to a
7565
+ # template, before you can override the parameter value specified in the
7566
+ # stack set you must first use [ `UpdateStackSet` ][2] to update all
7567
+ # stack instances with the updated template and parameter value
7568
+ # specified in the stack set. Once a stack instance has been updated
7569
+ # with the new parameter, you can then override the parameter value
7570
+ # using `UpdateStackInstances`.
6541
7571
  #
6542
7572
  #
6543
7573
  #
@@ -6603,11 +7633,11 @@ module Aws::CloudFormation
6603
7633
  # stack set; to add or delete a parameter itself, use `UpdateStackSet`
6604
7634
  # to update the stack set template. If you add a parameter to a
6605
7635
  # template, before you can override the parameter value specified in the
6606
- # stack set you must first use [UpdateStackSet][1] to update all stack
6607
- # instances with the updated template and parameter value specified in
6608
- # the stack set. Once a stack instance has been updated with the new
6609
- # parameter, you can then override the parameter value using
6610
- # `UpdateStackInstances`.
7636
+ # stack set you must first use [ `UpdateStackSet` ][1] to update all
7637
+ # stack instances with the updated template and parameter value
7638
+ # specified in the stack set. Once a stack instance has been updated
7639
+ # with the new parameter, you can then override the parameter value
7640
+ # using `UpdateStackInstances`.
6611
7641
  #
6612
7642
  #
6613
7643
  #
@@ -6782,19 +7812,19 @@ module Aws::CloudFormation
6782
7812
  # you review all permissions associated with them and edit their
6783
7813
  # permissions if necessary.
6784
7814
  #
6785
- # * [ AWS::IAM::AccessKey][1]
7815
+ # * [ `AWS::IAM::AccessKey` ][1]
6786
7816
  #
6787
- # * [ AWS::IAM::Group][2]
7817
+ # * [ `AWS::IAM::Group` ][2]
6788
7818
  #
6789
- # * [ AWS::IAM::InstanceProfile][3]
7819
+ # * [ `AWS::IAM::InstanceProfile` ][3]
6790
7820
  #
6791
- # * [ AWS::IAM::Policy][4]
7821
+ # * [ `AWS::IAM::Policy` ][4]
6792
7822
  #
6793
- # * [ AWS::IAM::Role][5]
7823
+ # * [ `AWS::IAM::Role` ][5]
6794
7824
  #
6795
- # * [ AWS::IAM::User][6]
7825
+ # * [ `AWS::IAM::User` ][6]
6796
7826
  #
6797
- # * [ AWS::IAM::UserToGroupAddition][7]
7827
+ # * [ `AWS::IAM::UserToGroupAddition` ][7]
6798
7828
  #
6799
7829
  # For more information, see [Acknowledging IAM Resources in
6800
7830
  # CloudFormation Templates][8].
@@ -6810,12 +7840,11 @@ module Aws::CloudFormation
6810
7840
  # Templates][9].
6811
7841
  #
6812
7842
  # Stack sets with service-managed permissions do not currently support
6813
- # the use of macros in templates. (This includes the
6814
- # [AWS::Include][10] and [AWS::Serverless][11] transforms, which are
6815
- # macros hosted by CloudFormation.) Even if you specify this
6816
- # capability for a stack set with service-managed permissions, if you
6817
- # reference a macro in your template the stack set operation will
6818
- # fail.
7843
+ # the use of macros in templates. (This includes the [ `AWS::Include`
7844
+ # ][10] and [ `AWS::Serverless` ][11] transforms, which are macros
7845
+ # hosted by CloudFormation.) Even if you specify this capability for a
7846
+ # stack set with service-managed permissions, if you reference a macro
7847
+ # in your template the stack set operation will fail.
6819
7848
  #
6820
7849
  #
6821
7850
  #
@@ -7161,7 +8190,8 @@ module Aws::CloudFormation
7161
8190
  # Location of file containing the template body. The URL must point to a
7162
8191
  # template (max size: 460,800 bytes) that is located in an Amazon S3
7163
8192
  # bucket or a Systems Manager document. For more information, go to
7164
- # [Template Anatomy][1] in the *CloudFormation User Guide*.
8193
+ # [Template Anatomy][1] in the *CloudFormation User Guide*. The location
8194
+ # for an Amazon S3 bucket must start with `https://`.
7165
8195
  #
7166
8196
  # Conditional: You must pass `TemplateURL` or `TemplateBody`. If both
7167
8197
  # are passed, only `TemplateBody` is used.
@@ -7221,7 +8251,7 @@ module Aws::CloudFormation
7221
8251
  params: params,
7222
8252
  config: config)
7223
8253
  context[:gem_name] = 'aws-sdk-cloudformation'
7224
- context[:gem_version] = '1.98.0'
8254
+ context[:gem_version] = '1.100.0'
7225
8255
  Seahorse::Client::Request.new(handlers, context)
7226
8256
  end
7227
8257