aws-sdk-cloudformation 1.11.1 → 1.12.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.
- checksums.yaml +4 -4
- data/lib/aws-sdk-cloudformation.rb +1 -1
- data/lib/aws-sdk-cloudformation/client.rb +161 -53
- data/lib/aws-sdk-cloudformation/resource.rb +76 -22
- data/lib/aws-sdk-cloudformation/stack.rb +152 -44
- data/lib/aws-sdk-cloudformation/types.rb +155 -49
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8c2393e60a034236ba226606b4082ac6ba7caf67
         | 
| 4 | 
            +
              data.tar.gz: bcd02e5525e019b7fb48991708f538357d490fc0
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b028af44a0014f79bb8b87ade5a876f6b0096cbeb6b812d4dede5ce28063e068cc8edf8190b0021a6cdd4075d6300374991333e08cd06d7b59a301cbad607bab
         | 
| 7 | 
            +
              data.tar.gz: 96c56422c49811ad2433fe340fbc68537e9e46a1ca6fef68db8cbd65b694c57595751dc428c24b826f4b5349f9303ec92bd7022d2bcdb6382970ef9a210c0977
         | 
| @@ -544,7 +544,7 @@ module Aws::CloudFormation | |
| 544 544 | 
             
                #         resolved_value: "ParameterValue",
         | 
| 545 545 | 
             
                #       },
         | 
| 546 546 | 
             
                #     ],
         | 
| 547 | 
            -
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 547 | 
            +
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 548 548 | 
             
                #     resource_types: ["ResourceType"],
         | 
| 549 549 | 
             
                #     role_arn: "RoleARN",
         | 
| 550 550 | 
             
                #     rollback_configuration: {
         | 
| @@ -653,29 +653,80 @@ module Aws::CloudFormation | |
| 653 653 | 
             
                #   or your Command Line Interface (CLI).
         | 
| 654 654 | 
             
                #
         | 
| 655 655 | 
             
                # @option params [Array<String>] :capabilities
         | 
| 656 | 
            -
                #    | 
| 657 | 
            -
                #    | 
| 658 | 
            -
                #    | 
| 659 | 
            -
                #   creating new AWS Identity and Access Management (IAM) users. For those
         | 
| 660 | 
            -
                #   stacks, you must explicitly acknowledge their capabilities by
         | 
| 661 | 
            -
                #   specifying this parameter.
         | 
| 656 | 
            +
                #   In some cases, you must explicity acknowledge that your stack template
         | 
| 657 | 
            +
                #   contains certain capabilities in order for AWS CloudFormation to
         | 
| 658 | 
            +
                #   create the stack.
         | 
| 662 659 | 
             
                #
         | 
| 663 | 
            -
                #    | 
| 664 | 
            -
                #   The following resources require you to specify this parameter: [
         | 
| 665 | 
            -
                #   AWS::IAM::AccessKey][1], [ AWS::IAM::Group][2], [
         | 
| 666 | 
            -
                #   AWS::IAM::InstanceProfile][3], [ AWS::IAM::Policy][4], [
         | 
| 667 | 
            -
                #   AWS::IAM::Role][5], [ AWS::IAM::User][6], and [
         | 
| 668 | 
            -
                #   AWS::IAM::UserToGroupAddition][7]. If your stack template contains
         | 
| 669 | 
            -
                #   these resources, we recommend that you review all permissions
         | 
| 670 | 
            -
                #   associated with them and edit their permissions if necessary.
         | 
| 660 | 
            +
                #   * `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`
         | 
| 671 661 | 
             
                #
         | 
| 672 | 
            -
                # | 
| 673 | 
            -
                # | 
| 674 | 
            -
                # | 
| 675 | 
            -
                # | 
| 662 | 
            +
                #     Some stack templates might include resources that can affect
         | 
| 663 | 
            +
                #     permissions in your AWS account; for example, by creating new AWS
         | 
| 664 | 
            +
                #     Identity and Access Management (IAM) users. For those stacks, you
         | 
| 665 | 
            +
                #     must explicitly acknowledge this by specifying one of these
         | 
| 666 | 
            +
                #     capabilities.
         | 
| 676 667 | 
             
                #
         | 
| 677 | 
            -
                # | 
| 678 | 
            -
                # | 
| 668 | 
            +
                #     The following IAM resources require you to specify either the
         | 
| 669 | 
            +
                #     `CAPABILITY_IAM` or `CAPABILITY_NAMED_IAM` capability.
         | 
| 670 | 
            +
                #
         | 
| 671 | 
            +
                #     * If you have IAM resources, you can specify either capability.
         | 
| 672 | 
            +
                #
         | 
| 673 | 
            +
                #     * If you have IAM resources with custom names, you *must* specify
         | 
| 674 | 
            +
                #       `CAPABILITY_NAMED_IAM`.
         | 
| 675 | 
            +
                #
         | 
| 676 | 
            +
                #     * If you don't specify either of these capabilities, AWS
         | 
| 677 | 
            +
                #       CloudFormation returns an `InsufficientCapabilities` error.
         | 
| 678 | 
            +
                #
         | 
| 679 | 
            +
                #     If your stack template contains these resources, we recommend that
         | 
| 680 | 
            +
                #     you review all permissions associated with them and edit their
         | 
| 681 | 
            +
                #     permissions if necessary.
         | 
| 682 | 
            +
                #
         | 
| 683 | 
            +
                #     * [ AWS::IAM::AccessKey][1]
         | 
| 684 | 
            +
                #
         | 
| 685 | 
            +
                #     * [ AWS::IAM::Group][2]
         | 
| 686 | 
            +
                #
         | 
| 687 | 
            +
                #     * [ AWS::IAM::InstanceProfile][3]
         | 
| 688 | 
            +
                #
         | 
| 689 | 
            +
                #     * [ AWS::IAM::Policy][4]
         | 
| 690 | 
            +
                #
         | 
| 691 | 
            +
                #     * [ AWS::IAM::Role][5]
         | 
| 692 | 
            +
                #
         | 
| 693 | 
            +
                #     * [ AWS::IAM::User][6]
         | 
| 694 | 
            +
                #
         | 
| 695 | 
            +
                #     * [ AWS::IAM::UserToGroupAddition][7]
         | 
| 696 | 
            +
                #
         | 
| 697 | 
            +
                #     For more information, see [Acknowledging IAM Resources in AWS
         | 
| 698 | 
            +
                #     CloudFormation Templates][8].
         | 
| 699 | 
            +
                #
         | 
| 700 | 
            +
                #   * `CAPABILITY_AUTO_EXPAND`
         | 
| 701 | 
            +
                #
         | 
| 702 | 
            +
                #     Some template contain macros. Macros perform custom processing on
         | 
| 703 | 
            +
                #     templates; this can include simple actions like find-and-replace
         | 
| 704 | 
            +
                #     operations, all the way to extensive transformations of entire
         | 
| 705 | 
            +
                #     templates. Because of this, users typically create a change set from
         | 
| 706 | 
            +
                #     the processed template, so that they can review the changes
         | 
| 707 | 
            +
                #     resulting from the macros before actually creating the stack. If
         | 
| 708 | 
            +
                #     your stack template contains one or more macros, and you choose to
         | 
| 709 | 
            +
                #     create a stack directly from the processed template, without first
         | 
| 710 | 
            +
                #     reviewing the resulting changes in a change set, you must
         | 
| 711 | 
            +
                #     acknowledge this capability. This includes the [AWS::Include][9] and
         | 
| 712 | 
            +
                #     [AWS::Serverless][10] transforms, which are macros hosted by AWS
         | 
| 713 | 
            +
                #     CloudFormation.
         | 
| 714 | 
            +
                #
         | 
| 715 | 
            +
                #     Change sets do not currently support nested stacks. If you want to
         | 
| 716 | 
            +
                #     create a stack from a stack template that contains macros *and*
         | 
| 717 | 
            +
                #     nested stacks, you must create the stack directly from the template
         | 
| 718 | 
            +
                #     using this capability.
         | 
| 719 | 
            +
                #
         | 
| 720 | 
            +
                #     You should only create stacks directly from a stack template that
         | 
| 721 | 
            +
                #     contains macros if you know what processing the macro performs.
         | 
| 722 | 
            +
                #
         | 
| 723 | 
            +
                #      Each macro relies on an underlying Lambda service function for
         | 
| 724 | 
            +
                #     processing stack templates. Be aware that the Lambda function owner
         | 
| 725 | 
            +
                #     can update the function operation without AWS CloudFormation being
         | 
| 726 | 
            +
                #     notified.
         | 
| 727 | 
            +
                #
         | 
| 728 | 
            +
                #     For more information, see [Using AWS CloudFormation Macros to
         | 
