All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.cloudformation.model.CreateStackRequest Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not
 * use this file except in compliance with the License. A copy of the License is
 * located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.cloudformation.model;

import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;

/**
 * 

* The input for CreateStack action. *

*/ public class CreateStackRequest extends AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The name that is associated with the stack. The name must be unique in * the region in which you are creating the stack. *

* *

* A stack name can contain only alphanumeric characters (case sensitive) * and hyphens. It must start with an alphabetic character and cannot be * longer than 128 characters. *

*
*/ private String stackName; /** *

* Structure containing the template body with a minimum length of 1 byte * and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide. *

*

* Conditional: You must specify either the TemplateBody or the * TemplateURL parameter, but not both. *

*/ private String templateBody; /** *

* Location of file containing the template body. The URL must point to a * template (max size: 460,800 bytes) that is located in an Amazon S3 * bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide. *

*

* Conditional: You must specify either the TemplateBody or the * TemplateURL parameter, but not both. *

*/ private String templateURL; /** *

* A list of Parameter structures that specify input parameters * for the stack. For more information, see the Parameter data type. *

*/ private com.amazonaws.internal.SdkInternalList parameters; /** *

* Set to true to disable rollback of the stack if stack * creation failed. You can specify either DisableRollback or * OnFailure, but not both. *

*

* Default: false *

*/ private Boolean disableRollback; /** *

* The amount of time that can pass before the stack status becomes * CREATE_FAILED; if DisableRollback is not set or is set to * false, the stack will be rolled back. *

*/ private Integer timeoutInMinutes; /** *

* The Simple Notification Service (SNS) topic ARNs to publish stack related * events. You can find your SNS topic ARNs using the SNS console or your Command * Line Interface (CLI). *

*/ private com.amazonaws.internal.SdkInternalList notificationARNs; /** *

* A list of values that you must specify before AWS CloudFormation can * create certain stacks. Some stack templates 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 stacks, you * must explicitly acknowledge their capabilities by specifying this * parameter. *

*

* The only valid values are CAPABILITY_IAM and * CAPABILITY_NAMED_IAM. The following resources require you to * specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains * these resources, we recommend that you review all permissions associated * with them and edit their permissions if necessary. *

*

* If you have IAM resources, you can specify either capability. If you have * IAM resources with custom names, you must specify * CAPABILITY_NAMED_IAM. If you don't specify this parameter, * this action returns an InsufficientCapabilities error. *

*

* For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. *

*/ private com.amazonaws.internal.SdkInternalList capabilities; /** *

* The template resource types that you have permissions to work with for * this create stack action, such as AWS::EC2::Instance, * AWS::EC2::*, or Custom::MyCustomInstance. Use * the following syntax to describe template resource types: * AWS::* (for all AWS resource), Custom::* (for * all custom resources), Custom::logical_ID (for a * specific custom resource), AWS::service_name::* (for * all resources of a particular AWS service), and * AWS::service_name::resource_logical_ID (for a * specific AWS resource). *

*

* If the list of resource types doesn't include a resource that you're * creating, the stack creation fails. By default, AWS CloudFormation grants * permissions to all resource types. AWS Identity and Access Management * (IAM) uses this parameter for AWS CloudFormation-specific condition keys * in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management. *

*/ private com.amazonaws.internal.SdkInternalList resourceTypes; /** *

* Determines what action will be taken if stack creation fails. This must * be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either * OnFailure or DisableRollback, but not both. *

*

* Default: ROLLBACK *

*/ private String onFailure; /** *

* Structure containing the stack policy body. For more information, go to * Prevent Updates to Stack Resources in the AWS CloudFormation User * Guide. You can specify either the StackPolicyBody or the * StackPolicyURL parameter, but not both. *

*/ private String stackPolicyBody; /** *

* Location of a file containing the stack policy. The URL must point to a * policy (max size: 16KB) located in an S3 bucket in the same region as the * stack. You can specify either the StackPolicyBody or the * StackPolicyURL parameter, but not both. *

*/ private String stackPolicyURL; /** *

* Key-value pairs to associate with this stack. AWS CloudFormation also * propagates these tags to the resources created in the stack. A maximum * number of 10 tags can be specified. *

*/ private com.amazonaws.internal.SdkInternalList tags; /** *

* The name that is associated with the stack. The name must be unique in * the region in which you are creating the stack. *

* *

* A stack name can contain only alphanumeric characters (case sensitive) * and hyphens. It must start with an alphabetic character and cannot be * longer than 128 characters. *

*
* * @param stackName * The name that is associated with the stack. The name must be * unique in the region in which you are creating the stack.

* *

* A stack name can contain only alphanumeric characters (case * sensitive) and hyphens. It must start with an alphabetic character * and cannot be longer than 128 characters. *

*/ public void setStackName(String stackName) { this.stackName = stackName; } /** *

* The name that is associated with the stack. The name must be unique in * the region in which you are creating the stack. *

* *

* A stack name can contain only alphanumeric characters (case sensitive) * and hyphens. It must start with an alphabetic character and cannot be * longer than 128 characters. *

*
* * @return The name that is associated with the stack. The name must be * unique in the region in which you are creating the stack.

* *

* A stack name can contain only alphanumeric characters (case * sensitive) and hyphens. It must start with an alphabetic * character and cannot be longer than 128 characters. *

*/ public String getStackName() { return this.stackName; } /** *

* The name that is associated with the stack. The name must be unique in * the region in which you are creating the stack. *

* *

* A stack name can contain only alphanumeric characters (case sensitive) * and hyphens. It must start with an alphabetic character and cannot be * longer than 128 characters. *

*
* * @param stackName * The name that is associated with the stack. The name must be * unique in the region in which you are creating the stack.

* *

* A stack name can contain only alphanumeric characters (case * sensitive) and hyphens. It must start with an alphabetic character * and cannot be longer than 128 characters. *

* @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withStackName(String stackName) { setStackName(stackName); return this; } /** *

* Structure containing the template body with a minimum length of 1 byte * and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide. *

*

* Conditional: You must specify either the TemplateBody or the * TemplateURL parameter, but not both. *

* * @param templateBody * Structure containing the template body with a minimum length of 1 * byte and a maximum length of 51,200 bytes. For more information, * go to Template Anatomy in the AWS CloudFormation User Guide.

*

* Conditional: You must specify either the TemplateBody * or the TemplateURL parameter, but not both. */ public void setTemplateBody(String templateBody) { this.templateBody = templateBody; } /** *

* Structure containing the template body with a minimum length of 1 byte * and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide. *

*

* Conditional: You must specify either the TemplateBody or the * TemplateURL parameter, but not both. *

* * @return Structure containing the template body with a minimum length of 1 * byte and a maximum length of 51,200 bytes. For more information, * go to Template Anatomy in the AWS CloudFormation User Guide.

*

* Conditional: You must specify either the * TemplateBody or the TemplateURL * parameter, but not both. */ public String getTemplateBody() { return this.templateBody; } /** *

* Structure containing the template body with a minimum length of 1 byte * and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide. *

*

* Conditional: You must specify either the TemplateBody or the * TemplateURL parameter, but not both. *

* * @param templateBody * Structure containing the template body with a minimum length of 1 * byte and a maximum length of 51,200 bytes. For more information, * go to Template Anatomy in the AWS CloudFormation User Guide.

*

* Conditional: You must specify either the TemplateBody * or the TemplateURL parameter, but not both. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withTemplateBody(String templateBody) { setTemplateBody(templateBody); return this; } /** *

* Location of file containing the template body. The URL must point to a * template (max size: 460,800 bytes) that is located in an Amazon S3 * bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide. *

*

* Conditional: You must specify either the TemplateBody or the * TemplateURL parameter, but not both. *

* * @param templateURL * Location of file containing the template body. The URL must point * to a template (max size: 460,800 bytes) that is located in an * Amazon S3 bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide.

*

* Conditional: You must specify either the TemplateBody * or the TemplateURL parameter, but not both. */ public void setTemplateURL(String templateURL) { this.templateURL = templateURL; } /** *

* Location of file containing the template body. The URL must point to a * template (max size: 460,800 bytes) that is located in an Amazon S3 * bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide. *

*

* Conditional: You must specify either the TemplateBody or the * TemplateURL parameter, but not both. *

* * @return Location of file containing the template body. The URL must point * to a template (max size: 460,800 bytes) that is located in an * Amazon S3 bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide.

*

* Conditional: You must specify either the * TemplateBody or the TemplateURL * parameter, but not both. */ public String getTemplateURL() { return this.templateURL; } /** *

* Location of file containing the template body. The URL must point to a * template (max size: 460,800 bytes) that is located in an Amazon S3 * bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide. *

*

* Conditional: You must specify either the TemplateBody or the * TemplateURL parameter, but not both. *

* * @param templateURL * Location of file containing the template body. The URL must point * to a template (max size: 460,800 bytes) that is located in an * Amazon S3 bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide.

*

* Conditional: You must specify either the TemplateBody * or the TemplateURL parameter, but not both. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withTemplateURL(String templateURL) { setTemplateURL(templateURL); return this; } /** *

* A list of Parameter structures that specify input parameters * for the stack. For more information, see the Parameter data type. *

* * @return A list of Parameter structures that specify input * parameters for the stack. For more information, see the Parameter data type. */ public java.util.List getParameters() { if (parameters == null) { parameters = new com.amazonaws.internal.SdkInternalList(); } return parameters; } /** *

* A list of Parameter structures that specify input parameters * for the stack. For more information, see the Parameter data type. *

* * @param parameters * A list of Parameter structures that specify input * parameters for the stack. For more information, see the Parameter data type. */ public void setParameters(java.util.Collection parameters) { if (parameters == null) { this.parameters = null; return; } this.parameters = new com.amazonaws.internal.SdkInternalList( parameters); } /** *

* A list of Parameter structures that specify input parameters * for the stack. For more information, see the Parameter data type. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setParameters(java.util.Collection)} or * {@link #withParameters(java.util.Collection)} if you want to override the * existing values. *

* * @param parameters * A list of Parameter structures that specify input * parameters for the stack. For more information, see the Parameter data type. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withParameters(Parameter... parameters) { if (this.parameters == null) { setParameters(new com.amazonaws.internal.SdkInternalList( parameters.length)); } for (Parameter ele : parameters) { this.parameters.add(ele); } return this; } /** *

* A list of Parameter structures that specify input parameters * for the stack. For more information, see the Parameter data type. *

* * @param parameters * A list of Parameter structures that specify input * parameters for the stack. For more information, see the Parameter data type. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withParameters( java.util.Collection parameters) { setParameters(parameters); return this; } /** *

* Set to true to disable rollback of the stack if stack * creation failed. You can specify either DisableRollback or * OnFailure, but not both. *

*

* Default: false *

* * @param disableRollback * Set to true to disable rollback of the stack if stack * creation failed. You can specify either * DisableRollback or OnFailure, but not * both.

*

* Default: false */ public void setDisableRollback(Boolean disableRollback) { this.disableRollback = disableRollback; } /** *

* Set to true to disable rollback of the stack if stack * creation failed. You can specify either DisableRollback or * OnFailure, but not both. *

*

* Default: false *

* * @return Set to true to disable rollback of the stack if * stack creation failed. You can specify either * DisableRollback or OnFailure, but not * both.

*

* Default: false */ public Boolean getDisableRollback() { return this.disableRollback; } /** *

* Set to true to disable rollback of the stack if stack * creation failed. You can specify either DisableRollback or * OnFailure, but not both. *

*

* Default: false *

* * @param disableRollback * Set to true to disable rollback of the stack if stack * creation failed. You can specify either * DisableRollback or OnFailure, but not * both.

*

* Default: false * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withDisableRollback(Boolean disableRollback) { setDisableRollback(disableRollback); return this; } /** *

* Set to true to disable rollback of the stack if stack * creation failed. You can specify either DisableRollback or * OnFailure, but not both. *

*

* Default: false *

* * @return Set to true to disable rollback of the stack if * stack creation failed. You can specify either * DisableRollback or OnFailure, but not * both.

*

* Default: false */ public Boolean isDisableRollback() { return this.disableRollback; } /** *

* The amount of time that can pass before the stack status becomes * CREATE_FAILED; if DisableRollback is not set or is set to * false, the stack will be rolled back. *

* * @param timeoutInMinutes * The amount of time that can pass before the stack status becomes * CREATE_FAILED; if DisableRollback is not set or is * set to false, the stack will be rolled back. */ public void setTimeoutInMinutes(Integer timeoutInMinutes) { this.timeoutInMinutes = timeoutInMinutes; } /** *

* The amount of time that can pass before the stack status becomes * CREATE_FAILED; if DisableRollback is not set or is set to * false, the stack will be rolled back. *

* * @return The amount of time that can pass before the stack status becomes * CREATE_FAILED; if DisableRollback is not set or is * set to false, the stack will be rolled back. */ public Integer getTimeoutInMinutes() { return this.timeoutInMinutes; } /** *

* The amount of time that can pass before the stack status becomes * CREATE_FAILED; if DisableRollback is not set or is set to * false, the stack will be rolled back. *

* * @param timeoutInMinutes * The amount of time that can pass before the stack status becomes * CREATE_FAILED; if DisableRollback is not set or is * set to false, the stack will be rolled back. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withTimeoutInMinutes(Integer timeoutInMinutes) { setTimeoutInMinutes(timeoutInMinutes); return this; } /** *

* The Simple Notification Service (SNS) topic ARNs to publish stack related * events. You can find your SNS topic ARNs using the SNS console or your Command * Line Interface (CLI). *

* * @return The Simple Notification Service (SNS) topic ARNs to publish stack * related events. You can find your SNS topic ARNs using the SNS console or your * Command Line Interface (CLI). */ public java.util.List getNotificationARNs() { if (notificationARNs == null) { notificationARNs = new com.amazonaws.internal.SdkInternalList(); } return notificationARNs; } /** *

* The Simple Notification Service (SNS) topic ARNs to publish stack related * events. You can find your SNS topic ARNs using the SNS console or your Command * Line Interface (CLI). *

* * @param notificationARNs * The Simple Notification Service (SNS) topic ARNs to publish stack * related events. You can find your SNS topic ARNs using the SNS console or your * Command Line Interface (CLI). */ public void setNotificationARNs( java.util.Collection notificationARNs) { if (notificationARNs == null) { this.notificationARNs = null; return; } this.notificationARNs = new com.amazonaws.internal.SdkInternalList( notificationARNs); } /** *

* The Simple Notification Service (SNS) topic ARNs to publish stack related * events. You can find your SNS topic ARNs using the SNS console or your Command * Line Interface (CLI). *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setNotificationARNs(java.util.Collection)} or * {@link #withNotificationARNs(java.util.Collection)} if you want to * override the existing values. *

* * @param notificationARNs * The Simple Notification Service (SNS) topic ARNs to publish stack * related events. You can find your SNS topic ARNs using the SNS console or your * Command Line Interface (CLI). * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withNotificationARNs(String... notificationARNs) { if (this.notificationARNs == null) { setNotificationARNs(new com.amazonaws.internal.SdkInternalList( notificationARNs.length)); } for (String ele : notificationARNs) { this.notificationARNs.add(ele); } return this; } /** *

* The Simple Notification Service (SNS) topic ARNs to publish stack related * events. You can find your SNS topic ARNs using the SNS console or your Command * Line Interface (CLI). *

* * @param notificationARNs * The Simple Notification Service (SNS) topic ARNs to publish stack * related events. You can find your SNS topic ARNs using the SNS console or your * Command Line Interface (CLI). * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withNotificationARNs( java.util.Collection notificationARNs) { setNotificationARNs(notificationARNs); return this; } /** *

* A list of values that you must specify before AWS CloudFormation can * create certain stacks. Some stack templates 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 stacks, you * must explicitly acknowledge their capabilities by specifying this * parameter. *

*

* The only valid values are CAPABILITY_IAM and * CAPABILITY_NAMED_IAM. The following resources require you to * specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains * these resources, we recommend that you review all permissions associated * with them and edit their permissions if necessary. *

*

* If you have IAM resources, you can specify either capability. If you have * IAM resources with custom names, you must specify * CAPABILITY_NAMED_IAM. If you don't specify this parameter, * this action returns an InsufficientCapabilities error. *

*

* For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. *

* * @return A list of values that you must specify before AWS CloudFormation * can create certain stacks. Some stack templates 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 stacks, you must explicitly acknowledge their * capabilities by specifying this parameter.

*

* The only valid values are CAPABILITY_IAM and * CAPABILITY_NAMED_IAM. The following resources * require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template * contains these resources, we recommend that you review all * permissions associated with them and edit their permissions if * necessary. *

*

* If you have IAM resources, you can specify either capability. If * you have IAM resources with custom names, you must specify * CAPABILITY_NAMED_IAM. If you don't specify this * parameter, this action returns an * InsufficientCapabilities error. *

*

* For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. * @see Capability */ public java.util.List getCapabilities() { if (capabilities == null) { capabilities = new com.amazonaws.internal.SdkInternalList(); } return capabilities; } /** *

* A list of values that you must specify before AWS CloudFormation can * create certain stacks. Some stack templates 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 stacks, you * must explicitly acknowledge their capabilities by specifying this * parameter. *

*

* The only valid values are CAPABILITY_IAM and * CAPABILITY_NAMED_IAM. The following resources require you to * specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains * these resources, we recommend that you review all permissions associated * with them and edit their permissions if necessary. *

*

* If you have IAM resources, you can specify either capability. If you have * IAM resources with custom names, you must specify * CAPABILITY_NAMED_IAM. If you don't specify this parameter, * this action returns an InsufficientCapabilities error. *

*

* For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. *

* * @param capabilities * A list of values that you must specify before AWS CloudFormation * can create certain stacks. Some stack templates 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 stacks, you must explicitly acknowledge their * capabilities by specifying this parameter.

*

* The only valid values are CAPABILITY_IAM and * CAPABILITY_NAMED_IAM. The following resources require * you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template * contains these resources, we recommend that you review all * permissions associated with them and edit their permissions if * necessary. *

*

* If you have IAM resources, you can specify either capability. If * you have IAM resources with custom names, you must specify * CAPABILITY_NAMED_IAM. If you don't specify this * parameter, this action returns an * InsufficientCapabilities error. *

*

* For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. * @see Capability */ public void setCapabilities(java.util.Collection capabilities) { if (capabilities == null) { this.capabilities = null; return; } this.capabilities = new com.amazonaws.internal.SdkInternalList( capabilities); } /** *

* A list of values that you must specify before AWS CloudFormation can * create certain stacks. Some stack templates 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 stacks, you * must explicitly acknowledge their capabilities by specifying this * parameter. *

*

* The only valid values are CAPABILITY_IAM and * CAPABILITY_NAMED_IAM. The following resources require you to * specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains * these resources, we recommend that you review all permissions associated * with them and edit their permissions if necessary. *

*

* If you have IAM resources, you can specify either capability. If you have * IAM resources with custom names, you must specify * CAPABILITY_NAMED_IAM. If you don't specify this parameter, * this action returns an InsufficientCapabilities error. *

*

* For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setCapabilities(java.util.Collection)} or * {@link #withCapabilities(java.util.Collection)} if you want to override * the existing values. *

* * @param capabilities * A list of values that you must specify before AWS CloudFormation * can create certain stacks. Some stack templates 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 stacks, you must explicitly acknowledge their * capabilities by specifying this parameter.

*

* The only valid values are CAPABILITY_IAM and * CAPABILITY_NAMED_IAM. The following resources require * you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template * contains these resources, we recommend that you review all * permissions associated with them and edit their permissions if * necessary. *

*

* If you have IAM resources, you can specify either capability. If * you have IAM resources with custom names, you must specify * CAPABILITY_NAMED_IAM. If you don't specify this * parameter, this action returns an * InsufficientCapabilities error. *

*

* For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. * @return Returns a reference to this object so that method calls can be * chained together. * @see Capability */ public CreateStackRequest withCapabilities(String... capabilities) { if (this.capabilities == null) { setCapabilities(new com.amazonaws.internal.SdkInternalList( capabilities.length)); } for (String ele : capabilities) { this.capabilities.add(ele); } return this; } /** *

* A list of values that you must specify before AWS CloudFormation can * create certain stacks. Some stack templates 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 stacks, you * must explicitly acknowledge their capabilities by specifying this * parameter. *

*

* The only valid values are CAPABILITY_IAM and * CAPABILITY_NAMED_IAM. The following resources require you to * specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains * these resources, we recommend that you review all permissions associated * with them and edit their permissions if necessary. *

*

* If you have IAM resources, you can specify either capability. If you have * IAM resources with custom names, you must specify * CAPABILITY_NAMED_IAM. If you don't specify this parameter, * this action returns an InsufficientCapabilities error. *

*

* For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. *

* * @param capabilities * A list of values that you must specify before AWS CloudFormation * can create certain stacks. Some stack templates 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 stacks, you must explicitly acknowledge their * capabilities by specifying this parameter.

*

* The only valid values are CAPABILITY_IAM and * CAPABILITY_NAMED_IAM. The following resources require * you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template * contains these resources, we recommend that you review all * permissions associated with them and edit their permissions if * necessary. *

*

* If you have IAM resources, you can specify either capability. If * you have IAM resources with custom names, you must specify * CAPABILITY_NAMED_IAM. If you don't specify this * parameter, this action returns an * InsufficientCapabilities error. *

*

* For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. * @return Returns a reference to this object so that method calls can be * chained together. * @see Capability */ public CreateStackRequest withCapabilities( java.util.Collection capabilities) { setCapabilities(capabilities); return this; } /** *

* A list of values that you must specify before AWS CloudFormation can * create certain stacks. Some stack templates 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 stacks, you * must explicitly acknowledge their capabilities by specifying this * parameter. *

*

* The only valid values are CAPABILITY_IAM and * CAPABILITY_NAMED_IAM. The following resources require you to * specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains * these resources, we recommend that you review all permissions associated * with them and edit their permissions if necessary. *

*

* If you have IAM resources, you can specify either capability. If you have * IAM resources with custom names, you must specify * CAPABILITY_NAMED_IAM. If you don't specify this parameter, * this action returns an InsufficientCapabilities error. *

*

* For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. *

* * @param capabilities * A list of values that you must specify before AWS CloudFormation * can create certain stacks. Some stack templates 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 stacks, you must explicitly acknowledge their * capabilities by specifying this parameter.

*

* The only valid values are CAPABILITY_IAM and * CAPABILITY_NAMED_IAM. The following resources require * you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template * contains these resources, we recommend that you review all * permissions associated with them and edit their permissions if * necessary. *

*

* If you have IAM resources, you can specify either capability. If * you have IAM resources with custom names, you must specify * CAPABILITY_NAMED_IAM. If you don't specify this * parameter, this action returns an * InsufficientCapabilities error. *

*

* For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates. * @return Returns a reference to this object so that method calls can be * chained together. * @see Capability */ public CreateStackRequest withCapabilities(Capability... capabilities) { com.amazonaws.internal.SdkInternalList capabilitiesCopy = new com.amazonaws.internal.SdkInternalList( capabilities.length); for (Capability value : capabilities) { capabilitiesCopy.add(value.toString()); } if (getCapabilities() == null) { setCapabilities(capabilitiesCopy); } else { getCapabilities().addAll(capabilitiesCopy); } return this; } /** *

* The template resource types that you have permissions to work with for * this create stack action, such as AWS::EC2::Instance, * AWS::EC2::*, or Custom::MyCustomInstance. Use * the following syntax to describe template resource types: * AWS::* (for all AWS resource), Custom::* (for * all custom resources), Custom::logical_ID (for a * specific custom resource), AWS::service_name::* (for * all resources of a particular AWS service), and * AWS::service_name::resource_logical_ID (for a * specific AWS resource). *

*

* If the list of resource types doesn't include a resource that you're * creating, the stack creation fails. By default, AWS CloudFormation grants * permissions to all resource types. AWS Identity and Access Management * (IAM) uses this parameter for AWS CloudFormation-specific condition keys * in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management. *

* * @return The template resource types that you have permissions to work * with for this create stack action, such as * AWS::EC2::Instance, AWS::EC2::*, or * Custom::MyCustomInstance. Use the following syntax * to describe template resource types: AWS::* (for all * AWS resource), Custom::* (for all custom resources), * Custom::logical_ID (for a specific custom * resource), AWS::service_name::* (for all * resources of a particular AWS service), and * AWS::service_name::resource_logical_ID * (for a specific AWS resource).

*

* If the list of resource types doesn't include a resource that * you're creating, the stack creation fails. By default, AWS * CloudFormation grants permissions to all resource types. AWS * Identity and Access Management (IAM) uses this parameter for AWS * CloudFormation-specific condition keys in IAM policies. For more * information, see Controlling Access with AWS Identity and Access Management. */ public java.util.List getResourceTypes() { if (resourceTypes == null) { resourceTypes = new com.amazonaws.internal.SdkInternalList(); } return resourceTypes; } /** *

* The template resource types that you have permissions to work with for * this create stack action, such as AWS::EC2::Instance, * AWS::EC2::*, or Custom::MyCustomInstance. Use * the following syntax to describe template resource types: * AWS::* (for all AWS resource), Custom::* (for * all custom resources), Custom::logical_ID (for a * specific custom resource), AWS::service_name::* (for * all resources of a particular AWS service), and * AWS::service_name::resource_logical_ID (for a * specific AWS resource). *

*

* If the list of resource types doesn't include a resource that you're * creating, the stack creation fails. By default, AWS CloudFormation grants * permissions to all resource types. AWS Identity and Access Management * (IAM) uses this parameter for AWS CloudFormation-specific condition keys * in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management. *

* * @param resourceTypes * The template resource types that you have permissions to work with * for this create stack action, such as * AWS::EC2::Instance, AWS::EC2::*, or * Custom::MyCustomInstance. Use the following syntax to * describe template resource types: AWS::* (for all AWS * resource), Custom::* (for all custom resources), * Custom::logical_ID (for a specific custom * resource), AWS::service_name::* (for all * resources of a particular AWS service), and * AWS::service_name::resource_logical_ID * (for a specific AWS resource).

*

* If the list of resource types doesn't include a resource that * you're creating, the stack creation fails. By default, AWS * CloudFormation grants permissions to all resource types. AWS * Identity and Access Management (IAM) uses this parameter for AWS * CloudFormation-specific condition keys in IAM policies. For more * information, see Controlling Access with AWS Identity and Access Management. */ public void setResourceTypes(java.util.Collection resourceTypes) { if (resourceTypes == null) { this.resourceTypes = null; return; } this.resourceTypes = new com.amazonaws.internal.SdkInternalList( resourceTypes); } /** *

* The template resource types that you have permissions to work with for * this create stack action, such as AWS::EC2::Instance, * AWS::EC2::*, or Custom::MyCustomInstance. Use * the following syntax to describe template resource types: * AWS::* (for all AWS resource), Custom::* (for * all custom resources), Custom::logical_ID (for a * specific custom resource), AWS::service_name::* (for * all resources of a particular AWS service), and * AWS::service_name::resource_logical_ID (for a * specific AWS resource). *

*

* If the list of resource types doesn't include a resource that you're * creating, the stack creation fails. By default, AWS CloudFormation grants * permissions to all resource types. AWS Identity and Access Management * (IAM) uses this parameter for AWS CloudFormation-specific condition keys * in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setResourceTypes(java.util.Collection)} or * {@link #withResourceTypes(java.util.Collection)} if you want to override * the existing values. *

* * @param resourceTypes * The template resource types that you have permissions to work with * for this create stack action, such as * AWS::EC2::Instance, AWS::EC2::*, or * Custom::MyCustomInstance. Use the following syntax to * describe template resource types: AWS::* (for all AWS * resource), Custom::* (for all custom resources), * Custom::logical_ID (for a specific custom * resource), AWS::service_name::* (for all * resources of a particular AWS service), and * AWS::service_name::resource_logical_ID * (for a specific AWS resource).

*

* If the list of resource types doesn't include a resource that * you're creating, the stack creation fails. By default, AWS * CloudFormation grants permissions to all resource types. AWS * Identity and Access Management (IAM) uses this parameter for AWS * CloudFormation-specific condition keys in IAM policies. For more * information, see Controlling Access with AWS Identity and Access Management. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withResourceTypes(String... resourceTypes) { if (this.resourceTypes == null) { setResourceTypes(new com.amazonaws.internal.SdkInternalList( resourceTypes.length)); } for (String ele : resourceTypes) { this.resourceTypes.add(ele); } return this; } /** *

* The template resource types that you have permissions to work with for * this create stack action, such as AWS::EC2::Instance, * AWS::EC2::*, or Custom::MyCustomInstance. Use * the following syntax to describe template resource types: * AWS::* (for all AWS resource), Custom::* (for * all custom resources), Custom::logical_ID (for a * specific custom resource), AWS::service_name::* (for * all resources of a particular AWS service), and * AWS::service_name::resource_logical_ID (for a * specific AWS resource). *

*

* If the list of resource types doesn't include a resource that you're * creating, the stack creation fails. By default, AWS CloudFormation grants * permissions to all resource types. AWS Identity and Access Management * (IAM) uses this parameter for AWS CloudFormation-specific condition keys * in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management. *

* * @param resourceTypes * The template resource types that you have permissions to work with * for this create stack action, such as * AWS::EC2::Instance, AWS::EC2::*, or * Custom::MyCustomInstance. Use the following syntax to * describe template resource types: AWS::* (for all AWS * resource), Custom::* (for all custom resources), * Custom::logical_ID (for a specific custom * resource), AWS::service_name::* (for all * resources of a particular AWS service), and * AWS::service_name::resource_logical_ID * (for a specific AWS resource).

*

* If the list of resource types doesn't include a resource that * you're creating, the stack creation fails. By default, AWS * CloudFormation grants permissions to all resource types. AWS * Identity and Access Management (IAM) uses this parameter for AWS * CloudFormation-specific condition keys in IAM policies. For more * information, see Controlling Access with AWS Identity and Access Management. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withResourceTypes( java.util.Collection resourceTypes) { setResourceTypes(resourceTypes); return this; } /** *

* Determines what action will be taken if stack creation fails. This must * be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either * OnFailure or DisableRollback, but not both. *

*

* Default: ROLLBACK *

* * @param onFailure * Determines what action will be taken if stack creation fails. This * must be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify * either OnFailure or DisableRollback, but * not both.

*

* Default: ROLLBACK * @see OnFailure */ public void setOnFailure(String onFailure) { this.onFailure = onFailure; } /** *

* Determines what action will be taken if stack creation fails. This must * be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either * OnFailure or DisableRollback, but not both. *

*

* Default: ROLLBACK *

* * @return Determines what action will be taken if stack creation fails. * This must be one of: DO_NOTHING, ROLLBACK, or DELETE. You can * specify either OnFailure or * DisableRollback, but not both.

*

* Default: ROLLBACK * @see OnFailure */ public String getOnFailure() { return this.onFailure; } /** *

* Determines what action will be taken if stack creation fails. This must * be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either * OnFailure or DisableRollback, but not both. *

*

* Default: ROLLBACK *

* * @param onFailure * Determines what action will be taken if stack creation fails. This * must be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify * either OnFailure or DisableRollback, but * not both.

*

* Default: ROLLBACK * @return Returns a reference to this object so that method calls can be * chained together. * @see OnFailure */ public CreateStackRequest withOnFailure(String onFailure) { setOnFailure(onFailure); return this; } /** *

* Determines what action will be taken if stack creation fails. This must * be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either * OnFailure or DisableRollback, but not both. *

*

* Default: ROLLBACK *

* * @param onFailure * Determines what action will be taken if stack creation fails. This * must be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify * either OnFailure or DisableRollback, but * not both.

*

* Default: ROLLBACK * @see OnFailure */ public void setOnFailure(OnFailure onFailure) { this.onFailure = onFailure.toString(); } /** *

* Determines what action will be taken if stack creation fails. This must * be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either * OnFailure or DisableRollback, but not both. *

*

* Default: ROLLBACK *

* * @param onFailure * Determines what action will be taken if stack creation fails. This * must be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify * either OnFailure or DisableRollback, but * not both.

*

* Default: ROLLBACK * @return Returns a reference to this object so that method calls can be * chained together. * @see OnFailure */ public CreateStackRequest withOnFailure(OnFailure onFailure) { setOnFailure(onFailure); return this; } /** *

* Structure containing the stack policy body. For more information, go to * Prevent Updates to Stack Resources in the AWS CloudFormation User * Guide. You can specify either the StackPolicyBody or the * StackPolicyURL parameter, but not both. *

* * @param stackPolicyBody * Structure containing the stack policy body. For more information, * go to Prevent Updates to Stack Resources in the AWS CloudFormation * User Guide. You can specify either the * StackPolicyBody or the StackPolicyURL * parameter, but not both. */ public void setStackPolicyBody(String stackPolicyBody) { this.stackPolicyBody = stackPolicyBody; } /** *

* Structure containing the stack policy body. For more information, go to * Prevent Updates to Stack Resources in the AWS CloudFormation User * Guide. You can specify either the StackPolicyBody or the * StackPolicyURL parameter, but not both. *

* * @return Structure containing the stack policy body. For more information, * go to Prevent Updates to Stack Resources in the AWS * CloudFormation User Guide. You can specify either the * StackPolicyBody or the StackPolicyURL * parameter, but not both. */ public String getStackPolicyBody() { return this.stackPolicyBody; } /** *

* Structure containing the stack policy body. For more information, go to * Prevent Updates to Stack Resources in the AWS CloudFormation User * Guide. You can specify either the StackPolicyBody or the * StackPolicyURL parameter, but not both. *

* * @param stackPolicyBody * Structure containing the stack policy body. For more information, * go to Prevent Updates to Stack Resources in the AWS CloudFormation * User Guide. You can specify either the * StackPolicyBody or the StackPolicyURL * parameter, but not both. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withStackPolicyBody(String stackPolicyBody) { setStackPolicyBody(stackPolicyBody); return this; } /** *

* Location of a file containing the stack policy. The URL must point to a * policy (max size: 16KB) located in an S3 bucket in the same region as the * stack. You can specify either the StackPolicyBody or the * StackPolicyURL parameter, but not both. *

* * @param stackPolicyURL * Location of a file containing the stack policy. The URL must point * to a policy (max size: 16KB) located in an S3 bucket in the same * region as the stack. You can specify either the * StackPolicyBody or the StackPolicyURL * parameter, but not both. */ public void setStackPolicyURL(String stackPolicyURL) { this.stackPolicyURL = stackPolicyURL; } /** *

* Location of a file containing the stack policy. The URL must point to a * policy (max size: 16KB) located in an S3 bucket in the same region as the * stack. You can specify either the StackPolicyBody or the * StackPolicyURL parameter, but not both. *

* * @return Location of a file containing the stack policy. The URL must * point to a policy (max size: 16KB) located in an S3 bucket in the * same region as the stack. You can specify either the * StackPolicyBody or the StackPolicyURL * parameter, but not both. */ public String getStackPolicyURL() { return this.stackPolicyURL; } /** *

* Location of a file containing the stack policy. The URL must point to a * policy (max size: 16KB) located in an S3 bucket in the same region as the * stack. You can specify either the StackPolicyBody or the * StackPolicyURL parameter, but not both. *

* * @param stackPolicyURL * Location of a file containing the stack policy. The URL must point * to a policy (max size: 16KB) located in an S3 bucket in the same * region as the stack. You can specify either the * StackPolicyBody or the StackPolicyURL * parameter, but not both. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withStackPolicyURL(String stackPolicyURL) { setStackPolicyURL(stackPolicyURL); return this; } /** *

* Key-value pairs to associate with this stack. AWS CloudFormation also * propagates these tags to the resources created in the stack. A maximum * number of 10 tags can be specified. *

* * @return Key-value pairs to associate with this stack. AWS CloudFormation * also propagates these tags to the resources created in the stack. * A maximum number of 10 tags can be specified. */ public java.util.List getTags() { if (tags == null) { tags = new com.amazonaws.internal.SdkInternalList(); } return tags; } /** *

* Key-value pairs to associate with this stack. AWS CloudFormation also * propagates these tags to the resources created in the stack. A maximum * number of 10 tags can be specified. *

* * @param tags * Key-value pairs to associate with this stack. AWS CloudFormation * also propagates these tags to the resources created in the stack. * A maximum number of 10 tags can be specified. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new com.amazonaws.internal.SdkInternalList(tags); } /** *

* Key-value pairs to associate with this stack. AWS CloudFormation also * propagates these tags to the resources created in the stack. A maximum * number of 10 tags can be specified. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setTags(java.util.Collection)} or * {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

* * @param tags * Key-value pairs to associate with this stack. AWS CloudFormation * also propagates these tags to the resources created in the stack. * A maximum number of 10 tags can be specified. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

* Key-value pairs to associate with this stack. AWS CloudFormation also * propagates these tags to the resources created in the stack. A maximum * number of 10 tags can be specified. *

* * @param tags * Key-value pairs to associate with this stack. AWS CloudFormation * also propagates these tags to the resources created in the stack. * A maximum number of 10 tags can be specified. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getStackName() != null) sb.append("StackName: " + getStackName() + ","); if (getTemplateBody() != null) sb.append("TemplateBody: " + getTemplateBody() + ","); if (getTemplateURL() != null) sb.append("TemplateURL: " + getTemplateURL() + ","); if (getParameters() != null) sb.append("Parameters: " + getParameters() + ","); if (getDisableRollback() != null) sb.append("DisableRollback: " + getDisableRollback() + ","); if (getTimeoutInMinutes() != null) sb.append("TimeoutInMinutes: " + getTimeoutInMinutes() + ","); if (getNotificationARNs() != null) sb.append("NotificationARNs: " + getNotificationARNs() + ","); if (getCapabilities() != null) sb.append("Capabilities: " + getCapabilities() + ","); if (getResourceTypes() != null) sb.append("ResourceTypes: " + getResourceTypes() + ","); if (getOnFailure() != null) sb.append("OnFailure: " + getOnFailure() + ","); if (getStackPolicyBody() != null) sb.append("StackPolicyBody: " + getStackPolicyBody() + ","); if (getStackPolicyURL() != null) sb.append("StackPolicyURL: " + getStackPolicyURL() + ","); if (getTags() != null) sb.append("Tags: " + getTags()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateStackRequest == false) return false; CreateStackRequest other = (CreateStackRequest) obj; if (other.getStackName() == null ^ this.getStackName() == null) return false; if (other.getStackName() != null && other.getStackName().equals(this.getStackName()) == false) return false; if (other.getTemplateBody() == null ^ this.getTemplateBody() == null) return false; if (other.getTemplateBody() != null && other.getTemplateBody().equals(this.getTemplateBody()) == false) return false; if (other.getTemplateURL() == null ^ this.getTemplateURL() == null) return false; if (other.getTemplateURL() != null && other.getTemplateURL().equals(this.getTemplateURL()) == false) return false; if (other.getParameters() == null ^ this.getParameters() == null) return false; if (other.getParameters() != null && other.getParameters().equals(this.getParameters()) == false) return false; if (other.getDisableRollback() == null ^ this.getDisableRollback() == null) return false; if (other.getDisableRollback() != null && other.getDisableRollback().equals(this.getDisableRollback()) == false) return false; if (other.getTimeoutInMinutes() == null ^ this.getTimeoutInMinutes() == null) return false; if (other.getTimeoutInMinutes() != null && other.getTimeoutInMinutes().equals( this.getTimeoutInMinutes()) == false) return false; if (other.getNotificationARNs() == null ^ this.getNotificationARNs() == null) return false; if (other.getNotificationARNs() != null && other.getNotificationARNs().equals( this.getNotificationARNs()) == false) return false; if (other.getCapabilities() == null ^ this.getCapabilities() == null) return false; if (other.getCapabilities() != null && other.getCapabilities().equals(this.getCapabilities()) == false) return false; if (other.getResourceTypes() == null ^ this.getResourceTypes() == null) return false; if (other.getResourceTypes() != null && other.getResourceTypes().equals(this.getResourceTypes()) == false) return false; if (other.getOnFailure() == null ^ this.getOnFailure() == null) return false; if (other.getOnFailure() != null && other.getOnFailure().equals(this.getOnFailure()) == false) return false; if (other.getStackPolicyBody() == null ^ this.getStackPolicyBody() == null) return false; if (other.getStackPolicyBody() != null && other.getStackPolicyBody().equals(this.getStackPolicyBody()) == false) return false; if (other.getStackPolicyURL() == null ^ this.getStackPolicyURL() == null) return false; if (other.getStackPolicyURL() != null && other.getStackPolicyURL().equals(this.getStackPolicyURL()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getStackName() == null) ? 0 : getStackName().hashCode()); hashCode = prime * hashCode + ((getTemplateBody() == null) ? 0 : getTemplateBody() .hashCode()); hashCode = prime * hashCode + ((getTemplateURL() == null) ? 0 : getTemplateURL().hashCode()); hashCode = prime * hashCode + ((getParameters() == null) ? 0 : getParameters().hashCode()); hashCode = prime * hashCode + ((getDisableRollback() == null) ? 0 : getDisableRollback() .hashCode()); hashCode = prime * hashCode + ((getTimeoutInMinutes() == null) ? 0 : getTimeoutInMinutes() .hashCode()); hashCode = prime * hashCode + ((getNotificationARNs() == null) ? 0 : getNotificationARNs() .hashCode()); hashCode = prime * hashCode + ((getCapabilities() == null) ? 0 : getCapabilities() .hashCode()); hashCode = prime * hashCode + ((getResourceTypes() == null) ? 0 : getResourceTypes() .hashCode()); hashCode = prime * hashCode + ((getOnFailure() == null) ? 0 : getOnFailure().hashCode()); hashCode = prime * hashCode + ((getStackPolicyBody() == null) ? 0 : getStackPolicyBody() .hashCode()); hashCode = prime * hashCode + ((getStackPolicyURL() == null) ? 0 : getStackPolicyURL() .hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); return hashCode; } @Override public CreateStackRequest clone() { return (CreateStackRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy