pub fn required_capabilities(mut self, input: crate::model::Capability) -> Self {
            let mut v = self.required_capabilities.unwrap_or_default();
            v.push(input);
            self.required_capabilities = Some(v);
            self
        }
/// Appends an item to `required_capabilities`.
///
/// To override the contents of this collection use [`set_required_capabilities`](Self::set_required_capabilities).
///
/// <p>A list of values that you must specify before you can deploy certain applications. Some applications might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those applications, you must explicitly acknowledge their capabilities by specifying this parameter.</p>
/// <p>The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.</p>
/// <p>The following resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html">AWS::IAM::Group</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html">AWS::IAM::InstanceProfile</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html">AWS::IAM::Policy</a>, and <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html">AWS::IAM::Role</a>. If the application contains IAM resources, you can specify either CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.</p>
/// <p>The following resources require you to specify CAPABILITY_RESOURCE_POLICY: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html">AWS::Lambda::Permission</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html">AWS::IAM:Policy</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html">AWS::ApplicationAutoScaling::ScalingPolicy</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html">AWS::S3::BucketPolicy</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html">AWS::SQS::QueuePolicy</a>, and <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html">AWS::SNS::TopicPolicy</a>.</p>
/// <p>Applications that contain one or more nested applications require you to specify CAPABILITY_AUTO_EXPAND.</p>
/// <p>If your application template contains any of the above resources, we recommend that you review all permissions associated with the application before deploying. If you don't specify this parameter for an application that requires capabilities, the call will fail.</p>
Appends an item to `required_capabilities`.
To override the contents of this collection use [`set_required_capabilities`](Self::set_required_capabilities).

A list of values that you must specify before you can deploy certain applications. Some applications might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users.
Appends an item to ` required_capabilities ` . To override the contents of this collection use [ ` set_required_capabilities ` ] ( Self :: set_required_capabilities ) . A list of values that you must specify before you can deploy certain applications . Some applications might include resources that can affect permissions in your AWS account for example by creating new AWS Identity and Access Management ( IAM ) users .
pub fn required_capabilities(mut self, input: crate::model::Capability) -> Self {
            let mut v = self.required_capabilities.unwrap_or_default();
            v.push(input);
            self.required_capabilities = Some(v);
            self
        }
pub fn required_capabilities ( mut self , input : crate :: model :: Capability ) -> Self { let mut v = self . required_capabilities . unwrap_or_default ( ) ; v . push ( input ) ; self . required_capabilities = Some ( v ) ; self }
Appends an item to `required_capabilities`.
Appends an item to ` required_capabilities ` .
mut self
input
crate::model::Capability
mut self
input
crate::model::Capability