| 729 | 
            +
                #     Perform Custom Processing on Templates][11].
         | 
| 679 730 | 
             
                #
         | 
| 680 731 | 
             
                #
         | 
| 681 732 | 
             
                #
         | 
| @@ -686,7 +737,10 @@ module Aws::CloudFormation | |
| 686 737 | 
             
                #   [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
         | 
| 687 738 | 
             
                #   [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
         | 
| 688 739 | 
             
                #   [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
         | 
| 689 | 
            -
                #   [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 740 | 
            +
                #   [8]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 741 | 
            +
                #   [9]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html
         | 
| 742 | 
            +
                #   [10]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html
         | 
| 743 | 
            +
                #   [11]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html
         | 
| 690 744 | 
             
                #
         | 
| 691 745 | 
             
                # @option params [Array<String>] :resource_types
         | 
| 692 746 | 
             
                #   The template resource types that you have permissions to work with for
         | 
| @@ -819,7 +873,7 @@ module Aws::CloudFormation | |
| 819 873 | 
             
                #     },
         | 
| 820 874 | 
             
                #     timeout_in_minutes: 1,
         | 
| 821 875 | 
             
                #     notification_arns: ["NotificationARN"],
         | 
| 822 | 
            -
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 876 | 
            +
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 823 877 | 
             
                #     resource_types: ["ResourceType"],
         | 
| 824 878 | 
             
                #     role_arn: "RoleARN",
         | 
| 825 879 | 
             
                #     on_failure: "DO_NOTHING", # accepts DO_NOTHING, ROLLBACK, DELETE
         | 
| @@ -1119,7 +1173,7 @@ module Aws::CloudFormation | |
| 1119 1173 | 
             
                #         resolved_value: "ParameterValue",
         | 
| 1120 1174 | 
             
                #       },
         | 
| 1121 1175 | 
             
                #     ],
         | 
| 1122 | 
            -
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 1176 | 
            +
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 1123 1177 | 
             
                #     tags: [
         | 
| 1124 1178 | 
             
                #       {
         | 
| 1125 1179 | 
             
                #         key: "TagKey", # required
         | 
| @@ -1455,7 +1509,7 @@ module Aws::CloudFormation | |
| 1455 1509 | 
             
                #   resp.rollback_configuration.rollback_triggers[0].type #=> String
         | 
| 1456 1510 | 
             
                #   resp.rollback_configuration.monitoring_time_in_minutes #=> Integer
         | 
| 1457 1511 | 
             
                #   resp.capabilities #=> Array
         | 
| 1458 | 
            -
                #   resp.capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"
         | 
| 1512 | 
            +
                #   resp.capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND"
         | 
| 1459 1513 | 
             
                #   resp.tags #=> Array
         | 
| 1460 1514 | 
             
                #   resp.tags[0].key #=> String
         | 
| 1461 1515 | 
             
                #   resp.tags[0].value #=> String
         | 
| @@ -1941,7 +1995,7 @@ module Aws::CloudFormation | |
| 1941 1995 | 
             
                #   resp.stack_set.parameters[0].use_previous_value #=> Boolean
         | 
| 1942 1996 | 
             
                #   resp.stack_set.parameters[0].resolved_value #=> String
         | 
| 1943 1997 | 
             
                #   resp.stack_set.capabilities #=> Array
         | 
| 1944 | 
            -
                #   resp.stack_set.capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"
         | 
| 1998 | 
            +
                #   resp.stack_set.capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND"
         | 
| 1945 1999 | 
             
                #   resp.stack_set.tags #=> Array
         | 
| 1946 2000 | 
             
                #   resp.stack_set.tags[0].key #=> String
         | 
| 1947 2001 | 
             
                #   resp.stack_set.tags[0].value #=> String
         | 
| @@ -2066,7 +2120,7 @@ module Aws::CloudFormation | |
| 2066 2120 | 
             
                #   resp.stacks[0].notification_arns[0] #=> String
         | 
| 2067 2121 | 
             
                #   resp.stacks[0].timeout_in_minutes #=> Integer
         | 
| 2068 2122 | 
             
                #   resp.stacks[0].capabilities #=> Array
         | 
| 2069 | 
            -
                #   resp.stacks[0].capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"
         | 
| 2123 | 
            +
                #   resp.stacks[0].capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND"
         | 
| 2070 2124 | 
             
                #   resp.stacks[0].outputs #=> Array
         | 
| 2071 2125 | 
             
                #   resp.stacks[0].outputs[0].output_key #=> String
         | 
| 2072 2126 | 
             
                #   resp.stacks[0].outputs[0].output_value #=> String
         | 
| @@ -2517,7 +2571,7 @@ module Aws::CloudFormation | |
| 2517 2571 | 
             
                #   resp.parameters[0].parameter_constraints.allowed_values[0] #=> String
         | 
| 2518 2572 | 
             
                #   resp.description #=> String
         | 
| 2519 2573 | 
             
                #   resp.capabilities #=> Array
         | 
| 2520 | 
            -
                #   resp.capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"
         | 
| 2574 | 
            +
                #   resp.capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND"
         | 
| 2521 2575 | 
             
                #   resp.capabilities_reason #=> String
         | 
| 2522 2576 | 
             
                #   resp.resource_types #=> Array
         | 
| 2523 2577 | 
             
                #   resp.resource_types[0] #=> String
         | 
| @@ -3210,29 +3264,80 @@ module Aws::CloudFormation | |
| 3210 3264 | 
             
                #   [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html
         | 
| 3211 3265 | 
             
                #
         | 
| 3212 3266 | 
             
                # @option params [Array<String>] :capabilities
         | 
| 3213 | 
            -
                #    | 
| 3214 | 
            -
                #    | 
| 3215 | 
            -
                #    | 
| 3216 | 
            -
                #   creating new AWS Identity and Access Management (IAM) users. For those
         | 
| 3217 | 
            -
                #   stacks, you must explicitly acknowledge their capabilities by
         | 
| 3218 | 
            -
                #   specifying this parameter.
         | 
| 3267 | 
            +
                #   In some cases, you must explicity acknowledge that your stack template
         | 
| 3268 | 
            +
                #   contains certain capabilities in order for AWS CloudFormation to
         | 
| 3269 | 
            +
                #   update the stack.
         | 
| 3219 3270 | 
             
                #
         | 
| 3220 | 
            -
                #    | 
| 3221 | 
            -
                #   The following resources require you to specify this parameter: [
         | 
| 3222 | 
            -
                #   AWS::IAM::AccessKey][1], [ AWS::IAM::Group][2], [
         | 
| 3223 | 
            -
                #   AWS::IAM::InstanceProfile][3], [ AWS::IAM::Policy][4], [
         | 
| 3224 | 
            -
                #   AWS::IAM::Role][5], [ AWS::IAM::User][6], and [
         | 
| 3225 | 
            -
                #   AWS::IAM::UserToGroupAddition][7]. If your stack template contains
         | 
| 3226 | 
            -
                #   these resources, we recommend that you review all permissions
         | 
| 3227 | 
            -
                #   associated with them and edit their permissions if necessary.
         | 
| 3271 | 
            +
                #   * `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`
         | 
| 3228 3272 | 
             
                #
         | 
| 3229 | 
            -
                # | 
| 3230 | 
            -
                # | 
| 3231 | 
            -
                # | 
| 3232 | 
            -
                # | 
| 3273 | 
            +
                #     Some stack templates might include resources that can affect
         | 
| 3274 | 
            +
                #     permissions in your AWS account; for example, by creating new AWS
         | 
| 3275 | 
            +
                #     Identity and Access Management (IAM) users. For those stacks, you
         | 
| 3276 | 
            +
                #     must explicitly acknowledge this by specifying one of these
         | 
| 3277 | 
            +
                #     capabilities.
         | 
| 3233 3278 | 
             
                #
         | 
| 3234 | 
            -
                # | 
| 3235 | 
            -
                # | 
| 3279 | 
            +
                #     The following IAM resources require you to specify either the
         | 
| 3280 | 
            +
                #     `CAPABILITY_IAM` or `CAPABILITY_NAMED_IAM` capability.
         | 
| 3281 | 
            +
                #
         | 
| 3282 | 
            +
                #     * If you have IAM resources, you can specify either capability.
         | 
| 3283 | 
            +
                #
         | 
| 3284 | 
            +
                #     * If you have IAM resources with custom names, you *must* specify
         | 
| 3285 | 
            +
                #       `CAPABILITY_NAMED_IAM`.
         | 
| 3286 | 
            +
                #
         | 
| 3287 | 
            +
                #     * If you don't specify either of these capabilities, AWS
         | 
| 3288 | 
            +
                #       CloudFormation returns an `InsufficientCapabilities` error.
         | 
