aws-sdk-cloudformation 1.98.0 → 1.100.0

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