| 3289 | 
            +
                #
         | 
| 3290 | 
            +
                #     If your stack template contains these resources, we recommend that
         | 
| 3291 | 
            +
                #     you review all permissions associated with them and edit their
         | 
| 3292 | 
            +
                #     permissions if necessary.
         | 
| 3293 | 
            +
                #
         | 
| 3294 | 
            +
                #     * [ AWS::IAM::AccessKey][1]
         | 
| 3295 | 
            +
                #
         | 
| 3296 | 
            +
                #     * [ AWS::IAM::Group][2]
         | 
| 3297 | 
            +
                #
         | 
| 3298 | 
            +
                #     * [ AWS::IAM::InstanceProfile][3]
         | 
| 3299 | 
            +
                #
         | 
| 3300 | 
            +
                #     * [ AWS::IAM::Policy][4]
         | 
| 3301 | 
            +
                #
         | 
| 3302 | 
            +
                #     * [ AWS::IAM::Role][5]
         | 
| 3303 | 
            +
                #
         | 
| 3304 | 
            +
                #     * [ AWS::IAM::User][6]
         | 
| 3305 | 
            +
                #
         | 
| 3306 | 
            +
                #     * [ AWS::IAM::UserToGroupAddition][7]
         | 
| 3307 | 
            +
                #
         | 
| 3308 | 
            +
                #     For more information, see [Acknowledging IAM Resources in AWS
         | 
| 3309 | 
            +
                #     CloudFormation Templates][8].
         | 
| 3310 | 
            +
                #
         | 
| 3311 | 
            +
                #   * `CAPABILITY_AUTO_EXPAND`
         | 
| 3312 | 
            +
                #
         | 
| 3313 | 
            +
                #     Some template contain macros. Macros perform custom processing on
         | 
| 3314 | 
            +
                #     templates; this can include simple actions like find-and-replace
         | 
| 3315 | 
            +
                #     operations, all the way to extensive transformations of entire
         | 
| 3316 | 
            +
                #     templates. Because of this, users typically create a change set from
         | 
| 3317 | 
            +
                #     the processed template, so that they can review the changes
         | 
| 3318 | 
            +
                #     resulting from the macros before actually updating the stack. If
         | 
| 3319 | 
            +
                #     your stack template contains one or more macros, and you choose to
         | 
| 3320 | 
            +
                #     update a stack directly from the processed template, without first
         | 
| 3321 | 
            +
                #     reviewing the resulting changes in a change set, you must
         | 
| 3322 | 
            +
                #     acknowledge this capability. This includes the [AWS::Include][9] and
         | 
| 3323 | 
            +
                #     [AWS::Serverless][10] transforms, which are macros hosted by AWS
         | 
| 3324 | 
            +
                #     CloudFormation.
         | 
| 3325 | 
            +
                #
         | 
| 3326 | 
            +
                #     Change sets do not currently support nested stacks. If you want to
         | 
| 3327 | 
            +
                #     update a stack from a stack template that contains macros *and*
         | 
| 3328 | 
            +
                #     nested stacks, you must update the stack directly from the template
         | 
| 3329 | 
            +
                #     using this capability.
         | 
| 3330 | 
            +
                #
         | 
| 3331 | 
            +
                #     You should only update stacks directly from a stack template that
         | 
| 3332 | 
            +
                #     contains macros if you know what processing the macro performs.
         | 
| 3333 | 
            +
                #
         | 
| 3334 | 
            +
                #      Each macro relies on an underlying Lambda service function for
         | 
| 3335 | 
            +
                #     processing stack templates. Be aware that the Lambda function owner
         | 
| 3336 | 
            +
                #     can update the function operation without AWS CloudFormation being
         | 
| 3337 | 
            +
                #     notified.
         | 
| 3338 | 
            +
                #
         | 
| 3339 | 
            +
                #     For more information, see [Using AWS CloudFormation Macros to
         | 
| 3340 | 
            +
                #     Perform Custom Processing on Templates][11].
         | 
| 3236 3341 | 
             
                #
         | 
| 3237 3342 | 
             
                #
         | 
| 3238 3343 | 
             
                #
         | 
| @@ -3243,7 +3348,10 @@ module Aws::CloudFormation | |
| 3243 3348 | 
             
                #   [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
         | 
| 3244 3349 | 
             
                #   [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
         | 
| 3245 3350 | 
             
                #   [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
         | 
| 3246 | 
            -
                #   [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 3351 | 
            +
                #   [8]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 3352 | 
            +
                #   [9]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html
         | 
| 3353 | 
            +
                #   [10]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html
         | 
| 3354 | 
            +
                #   [11]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html
         | 
| 3247 3355 | 
             
                #
         | 
| 3248 3356 | 
             
                # @option params [Array<String>] :resource_types
         | 
| 3249 3357 | 
             
                #   The template resource types that you have permissions to work with for
         | 
| @@ -3357,7 +3465,7 @@ module Aws::CloudFormation | |
| 3357 3465 | 
             
                #         resolved_value: "ParameterValue",
         | 
| 3358 3466 | 
             
                #       },
         | 
| 3359 3467 | 
             
                #     ],
         | 
| 3360 | 
            -
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 3468 | 
            +
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 3361 3469 | 
             
                #     resource_types: ["ResourceType"],
         | 
| 3362 3470 | 
             
                #     role_arn: "RoleARN",
         | 
| 3363 3471 | 
             
                #     rollback_configuration: {
         | 
| @@ -3776,7 +3884,7 @@ module Aws::CloudFormation | |
| 3776 3884 | 
             
                #         resolved_value: "ParameterValue",
         | 
| 3777 3885 | 
             
                #       },
         | 
| 3778 3886 | 
             
                #     ],
         | 
| 3779 | 
            -
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 3887 | 
            +
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 3780 3888 | 
             
                #     tags: [
         | 
| 3781 3889 | 
             
                #       {
         | 
| 3782 3890 | 
             
                #         key: "TagKey", # required
         | 
| @@ -3907,7 +4015,7 @@ module Aws::CloudFormation | |
| 3907 4015 | 
             
                #   resp.parameters[0].description #=> String
         | 
| 3908 4016 | 
             
                #   resp.description #=> String
         | 
| 3909 4017 | 
             
                #   resp.capabilities #=> Array
         | 
| 3910 | 
            -
                #   resp.capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"
         | 
| 4018 | 
            +
                #   resp.capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND"
         | 
| 3911 4019 | 
             
                #   resp.capabilities_reason #=> String
         | 
| 3912 4020 | 
             
                #   resp.declared_transforms #=> Array
         | 
| 3913 4021 | 
             
                #   resp.declared_transforms[0] #=> String
         | 
| @@ -3934,7 +4042,7 @@ module Aws::CloudFormation | |
| 3934 4042 | 
             
                    params: params,
         | 
| 3935 4043 | 
             
                    config: config)
         | 
| 3936 4044 | 
             
                  context[:gem_name] = 'aws-sdk-cloudformation'
         | 
| 3937 | 
            -
                  context[:gem_version] = '1. | 
| 4045 | 
            +
                  context[:gem_version] = '1.12.0'
         | 
| 3938 4046 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 3939 4047 | 
             
                end
         | 
| 3940 4048 |  | 
| @@ -47,7 +47,7 @@ module Aws::CloudFormation | |
| 47 47 | 
             
                #     },
         | 
| 48 48 | 
             
                #     timeout_in_minutes: 1,
         | 
| 49 49 | 
             
                #     notification_arns: ["NotificationARN"],
         | 
| 50 | 
            -
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 50 | 
            +
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 51 51 | 
             
                #     resource_types: ["ResourceType"],
         | 
| 52 52 | 
             
                #     role_arn: "RoleARN",
         | 
| 53 53 | 
             
                #     on_failure: "DO_NOTHING", # accepts DO_NOTHING, ROLLBACK, DELETE
         | 
| @@ -121,29 +121,80 @@ module Aws::CloudFormation | |
| 121 121 | 
             
                #   related events. You can find your SNS topic ARNs using the SNS console
         | 
| 122 122 | 
             
                #   or your Command Line Interface (CLI).
         | 
| 123 123 | 
             
                # @option options [Array<String>] :capabilities
         | 
| 124 | 
            -
                #    | 
| 125 | 
            -
                #    | 
| 126 | 
            -
                #    | 
| 127 | 
            -
                #   creating new AWS Identity and Access Management (IAM) users. For those
         | 
| 128 | 
            -
                #   stacks, you must explicitly acknowledge their capabilities by
         | 
| 129 | 
            -
                #   specifying this parameter.
         | 
| 124 | 
            +
                #   In some cases, you must explicity acknowledge that your stack template
         | 
| 125 | 
            +
                #   contains certain capabilities in order for AWS CloudFormation to
         | 
| 126 | 
            +
                #   create the stack.
         | 
| 130 127 | 
             
                #
         | 
| 131 | 
            -
                #    | 
| 132 | 
            -
                #   The following resources require you to specify this parameter: [
         | 
| 133 | 
            -
                #   AWS::IAM::AccessKey][1], [ AWS::IAM::Group][2], [
         | 
| 134 | 
            -
                #   AWS::IAM::InstanceProfile][3], [ AWS::IAM::Policy][4], [
         | 
| 135 | 
            -
                #   AWS::IAM::Role][5], [ AWS::IAM::User][6], and [
         | 
| 136 | 
            -
                #   AWS::IAM::UserToGroupAddition][7]. If your stack template contains
         | 
| 137 | 
            -
                #   these resources, we recommend that you review all permissions
         | 
| 138 | 
            -
                #   associated with them and edit their permissions if necessary.
         | 
| 128 | 
            +
                #   * `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`
         | 
| 139 129 | 
             
                #
         | 
| 140 | 
            -
                # | 
| 141 | 
            -
                # | 
| 142 | 
            -
                # | 
| 143 | 
            -
                # | 
| 130 | 
            +
                #     Some stack templates might include resources that can affect
         | 
| 131 | 
            +
                #     permissions in your AWS account; for example, by creating new AWS
         | 
| 132 | 
            +
                #     Identity and Access Management (IAM) users. For those stacks, you
         | 
| 133 | 
            +
                #     must explicitly acknowledge this by specifying one of these
         | 
| 134 | 
            +
                #     capabilities.
         | 
| 144 135 | 
             
                #
         | 
| 145 | 
            -
                # | 
| 146 | 
            -
                # | 
| 136 | 
            +
                #     The following IAM resources require you to specify either the
         | 
| 137 | 
            +
                #     `CAPABILITY_IAM` or `CAPABILITY_NAMED_IAM` capability.
         | 
| 138 | 
            +
                #
         | 
| 139 | 
            +
                #     * If you have IAM resources, you can specify either capability.
         | 
| 140 | 
            +
                #
         | 
| 141 | 
            +
                #     * If you have IAM resources with custom names, you *must* specify
         | 
| 142 | 
            +
                #       `CAPABILITY_NAMED_IAM`.
         | 
| 143 | 
            +
                #
         | 
| 144 | 
            +
                #     * If you don't specify either of these capabilities, AWS
         | 
| 145 | 
            +
                #       CloudFormation returns an `InsufficientCapabilities` error.
         | 
| 146 | 
            +
                #
         | 
| 147 | 
            +
                #     If your stack template contains these resources, we recommend that
         | 
| 148 | 
            +
                #     you review all permissions associated with them and edit their
         | 
| 149 | 
            +
                #     permissions if necessary.
         | 
| 150 | 
            +
                #
         | 
| 151 | 
            +
                #     * [ AWS::IAM::AccessKey][1]
         | 
| 152 | 
            +
                #
         | 
| 153 | 
            +
                #     * [ AWS::IAM::Group][2]
         | 
| 154 | 
            +
                #
         | 
| 155 | 
            +
                #     * [ AWS::IAM::InstanceProfile][3]
         | 
| 156 | 
            +
                #
         | 
| 157 | 
            +
                #     * [ AWS::IAM::Policy][4]
         | 
| 158 | 
            +
                #
         | 
| 159 | 
            +
                #     * [ AWS::IAM::Role][5]
         | 
| 160 | 
            +
                #
         | 
| 161 | 
            +
                #     * [ AWS::IAM::User][6]
         | 
| 162 | 
            +
                #
         | 
| 163 | 
            +
                #     * [ AWS::IAM::UserToGroupAddition][7]
         | 
| 164 | 
            +
                #
         | 
| 165 | 
            +
                #     For more information, see [Acknowledging IAM Resources in AWS
         | 
| 166 | 
            +
                #     CloudFormation Templates][8].
         | 
| 167 | 
            +
                #
         | 
| 168 | 
            +
                #   * `CAPABILITY_AUTO_EXPAND`
         | 
| 169 | 
            +
                #
         | 
| 170 | 
            +
                #     Some template contain macros. Macros perform custom processing on
         | 
| 171 | 
            +
                #     templates; this can include simple actions like find-and-replace
         | 
| 172 | 
            +
                #     operations, all the way to extensive transformations of entire
         | 
| 173 | 
            +
                #     templates. Because of this, users typically create a change set from
         | 
| 174 | 
            +
                #     the processed template, so that they can review the changes
         | 
| 175 | 
            +
                #     resulting from the macros before actually creating the stack. If
         | 
| 176 | 
            +
                #     your stack template contains one or more macros, and you choose to
         | 
| 177 | 
            +
                #     create a stack directly from the processed template, without first
         | 
| 178 | 
            +
                #     reviewing the resulting changes in a change set, you must
         | 
| 179 | 
            +
                #     acknowledge this capability. This includes the [AWS::Include][9] and
         | 
| 180 | 
            +
                #     [AWS::Serverless][10] transforms, which are macros hosted by AWS
         | 
| 181 | 
            +
                #     CloudFormation.
         | 
| 182 | 
            +
                #
         | 
| 183 | 
            +
                #     Change sets do not currently support nested stacks. If you want to
         | 
| 184 | 
            +
                #     create a stack from a stack template that contains macros *and*
         | 
| 185 | 
            +
                #     nested stacks, you must create the stack directly from the template
         | 
| 186 | 
            +
                #     using this capability.
         | 
| 187 | 
            +
                #
         | 
| 188 | 
            +
                #     You should only create stacks directly from a stack template that
         | 
| 189 | 
            +
                #     contains macros if you know what processing the macro performs.
         | 
| 190 | 
            +
                #
         | 
| 191 | 
            +
                #      Each macro relies on an underlying Lambda service function for
         | 
| 192 | 
            +
                #     processing stack templates. Be aware that the Lambda function owner
         | 
| 193 | 
            +
                #     can update the function operation without AWS CloudFormation being
         | 
| 194 | 
            +
                #     notified.
         | 
| 195 | 
            +
                #
         | 
| 196 | 
            +
                #     For more information, see [Using AWS CloudFormation Macros to
         | 
| 197 | 
            +
                #     Perform Custom Processing on Templates][11].
         | 
| 147 198 | 
             
                #
         | 
| 148 199 | 
             
                #
         | 
| 149 200 | 
             
                #
         | 
| @@ -154,7 +205,10 @@ module Aws::CloudFormation | |
| 154 205 | 
             
                #   [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
         | 
| 155 206 | 
             
                #   [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
         | 
| 156 207 | 
             
                #   [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
         | 
| 157 | 
            -
                #   [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 208 | 
            +
                #   [8]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 209 | 
            +
                #   [9]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html
         | 
| 210 | 
            +
                #   [10]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html
         | 
| 211 | 
            +
                #   [11]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html
         | 
| 158 212 | 
             
                # @option options [Array<String>] :resource_types
         | 
| 159 213 | 
             
                #   The template resource types that you have permissions to work with for
         | 
| 160 214 | 
             
                #   this create stack action, such as `AWS::EC2::Instance`, `AWS::EC2::*`,
         | 
| @@ -410,7 +410,7 @@ module Aws::CloudFormation | |
| 410 410 | 
             
                #     },
         | 
| 411 411 | 
             
                #     timeout_in_minutes: 1,
         | 
| 412 412 | 
             
                #     notification_arns: ["NotificationARN"],
         | 
| 413 | 
            -
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 413 | 
            +
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 414 414 | 
             
                #     resource_types: ["ResourceType"],
         | 
| 415 415 | 
             
                #     role_arn: "RoleARN",
         | 
| 416 416 | 
             
                #     on_failure: "DO_NOTHING", # accepts DO_NOTHING, ROLLBACK, DELETE
         | 
| @@ -475,29 +475,80 @@ module Aws::CloudFormation | |
| 475 475 | 
             
                #   related events. You can find your SNS topic ARNs using the SNS console
         | 
| 476 476 | 
             
                #   or your Command Line Interface (CLI).
         | 
| 477 477 | 
             
                # @option options [Array<String>] :capabilities
         | 
| 478 | 
            -
                #    | 
| 479 | 
            -
                #    | 
| 480 | 
            -
                #    | 
| 481 | 
            -
                #   creating new AWS Identity and Access Management (IAM) users. For those
         | 
| 482 | 
            -
                #   stacks, you must explicitly acknowledge their capabilities by
         | 
| 483 | 
            -
                #   specifying this parameter.
         | 
| 478 | 
            +
                #   In some cases, you must explicity acknowledge that your stack template
         | 
| 479 | 
            +
                #   contains certain capabilities in order for AWS CloudFormation to
         | 
| 480 | 
            +
                #   create the stack.
         | 
| 484 481 | 
             
                #
         | 
| 485 | 
            -
                #    | 
| 486 | 
            -
                #   The following resources require you to specify this parameter: [
         | 
| 487 | 
            -
                #   AWS::IAM::AccessKey][1], [ AWS::IAM::Group][2], [
         | 
| 488 | 
            -
                #   AWS::IAM::InstanceProfile][3], [ AWS::IAM::Policy][4], [
         | 
| 489 | 
            -
                #   AWS::IAM::Role][5], [ AWS::IAM::User][6], and [
         | 
| 490 | 
            -
                #   AWS::IAM::UserToGroupAddition][7]. If your stack template contains
         | 
| 491 | 
            -
                #   these resources, we recommend that you review all permissions
         | 
| 492 | 
            -
                #   associated with them and edit their permissions if necessary.
         | 
| 482 | 
            +
                #   * `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`
         | 
| 493 483 | 
             
                #
         | 
| 494 | 
            -
                # | 
| 495 | 
            -
                # | 
| 496 | 
            -
                # | 
| 497 | 
            -
                # | 
| 484 | 
            +
                #     Some stack templates might include resources that can affect
         | 
| 485 | 
            +
                #     permissions in your AWS account; for example, by creating new AWS
         | 
| 486 | 
            +
                #     Identity and Access Management (IAM) users. For those stacks, you
         | 
| 487 | 
            +
                #     must explicitly acknowledge this by specifying one of these
         | 
| 488 | 
            +
                #     capabilities.
         | 
| 498 489 | 
             
                #
         | 
| 499 | 
            -
                # | 
| 500 | 
            -
                # | 
| 490 | 
            +
                #     The following IAM resources require you to specify either the
         | 
| 491 | 
            +
                #     `CAPABILITY_IAM` or `CAPABILITY_NAMED_IAM` capability.
         | 
| 492 | 
            +
                #
         | 
| 493 | 
            +
                #     * If you have IAM resources, you can specify either capability.
         | 
| 494 | 
            +
                #
         | 
| 495 | 
            +
                #     * If you have IAM resources with custom names, you *must* specify
         | 
| 496 | 
            +
                #       `CAPABILITY_NAMED_IAM`.
         | 
| 497 | 
            +
                #
         | 
| 498 | 
            +
                #     * If you don't specify either of these capabilities, AWS
         | 
| 499 | 
            +
                #       CloudFormation returns an `InsufficientCapabilities` error.
         | 
| 500 | 
            +
                #
         | 
| 501 | 
            +
                #     If your stack template contains these resources, we recommend that
         | 
| 502 | 
            +
                #     you review all permissions associated with them and edit their
         | 
| 503 | 
            +
                #     permissions if necessary.
         | 
| 504 | 
            +
                #
         | 
| 505 | 
            +
                #     * [ AWS::IAM::AccessKey][1]
         | 
| 506 | 
            +
                #
         | 
| 507 | 
            +
                #     * [ AWS::IAM::Group][2]
         | 
| 508 | 
            +
                #
         | 
| 509 | 
            +
                #     * [ AWS::IAM::InstanceProfile][3]
         | 
| 510 | 
            +
                #
         | 
| 511 | 
            +
                #     * [ AWS::IAM::Policy][4]
         | 
| 512 | 
            +
                #
         | 
| 513 | 
            +
                #     * [ AWS::IAM::Role][5]
         | 
| 514 | 
            +
                #
         | 
| 515 | 
            +
                #     * [ AWS::IAM::User][6]
         | 
| 516 | 
            +
                #
         | 
| 517 | 
            +
                #     * [ AWS::IAM::UserToGroupAddition][7]
         | 
| 518 | 
            +
                #
         | 
| 519 | 
            +
                #     For more information, see [Acknowledging IAM Resources in AWS
         | 
| 520 | 
            +
                #     CloudFormation Templates][8].
         | 
| 521 | 
            +
                #
         | 
| 522 | 
            +
                #   * `CAPABILITY_AUTO_EXPAND`
         | 
| 523 | 
            +
                #
         | 
| 524 | 
            +
                #     Some template contain macros. Macros perform custom processing on
         | 
| 525 | 
            +
                #     templates; this can include simple actions like find-and-replace
         | 
| 526 | 
            +
                #     operations, all the way to extensive transformations of entire
         | 
| 527 | 
            +
                #     templates. Because of this, users typically create a change set from
         | 
| 528 | 
            +
                #     the processed template, so that they can review the changes
         | 
| 529 | 
            +
                #     resulting from the macros before actually creating the stack. If
         | 
| 530 | 
            +
                #     your stack template contains one or more macros, and you choose to
         | 
| 531 | 
            +
                #     create a stack directly from the processed template, without first
         | 
| 532 | 
            +
                #     reviewing the resulting changes in a change set, you must
         | 
| 533 | 
            +
                #     acknowledge this capability. This includes the [AWS::Include][9] and
         | 
| 534 | 
            +
                #     [AWS::Serverless][10] transforms, which are macros hosted by AWS
         | 
| 535 | 
            +
                #     CloudFormation.
         | 
| 536 | 
            +
                #
         | 
| 537 | 
            +
                #     Change sets do not currently support nested stacks. If you want to
         | 
| 538 | 
            +
                #     create a stack from a stack template that contains macros *and*
         | 
| 539 | 
            +
                #     nested stacks, you must create the stack directly from the template
         | 
| 540 | 
            +
                #     using this capability.
         | 
| 541 | 
            +
                #
         | 
| 542 | 
            +
                #     You should only create stacks directly from a stack template that
         | 
| 543 | 
            +
                #     contains macros if you know what processing the macro performs.
         | 
| 544 | 
            +
                #
         | 
| 545 | 
            +
                #      Each macro relies on an underlying Lambda service function for
         | 
| 546 | 
            +
                #     processing stack templates. Be aware that the Lambda function owner
         | 
| 547 | 
            +
                #     can update the function operation without AWS CloudFormation being
         | 
| 548 | 
            +
                #     notified.
         | 
| 549 | 
            +
                #
         | 
| 550 | 
            +
                #     For more information, see [Using AWS CloudFormation Macros to
         | 
| 551 | 
            +
                #     Perform Custom Processing on Templates][11].
         | 
| 501 552 | 
             
                #
         | 
| 502 553 | 
             
                #
         | 
| 503 554 | 
             
                #
         | 
| @@ -508,7 +559,10 @@ module Aws::CloudFormation | |
| 508 559 | 
             
                #   [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
         | 
| 509 560 | 
             
                #   [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
         | 
| 510 561 | 
             
                #   [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
         | 
| 511 | 
            -
                #   [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 562 | 
            +
                #   [8]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 563 | 
            +
                #   [9]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html
         | 
| 564 | 
            +
                #   [10]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html
         | 
| 565 | 
            +
                #   [11]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html
         | 
| 512 566 | 
             
                # @option options [Array<String>] :resource_types
         | 
| 513 567 | 
             
                #   The template resource types that you have permissions to work with for
         | 
| 514 568 | 
             
                #   this create stack action, such as `AWS::EC2::Instance`, `AWS::EC2::*`,
         | 
| @@ -678,7 +732,7 @@ module Aws::CloudFormation | |
| 678 732 | 
             
                #         resolved_value: "ParameterValue",
         | 
| 679 733 | 
             
                #       },
         | 
| 680 734 | 
             
                #     ],
         | 
| 681 | 
            -
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 735 | 
            +
                #     capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 682 736 | 
             
                #     resource_types: ["ResourceType"],
         | 
| 683 737 | 
             
                #     role_arn: "RoleARN",
         | 
| 684 738 | 
             
                #     rollback_configuration: {
         | 
| @@ -761,29 +815,80 @@ module Aws::CloudFormation | |
| 761 815 | 
             
                #
         | 
| 762 816 | 
             
                #   [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html
         | 
| 763 817 | 
             
                # @option options [Array<String>] :capabilities
         | 
| 764 | 
            -
                #    | 
| 765 | 
            -
                #    | 
| 766 | 
            -
                #    | 
| 767 | 
            -
                # | 
| 768 | 
            -
                #    | 
| 769 | 
            -
                # | 
| 818 | 
            +
                #   In some cases, you must explicity acknowledge that your stack template
         | 
| 819 | 
            +
                #   contains certain capabilities in order for AWS CloudFormation to
         | 
| 820 | 
            +
                #   update the stack.
         | 
| 821 | 
            +
                #
         | 
| 822 | 
            +
                #   * `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`
         | 
| 823 | 
            +
                #
         | 
| 824 | 
            +
                #     Some stack templates might include resources that can affect
         | 
| 825 | 
            +
                #     permissions in your AWS account; for example, by creating new AWS
         | 
| 826 | 
            +
                #     Identity and Access Management (IAM) users. For those stacks, you
         | 
| 827 | 
            +
                #     must explicitly acknowledge this by specifying one of these
         | 
| 828 | 
            +
                #     capabilities.
         | 
| 829 | 
            +
                #
         | 
| 830 | 
            +
                #     The following IAM resources require you to specify either the
         | 
| 831 | 
            +
                #     `CAPABILITY_IAM` or `CAPABILITY_NAMED_IAM` capability.
         | 
| 832 | 
            +
                #
         | 
| 833 | 
            +
                #     * If you have IAM resources, you can specify either capability.
         | 
| 834 | 
            +
                #
         | 
| 835 | 
            +
                #     * If you have IAM resources with custom names, you *must* specify
         | 
| 836 | 
            +
                #       `CAPABILITY_NAMED_IAM`.
         | 
| 837 | 
            +
                #
         | 
| 838 | 
            +
                #     * If you don't specify either of these capabilities, AWS
         | 
| 839 | 
            +
                #       CloudFormation returns an `InsufficientCapabilities` error.
         | 
| 840 | 
            +
                #
         | 
| 841 | 
            +
                #     If your stack template contains these resources, we recommend that
         | 
| 842 | 
            +
                #     you review all permissions associated with them and edit their
         | 
| 843 | 
            +
                #     permissions if necessary.
         | 
| 844 | 
            +
                #
         | 
| 845 | 
            +
                #     * [ AWS::IAM::AccessKey][1]
         | 
| 846 | 
            +
                #
         | 
| 847 | 
            +
                #     * [ AWS::IAM::Group][2]
         | 
| 848 | 
            +
                #
         | 
| 849 | 
            +
                #     * [ AWS::IAM::InstanceProfile][3]
         | 
| 850 | 
            +
                #
         | 
| 851 | 
            +
                #     * [ AWS::IAM::Policy][4]
         | 
| 852 | 
            +
                #
         | 
| 853 | 
            +
                #     * [ AWS::IAM::Role][5]
         | 
| 854 | 
            +
                #
         | 
| 855 | 
            +
                #     * [ AWS::IAM::User][6]
         | 
| 856 | 
            +
                #
         | 
| 857 | 
            +
                #     * [ AWS::IAM::UserToGroupAddition][7]
         | 
| 858 | 
            +
                #
         | 
| 859 | 
            +
                #     For more information, see [Acknowledging IAM Resources in AWS
         | 
| 860 | 
            +
                #     CloudFormation Templates][8].
         | 
| 861 | 
            +
                #
         | 
| 862 | 
            +
                #   * `CAPABILITY_AUTO_EXPAND`
         | 
| 863 | 
            +
                #
         | 
| 864 | 
            +
                #     Some template contain macros. Macros perform custom processing on
         | 
| 865 | 
            +
                #     templates; this can include simple actions like find-and-replace
         | 
| 866 | 
            +
                #     operations, all the way to extensive transformations of entire
         | 
| 867 | 
            +
                #     templates. Because of this, users typically create a change set from
         | 
| 868 | 
            +
                #     the processed template, so that they can review the changes
         | 
| 869 | 
            +
                #     resulting from the macros before actually updating the stack. If
         | 
| 870 | 
            +
                #     your stack template contains one or more macros, and you choose to
         | 
| 871 | 
            +
                #     update a stack directly from the processed template, without first
         | 
| 872 | 
            +
                #     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 AWS
         | 
| 875 | 
            +
                #     CloudFormation.
         | 
| 876 | 
            +
                #
         | 
| 877 | 
            +
                #     Change sets do not currently support nested stacks. If you want to
         | 
| 878 | 
            +
                #     update a stack from a stack template that contains macros *and*
         | 
| 879 | 
            +
                #     nested stacks, you must update the stack directly from the template
         | 
| 880 | 
            +
                #     using this capability.
         | 
| 770 881 | 
             
                #
         | 
| 771 | 
            -
                # | 
| 772 | 
            -
                # | 
| 773 | 
            -
                #   AWS::IAM::AccessKey][1], [ AWS::IAM::Group][2], [
         | 
| 774 | 
            -
                #   AWS::IAM::InstanceProfile][3], [ AWS::IAM::Policy][4], [
         | 
| 775 | 
            -
                #   AWS::IAM::Role][5], [ AWS::IAM::User][6], and [
         | 
| 776 | 
            -
                #   AWS::IAM::UserToGroupAddition][7]. If your stack template contains
         | 
| 777 | 
            -
                #   these resources, we recommend that you review all permissions
         | 
| 778 | 
            -
                #   associated with them and edit their permissions if necessary.
         | 
| 882 | 
            +
                #     You should only update stacks directly from a stack template that
         | 
| 883 | 
            +
                #     contains macros if you know what processing the macro performs.
         | 
| 779 884 | 
             
                #
         | 
| 780 | 
            -
                # | 
| 781 | 
            -
                # | 
| 782 | 
            -
                # | 
| 783 | 
            -
                # | 
| 885 | 
            +
                #      Each macro relies on an underlying Lambda service function for
         | 
| 886 | 
            +
                #     processing stack templates. Be aware that the Lambda function owner
         | 
| 887 | 
            +
                #     can update the function operation without AWS CloudFormation being
         | 
| 888 | 
            +
                #     notified.
         | 
| 784 889 | 
             
                #
         | 
| 785 | 
            -
                # | 
| 786 | 
            -
                # | 
| 890 | 
            +
                #     For more information, see [Using AWS CloudFormation Macros to
         | 
| 891 | 
            +
                #     Perform Custom Processing on Templates][11].
         | 
| 787 892 | 
             
                #
         | 
| 788 893 | 
             
                #
         | 
| 789 894 | 
             
                #
         | 
| @@ -794,7 +899,10 @@ module Aws::CloudFormation | |
| 794 899 | 
             
                #   [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
         | 
| 795 900 | 
             
                #   [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
         | 
| 796 901 | 
             
                #   [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
         | 
| 797 | 
            -
                #   [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 902 | 
            +
                #   [8]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 903 | 
            +
                #   [9]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html
         | 
| 904 | 
            +
                #   [10]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html
         | 
| 905 | 
            +
                #   [11]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html
         | 
| 798 906 | 
             
                # @option options [Array<String>] :resource_types
         | 
| 799 907 | 
             
                #   The template resource types that you have permissions to work with for
         | 
| 800 908 | 
             
                #   this update stack action, such as `AWS::EC2::Instance`, `AWS::EC2::*`,
         | 
| @@ -332,7 +332,7 @@ module Aws::CloudFormation | |
| 332 332 | 
             
                #             resolved_value: "ParameterValue",
         | 
| 333 333 | 
             
                #           },
         | 
| 334 334 | 
             
                #         ],
         | 
| 335 | 
            -
                #         capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 335 | 
            +
                #         capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 336 336 | 
             
                #         resource_types: ["ResourceType"],
         | 
| 337 337 | 
             
                #         role_arn: "RoleARN",
         | 
| 338 338 | 
             
                #         rollback_configuration: {
         | 
| @@ -591,7 +591,7 @@ module Aws::CloudFormation | |
| 591 591 | 
             
                #         },
         | 
| 592 592 | 
             
                #         timeout_in_minutes: 1,
         | 
| 593 593 | 
             
                #         notification_arns: ["NotificationARN"],
         | 
| 594 | 
            -
                #         capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 594 | 
            +
                #         capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 595 595 | 
             
                #         resource_types: ["ResourceType"],
         | 
| 596 596 | 
             
                #         role_arn: "RoleARN",
         | 
| 597 597 | 
             
                #         on_failure: "DO_NOTHING", # accepts DO_NOTHING, ROLLBACK, DELETE
         | 
| @@ -681,30 +681,80 @@ module Aws::CloudFormation | |
| 681 681 | 
             
                #   @return [Array<String>]
         | 
| 682 682 | 
             
                #
         | 
| 683 683 | 
             
                # @!attribute [rw] capabilities
         | 
| 684 | 
            -
                #    | 
| 685 | 
            -
                #    | 
| 686 | 
            -
                #    | 
| 687 | 
            -
                #   creating new AWS Identity and Access Management (IAM) users. For
         | 
| 688 | 
            -
                #   those stacks, you must explicitly acknowledge their capabilities by
         | 
| 689 | 
            -
                #   specifying this parameter.
         | 
| 684 | 
            +
                #   In some cases, you must explicity acknowledge that your stack
         | 
| 685 | 
            +
                #   template contains certain capabilities in order for AWS
         | 
| 686 | 
            +
                #   CloudFormation to create the stack.
         | 
| 690 687 | 
             
                #
         | 
| 691 | 
            -
                #    | 
| 692 | 
            -
                #   `CAPABILITY_NAMED_IAM`. The following resources require you to
         | 
| 693 | 
            -
                #   specify this parameter: [ AWS::IAM::AccessKey][1], [
         | 
| 694 | 
            -
                #   AWS::IAM::Group][2], [ AWS::IAM::InstanceProfile][3], [
         | 
| 695 | 
            -
                #   AWS::IAM::Policy][4], [ AWS::IAM::Role][5], [ AWS::IAM::User][6],
         | 
| 696 | 
            -
                #   and [ AWS::IAM::UserToGroupAddition][7]. If your stack template
         | 
| 697 | 
            -
                #   contains these resources, we recommend that you review all
         | 
| 698 | 
            -
                #   permissions associated with them and edit their permissions if
         | 
| 699 | 
            -
                #   necessary.
         | 
| 688 | 
            +
                #   * `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`
         | 
| 700 689 | 
             
                #
         | 
| 701 | 
            -
                # | 
| 702 | 
            -
                # | 
| 703 | 
            -
                # | 
| 704 | 
            -
                # | 
| 690 | 
            +
                #     Some stack templates might include resources that can affect
         | 
| 691 | 
            +
                #     permissions in your AWS account; for example, by creating new AWS
         | 
| 692 | 
            +
                #     Identity and Access Management (IAM) users. For those stacks, you
         | 
| 693 | 
            +
                #     must explicitly acknowledge this by specifying one of these
         | 
| 694 | 
            +
                #     capabilities.
         | 
| 705 695 | 
             
                #
         | 
| 706 | 
            -
                # | 
| 707 | 
            -
                # | 
| 696 | 
            +
                #     The following IAM resources require you to specify either the
         | 
| 697 | 
            +
                #     `CAPABILITY_IAM` or `CAPABILITY_NAMED_IAM` capability.
         | 
| 698 | 
            +
                #
         | 
| 699 | 
            +
                #     * If you have IAM resources, you can specify either capability.
         | 
| 700 | 
            +
                #
         | 
| 701 | 
            +
                #     * If you have IAM resources with custom names, you *must* specify
         | 
| 702 | 
            +
                #       `CAPABILITY_NAMED_IAM`.
         | 
| 703 | 
            +
                #
         | 
| 704 | 
            +
                #     * If you don't specify either of these capabilities, AWS
         | 
| 705 | 
            +
                #       CloudFormation returns an `InsufficientCapabilities` error.
         | 
| 706 | 
            +
                #
         | 
| 707 | 
            +
                #     If your stack template contains these resources, we recommend that
         | 
| 708 | 
            +
                #     you review all permissions associated with them and edit their
         | 
| 709 | 
            +
                #     permissions if necessary.
         | 
| 710 | 
            +
                #
         | 
| 711 | 
            +
                #     * [ AWS::IAM::AccessKey][1]
         | 
| 712 | 
            +
                #
         | 
| 713 | 
            +
                #     * [ AWS::IAM::Group][2]
         | 
| 714 | 
            +
                #
         | 
| 715 | 
            +
                #     * [ AWS::IAM::InstanceProfile][3]
         | 
| 716 | 
            +
                #
         | 
| 717 | 
            +
                #     * [ AWS::IAM::Policy][4]
         | 
| 718 | 
            +
                #
         | 
| 719 | 
            +
                #     * [ AWS::IAM::Role][5]
         | 
| 720 | 
            +
                #
         | 
| 721 | 
            +
                #     * [ AWS::IAM::User][6]
         | 
| 722 | 
            +
                #
         | 
| 723 | 
            +
                #     * [ AWS::IAM::UserToGroupAddition][7]
         | 
| 724 | 
            +
                #
         | 
| 725 | 
            +
                #     For more information, see [Acknowledging IAM Resources in AWS
         | 
| 726 | 
            +
                #     CloudFormation Templates][8].
         | 
| 727 | 
            +
                #
         | 
| 728 | 
            +
                #   * `CAPABILITY_AUTO_EXPAND`
         | 
| 729 | 
            +
                #
         | 
| 730 | 
            +
                #     Some template contain macros. Macros perform custom processing on
         | 
| 731 | 
            +
                #     templates; this can include simple actions like find-and-replace
         | 
| 732 | 
            +
                #     operations, all the way to extensive transformations of entire
         | 
| 733 | 
            +
                #     templates. Because of this, users typically create a change set
         | 
| 734 | 
            +
                #     from the processed template, so that they can review the changes
         | 
| 735 | 
            +
                #     resulting from the macros before actually creating the stack. If
         | 
| 736 | 
            +
                #     your stack template contains one or more macros, and you choose to
         | 
| 737 | 
            +
                #     create a stack directly from the processed template, without first
         | 
| 738 | 
            +
                #     reviewing the resulting changes in a change set, you must
         | 
| 739 | 
            +
                #     acknowledge this capability. This includes the [AWS::Include][9]
         | 
| 740 | 
            +
                #     and [AWS::Serverless][10] transforms, which are macros hosted by
         | 
| 741 | 
            +
                #     AWS CloudFormation.
         | 
| 742 | 
            +
                #
         | 
| 743 | 
            +
                #     Change sets do not currently support nested stacks. If you want to
         | 
| 744 | 
            +
                #     create a stack from a stack template that contains macros *and*
         | 
| 745 | 
            +
                #     nested stacks, you must create the stack directly from the
         | 
| 746 | 
            +
                #     template using this capability.
         | 
| 747 | 
            +
                #
         | 
| 748 | 
            +
                #     You should only create stacks directly from a stack template that
         | 
| 749 | 
            +
                #     contains macros if you know what processing the macro performs.
         | 
| 750 | 
            +
                #
         | 
| 751 | 
            +
                #      Each macro relies on an underlying Lambda service function for
         | 
| 752 | 
            +
                #     processing stack templates. Be aware that the Lambda function
         | 
| 753 | 
            +
                #     owner can update the function operation without AWS CloudFormation
         | 
| 754 | 
            +
                #     being notified.
         | 
| 755 | 
            +
                #
         | 
| 756 | 
            +
                #     For more information, see [Using AWS CloudFormation Macros to
         | 
| 757 | 
            +
                #     Perform Custom Processing on Templates][11].
         | 
| 708 758 | 
             
                #
         | 
| 709 759 | 
             
                #
         | 
| 710 760 | 
             
                #
         | 
| @@ -715,7 +765,10 @@ module Aws::CloudFormation | |
| 715 765 | 
             
                #   [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
         | 
| 716 766 | 
             
                #   [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
         | 
| 717 767 | 
             
                #   [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
         | 
| 718 | 
            -
                #   [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 768 | 
            +
                #   [8]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 769 | 
            +
                #   [9]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html
         | 
| 770 | 
            +
                #   [10]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html
         | 
| 771 | 
            +
                #   [11]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html
         | 
| 719 772 | 
             
                #   @return [Array<String>]
         | 
| 720 773 | 
             
                #
         | 
| 721 774 | 
             
                # @!attribute [rw] resource_types
         | 
| @@ -1008,7 +1061,7 @@ module Aws::CloudFormation | |
| 1008 1061 | 
             
                #             resolved_value: "ParameterValue",
         | 
| 1009 1062 | 
             
                #           },
         | 
| 1010 1063 | 
             
                #         ],
         | 
| 1011 | 
            -
                #         capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 1064 | 
            +
                #         capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 1012 1065 | 
             
                #         tags: [
         | 
| 1013 1066 | 
             
                #           {
         | 
| 1014 1067 | 
             
                #             key: "TagKey", # required
         | 
| @@ -5209,7 +5262,7 @@ module Aws::CloudFormation | |
| 5209 5262 | 
             
                #             resolved_value: "ParameterValue",
         | 
| 5210 5263 | 
             
                #           },
         | 
| 5211 5264 | 
             
                #         ],
         | 
| 5212 | 
            -
                #         capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 5265 | 
            +
                #         capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 5213 5266 | 
             
                #         resource_types: ["ResourceType"],
         | 
| 5214 5267 | 
             
                #         role_arn: "RoleARN",
         | 
| 5215 5268 | 
             
                #         rollback_configuration: {
         | 
| @@ -5309,30 +5362,80 @@ module Aws::CloudFormation | |
| 5309 5362 | 
             
                #   @return [Array<Types::Parameter>]
         | 
| 5310 5363 | 
             
                #
         | 
| 5311 5364 | 
             
                # @!attribute [rw] capabilities
         | 
| 5312 | 
            -
                #    | 
| 5313 | 
            -
                #    | 
| 5314 | 
            -
                #    | 
| 5315 | 
            -
                #   creating new AWS Identity and Access Management (IAM) users. For
         | 
| 5316 | 
            -
                #   those stacks, you must explicitly acknowledge their capabilities by
         | 
| 5317 | 
            -
                #   specifying this parameter.
         | 
| 5365 | 
            +
                #   In some cases, you must explicity acknowledge that your stack
         | 
| 5366 | 
            +
                #   template contains certain capabilities in order for AWS
         | 
| 5367 | 
            +
                #   CloudFormation to update the stack.
         | 
| 5318 5368 | 
             
                #
         | 
| 5319 | 
            -
                #    | 
| 5320 | 
            -
                #   `CAPABILITY_NAMED_IAM`. The following resources require you to
         | 
| 5321 | 
            -
                #   specify this parameter: [ AWS::IAM::AccessKey][1], [
         | 
| 5322 | 
            -
                #   AWS::IAM::Group][2], [ AWS::IAM::InstanceProfile][3], [
         | 
| 5323 | 
            -
                #   AWS::IAM::Policy][4], [ AWS::IAM::Role][5], [ AWS::IAM::User][6],
         | 
| 5324 | 
            -
                #   and [ AWS::IAM::UserToGroupAddition][7]. If your stack template
         | 
| 5325 | 
            -
                #   contains these resources, we recommend that you review all
         | 
| 5326 | 
            -
                #   permissions associated with them and edit their permissions if
         | 
| 5327 | 
            -
                #   necessary.
         | 
| 5369 | 
            +
                #   * `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`
         | 
| 5328 5370 | 
             
                #
         | 
| 5329 | 
            -
                # | 
| 5330 | 
            -
                # | 
| 5331 | 
            -
                # | 
| 5332 | 
            -
                # | 
| 5371 | 
            +
                #     Some stack templates might include resources that can affect
         | 
| 5372 | 
            +
                #     permissions in your AWS account; for example, by creating new AWS
         | 
| 5373 | 
            +
                #     Identity and Access Management (IAM) users. For those stacks, you
         | 
| 5374 | 
            +
                #     must explicitly acknowledge this by specifying one of these
         | 
| 5375 | 
            +
                #     capabilities.
         | 
| 5333 5376 | 
             
                #
         | 
| 5334 | 
            -
                # | 
| 5335 | 
            -
                # | 
| 5377 | 
            +
                #     The following IAM resources require you to specify either the
         | 
| 5378 | 
            +
                #     `CAPABILITY_IAM` or `CAPABILITY_NAMED_IAM` capability.
         | 
| 5379 | 
            +
                #
         | 
| 5380 | 
            +
                #     * If you have IAM resources, you can specify either capability.
         | 
| 5381 | 
            +
                #
         | 
| 5382 | 
            +
                #     * If you have IAM resources with custom names, you *must* specify
         | 
| 5383 | 
            +
                #       `CAPABILITY_NAMED_IAM`.
         | 
| 5384 | 
            +
                #
         | 
| 5385 | 
            +
                #     * If you don't specify either of these capabilities, AWS
         | 
| 5386 | 
            +
                #       CloudFormation returns an `InsufficientCapabilities` error.
         | 
| 5387 | 
            +
                #
         | 
| 5388 | 
            +
                #     If your stack template contains these resources, we recommend that
         | 
| 5389 | 
            +
                #     you review all permissions associated with them and edit their
         | 
| 5390 | 
            +
                #     permissions if necessary.
         | 
| 5391 | 
            +
                #
         | 
| 5392 | 
            +
                #     * [ AWS::IAM::AccessKey][1]
         | 
| 5393 | 
            +
                #
         | 
| 5394 | 
            +
                #     * [ AWS::IAM::Group][2]
         | 
| 5395 | 
            +
                #
         | 
| 5396 | 
            +
                #     * [ AWS::IAM::InstanceProfile][3]
         | 
| 5397 | 
            +
                #
         | 
| 5398 | 
            +
                #     * [ AWS::IAM::Policy][4]
         | 
| 5399 | 
            +
                #
         | 
| 5400 | 
            +
                #     * [ AWS::IAM::Role][5]
         | 
| 5401 | 
            +
                #
         | 
| 5402 | 
            +
                #     * [ AWS::IAM::User][6]
         | 
| 5403 | 
            +
                #
         | 
| 5404 | 
            +
                #     * [ AWS::IAM::UserToGroupAddition][7]
         | 
| 5405 | 
            +
                #
         | 
| 5406 | 
            +
                #     For more information, see [Acknowledging IAM Resources in AWS
         | 
| 5407 | 
            +
                #     CloudFormation Templates][8].
         | 
| 5408 | 
            +
                #
         | 
| 5409 | 
            +
                #   * `CAPABILITY_AUTO_EXPAND`
         | 
| 5410 | 
            +
                #
         | 
| 5411 | 
            +
                #     Some template contain macros. Macros perform custom processing on
         | 
| 5412 | 
            +
                #     templates; this can include simple actions like find-and-replace
         | 
| 5413 | 
            +
                #     operations, all the way to extensive transformations of entire
         | 
| 5414 | 
            +
                #     templates. Because of this, users typically create a change set
         | 
| 5415 | 
            +
                #     from the processed template, so that they can review the changes
         | 
| 5416 | 
            +
                #     resulting from the macros before actually updating the stack. If
         | 
| 5417 | 
            +
                #     your stack template contains one or more macros, and you choose to
         | 
| 5418 | 
            +
                #     update a stack directly from the processed template, without first
         | 
| 5419 | 
            +
                #     reviewing the resulting changes in a change set, you must
         | 
| 5420 | 
            +
                #     acknowledge this capability. This includes the [AWS::Include][9]
         | 
| 5421 | 
            +
                #     and [AWS::Serverless][10] transforms, which are macros hosted by
         | 
| 5422 | 
            +
                #     AWS CloudFormation.
         | 
| 5423 | 
            +
                #
         | 
| 5424 | 
            +
                #     Change sets do not currently support nested stacks. If you want to
         | 
| 5425 | 
            +
                #     update a stack from a stack template that contains macros *and*
         | 
| 5426 | 
            +
                #     nested stacks, you must update the stack directly from the
         | 
| 5427 | 
            +
                #     template using this capability.
         | 
| 5428 | 
            +
                #
         | 
| 5429 | 
            +
                #     You should only update stacks directly from a stack template that
         | 
| 5430 | 
            +
                #     contains macros if you know what processing the macro performs.
         | 
| 5431 | 
            +
                #
         | 
| 5432 | 
            +
                #      Each macro relies on an underlying Lambda service function for
         | 
| 5433 | 
            +
                #     processing stack templates. Be aware that the Lambda function
         | 
| 5434 | 
            +
                #     owner can update the function operation without AWS CloudFormation
         | 
| 5435 | 
            +
                #     being notified.
         | 
| 5436 | 
            +
                #
         | 
| 5437 | 
            +
                #     For more information, see [Using AWS CloudFormation Macros to
         | 
| 5438 | 
            +
                #     Perform Custom Processing on Templates][11].
         | 
| 5336 5439 | 
             
                #
         | 
| 5337 5440 | 
             
                #
         | 
| 5338 5441 | 
             
                #
         | 
| @@ -5343,7 +5446,10 @@ module Aws::CloudFormation | |
| 5343 5446 | 
             
                #   [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
         | 
| 5344 5447 | 
             
                #   [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
         | 
| 5345 5448 | 
             
                #   [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
         | 
| 5346 | 
            -
                #   [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 5449 | 
            +
                #   [8]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
         | 
| 5450 | 
            +
                #   [9]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html
         | 
| 5451 | 
            +
                #   [10]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html
         | 
| 5452 | 
            +
                #   [11]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html
         | 
| 5347 5453 | 
             
                #   @return [Array<String>]
         | 
| 5348 5454 | 
             
                #
         | 
| 5349 5455 | 
             
                # @!attribute [rw] resource_types
         | 
| @@ -5633,7 +5739,7 @@ module Aws::CloudFormation | |
| 5633 5739 | 
             
                #             resolved_value: "ParameterValue",
         | 
| 5634 5740 | 
             
                #           },
         | 
| 5635 5741 | 
             
                #         ],
         | 
| 5636 | 
            -
                #         capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
         | 
| 5742 | 
            +
                #         capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND
         | 
| 5637 5743 | 
             
                #         tags: [
         | 
| 5638 5744 | 
             
                #           {
         | 
| 5639 5745 | 
             
                #             key: "TagKey", # required
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: aws-sdk-cloudformation
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.12.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Amazon Web Services
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2018-11- | 
| 11 | 
            +
            date: 2018-11-19 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: aws-sdk-core
         |