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

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

Go to download

The AWS Java SDK for AWS OpsWorks module holds the client classes that are used for communicating with AWS OpsWorks Service

There is a newer version: 1.11.7
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.opsworks.model;

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

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

    /**
     * 

* The stack name. *

*/ private String name; /** *

* The stack's AWS region, such as "ap-south-1". For more information about * Amazon regions, see Regions * and Endpoints. *

*/ private String region; /** *

* The ID of the VPC that the stack is to be launched into. The VPC must be * in the stack's region. All instances are launched into this VPC. You * cannot change the ID later. *

*
    *
  • *

    * If your account supports EC2-Classic, the default value is * no VPC. *

    *
  • *
  • *

    * If your account does not support EC2-Classic, the default value is the * default VPC for the specified region. *

    *
  • *
*

* If the VPC ID corresponds to a default VPC and you have specified either * the DefaultAvailabilityZone or the * DefaultSubnetId parameter only, AWS OpsWorks infers the * value of the other parameter. If you specify neither parameter, AWS * OpsWorks sets these parameters to the first valid Availability Zone for * the specified region and the corresponding default VPC subnet ID, * respectively. *

*

* If you specify a nondefault VPC ID, note the following: *

*
    *
  • *

    * It must belong to a VPC in your account that is in the specified region. *

    *
  • *
  • *

    * You must specify a value for DefaultSubnetId. *

    *
  • *
*

* For more information on how to use AWS OpsWorks with a VPC, see Running a Stack in a VPC. For more information on default VPC and * EC2-Classic, see Supported Platforms. *

*/ private String vpcId; /** *

* One or more user-defined key-value pairs to be added to the stack * attributes. *

*/ private com.amazonaws.internal.SdkInternalMap attributes; /** *

* The stack's AWS Identity and Access Management (IAM) role, which allows * AWS OpsWorks to work with AWS resources on your behalf. You must set this * parameter to the Amazon Resource Name (ARN) for an existing IAM role. For * more information about IAM ARNs, see Using Identifiers. *

*/ private String serviceRoleArn; /** *

* The Amazon Resource Name (ARN) of an IAM profile that is the default * profile for all of the stack's EC2 instances. For more information about * IAM ARNs, see Using Identifiers. *

*/ private String defaultInstanceProfileArn; /** *

* The stack's default operating system, which is installed on every * instance unless you specify a different operating system when you create * the instance. You can specify one of the following. *

*
    *
  • *

    * A supported Linux operating system: An Amazon Linux version, such as * Amazon Linux 2016.03, Amazon Linux 2015.09, or * Amazon Linux 2015.03. *

    *
  • *
  • *

    * A supported Ubuntu operating system, such as * Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or * Ubuntu 12.04 LTS. *

    *
  • *
  • *

    * CentOS 7 *

    *
  • *
  • *

    * Red Hat Enterprise Linux 7 *

    *
  • *
  • *

    * A supported Windows operating system, such as * Microsoft Windows Server 2012 R2 Base, * Microsoft Windows Server 2012 R2 with SQL Server Express, * Microsoft Windows Server 2012 R2 with SQL Server Standard, * or Microsoft Windows Server 2012 R2 with SQL Server Web. *

    *
  • *
  • *

    * A custom AMI: Custom. You specify the custom AMI you want to * use when you create instances. For more information, see Using Custom AMIs. *

    *
  • *
*

* The default option is the current Amazon Linux version. For more * information on the supported operating systems, see AWS OpsWorks Operating Systems. *

*/ private String defaultOs; /** *

* The stack's host name theme, with spaces replaced by underscores. The * theme is used to generate host names for the stack's instances. By * default, HostnameTheme is set to * Layer_Dependent, which creates host names by appending * integers to the layer's short name. The other themes are: *

*
    *
  • *

    * Baked_Goods *

    *
  • *
  • *

    * Clouds *

    *
  • *
  • *

    * Europe_Cities *

    *
  • *
  • *

    * Fruits *

    *
  • *
  • *

    * Greek_Deities *

    *
  • *
  • *

    * Legendary_creatures_from_Japan *

    *
  • *
  • *

    * Planets_and_Moons *

    *
  • *
  • *

    * Roman_Deities *

    *
  • *
  • *

    * Scottish_Islands *

    *
  • *
  • *

    * US_Cities *

    *
  • *
  • *

    * Wild_Cats *

    *
  • *
*

* To obtain a generated host name, call GetHostNameSuggestion, * which returns a host name based on the current theme. *

*/ private String hostnameTheme; /** *

* The stack's default Availability Zone, which must be in the specified * region. For more information, see Regions * and Endpoints. If you also specify a value for * DefaultSubnetId, the subnet must be in the same zone. For * more information, see the VpcId parameter description. *

*/ private String defaultAvailabilityZone; /** *

* The stack's default VPC subnet ID. This parameter is required if you * specify a value for the VpcId parameter. All instances are * launched into this subnet unless you specify otherwise when you create * the instance. If you also specify a value for * DefaultAvailabilityZone, the subnet must be in that zone. * For information on default values and when this parameter is required, * see the VpcId parameter description. *

*/ private String defaultSubnetId; /** *

* A string that contains user-defined, custom JSON. It can be used to * override the corresponding default stack configuration attribute values * or to pass data to recipes. The string should be in the following escape * characters such as '"': *

*

* "{\"key1\": \"value1\", \"key2\": \"value2\",...}" *

*

* For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes. *

*/ private String customJson; /** *

* The configuration manager. When you create a stack we recommend that you * use the configuration manager to specify the Chef version: 12, 11.10, or * 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for * Linux stacks is currently 11.4. *

*/ private StackConfigurationManager configurationManager; /** *

* A ChefConfiguration object that specifies whether to enable * Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more * information, see Create a New Stack. *

*/ private ChefConfiguration chefConfiguration; /** *

* Whether the stack uses custom cookbooks. *

*/ private Boolean useCustomCookbooks; /** *

* Whether to associate the AWS OpsWorks built-in security groups with the * stack's layers. *

*

* AWS OpsWorks provides a standard set of built-in security groups, one for * each layer, which are associated with layers by default. With * UseOpsworksSecurityGroups you can instead provide your own * custom security groups. UseOpsworksSecurityGroups has the * following settings: *

*
    *
  • *

    * True - AWS OpsWorks automatically associates the appropriate built-in * security group with each layer (default setting). You can associate * additional security groups with a layer after you create it, but you * cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks does not associate built-in security groups with * layers. You must create appropriate EC2 security groups and associate a * security group with each layer that you create. However, you can still * manually associate a built-in security group with a layer on creation; * custom security groups are required only for those layers that need * custom settings. *

    *
  • *
*

* For more information, see Create a New Stack. *

*/ private Boolean useOpsworksSecurityGroups; private Source customCookbooksSource; /** *

* A default Amazon EC2 key pair name. The default value is none. If you * specify a key pair name, AWS OpsWorks installs the public key on the * instance and you can use the private key with an SSH client to log in to * the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a * different key pair, or no key pair, when you create an instance. *

*/ private String defaultSshKeyName; /** *

* The default root device type. This value is the default for all instances * in the stack, but you can override it when you create an instance. The * default option is instance-store. For more information, see * Storage for the Root Device. *

*/ private String defaultRootDeviceType; /** *

* The default AWS OpsWorks agent version. You have the following options: *

*
    *
  • *

    * Auto-update - Set this parameter to LATEST. AWS OpsWorks * automatically installs new agent versions on the stack's instances as * soon as they are available. *

    *
  • *
  • *

    * Fixed version - Set this parameter to your preferred agent version. To * update the agent version, you must edit the stack configuration and * specify a new version. AWS OpsWorks then automatically installs that * version on the stack's instances. *

    *
  • *
*

* The default setting is the most recent release of the agent. To specify * an agent version, you must use the complete version number, not the * abbreviated number shown on the console. For a list of available agent * version numbers, call DescribeAgentVersions. *

* *

* You can also specify an agent version when you create or update an * instance, which overrides the stack's default setting. *

*
*/ private String agentVersion; /** *

* The stack name. *

* * @param name * The stack name. */ public void setName(String name) { this.name = name; } /** *

* The stack name. *

* * @return The stack name. */ public String getName() { return this.name; } /** *

* The stack name. *

* * @param name * The stack name. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withName(String name) { setName(name); return this; } /** *

* The stack's AWS region, such as "ap-south-1". For more information about * Amazon regions, see Regions * and Endpoints. *

* * @param region * The stack's AWS region, such as "ap-south-1". For more information * about Amazon regions, see Regions and Endpoints. */ public void setRegion(String region) { this.region = region; } /** *

* The stack's AWS region, such as "ap-south-1". For more information about * Amazon regions, see Regions * and Endpoints. *

* * @return The stack's AWS region, such as "ap-south-1". For more * information about Amazon regions, see Regions and Endpoints. */ public String getRegion() { return this.region; } /** *

* The stack's AWS region, such as "ap-south-1". For more information about * Amazon regions, see Regions * and Endpoints. *

* * @param region * The stack's AWS region, such as "ap-south-1". For more information * about Amazon regions, see Regions and Endpoints. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withRegion(String region) { setRegion(region); return this; } /** *

* The ID of the VPC that the stack is to be launched into. The VPC must be * in the stack's region. All instances are launched into this VPC. You * cannot change the ID later. *

*
    *
  • *

    * If your account supports EC2-Classic, the default value is * no VPC. *

    *
  • *
  • *

    * If your account does not support EC2-Classic, the default value is the * default VPC for the specified region. *

    *
  • *
*

* If the VPC ID corresponds to a default VPC and you have specified either * the DefaultAvailabilityZone or the * DefaultSubnetId parameter only, AWS OpsWorks infers the * value of the other parameter. If you specify neither parameter, AWS * OpsWorks sets these parameters to the first valid Availability Zone for * the specified region and the corresponding default VPC subnet ID, * respectively. *

*

* If you specify a nondefault VPC ID, note the following: *

*
    *
  • *

    * It must belong to a VPC in your account that is in the specified region. *

    *
  • *
  • *

    * You must specify a value for DefaultSubnetId. *

    *
  • *
*

* For more information on how to use AWS OpsWorks with a VPC, see Running a Stack in a VPC. For more information on default VPC and * EC2-Classic, see Supported Platforms. *

* * @param vpcId * The ID of the VPC that the stack is to be launched into. The VPC * must be in the stack's region. All instances are launched into * this VPC. You cannot change the ID later.

*
    *
  • *

    * If your account supports EC2-Classic, the default value is * no VPC. *

    *
  • *
  • *

    * If your account does not support EC2-Classic, the default value is * the default VPC for the specified region. *

    *
  • *
*

* If the VPC ID corresponds to a default VPC and you have specified * either the DefaultAvailabilityZone or the * DefaultSubnetId parameter only, AWS OpsWorks infers * the value of the other parameter. If you specify neither * parameter, AWS OpsWorks sets these parameters to the first valid * Availability Zone for the specified region and the corresponding * default VPC subnet ID, respectively. *

*

* If you specify a nondefault VPC ID, note the following: *

*
    *
  • *

    * It must belong to a VPC in your account that is in the specified * region. *

    *
  • *
  • *

    * You must specify a value for DefaultSubnetId. *

    *
  • *
*

* For more information on how to use AWS OpsWorks with a VPC, see Running a Stack in a VPC. For more information on default VPC * and EC2-Classic, see Supported Platforms. */ public void setVpcId(String vpcId) { this.vpcId = vpcId; } /** *

* The ID of the VPC that the stack is to be launched into. The VPC must be * in the stack's region. All instances are launched into this VPC. You * cannot change the ID later. *

*
    *
  • *

    * If your account supports EC2-Classic, the default value is * no VPC. *

    *
  • *
  • *

    * If your account does not support EC2-Classic, the default value is the * default VPC for the specified region. *

    *
  • *
*

* If the VPC ID corresponds to a default VPC and you have specified either * the DefaultAvailabilityZone or the * DefaultSubnetId parameter only, AWS OpsWorks infers the * value of the other parameter. If you specify neither parameter, AWS * OpsWorks sets these parameters to the first valid Availability Zone for * the specified region and the corresponding default VPC subnet ID, * respectively. *

*

* If you specify a nondefault VPC ID, note the following: *

*
    *
  • *

    * It must belong to a VPC in your account that is in the specified region. *

    *
  • *
  • *

    * You must specify a value for DefaultSubnetId. *

    *
  • *
*

* For more information on how to use AWS OpsWorks with a VPC, see Running a Stack in a VPC. For more information on default VPC and * EC2-Classic, see Supported Platforms. *

* * @return The ID of the VPC that the stack is to be launched into. The VPC * must be in the stack's region. All instances are launched into * this VPC. You cannot change the ID later.

*
    *
  • *

    * If your account supports EC2-Classic, the default value is * no VPC. *

    *
  • *
  • *

    * If your account does not support EC2-Classic, the default value * is the default VPC for the specified region. *

    *
  • *
*

* If the VPC ID corresponds to a default VPC and you have specified * either the DefaultAvailabilityZone or the * DefaultSubnetId parameter only, AWS OpsWorks infers * the value of the other parameter. If you specify neither * parameter, AWS OpsWorks sets these parameters to the first valid * Availability Zone for the specified region and the corresponding * default VPC subnet ID, respectively. *

*

* If you specify a nondefault VPC ID, note the following: *

*
    *
  • *

    * It must belong to a VPC in your account that is in the specified * region. *

    *
  • *
  • *

    * You must specify a value for DefaultSubnetId. *

    *
  • *
*

* For more information on how to use AWS OpsWorks with a VPC, see * Running a Stack in a VPC. For more information on default * VPC and EC2-Classic, see Supported Platforms. */ public String getVpcId() { return this.vpcId; } /** *

* The ID of the VPC that the stack is to be launched into. The VPC must be * in the stack's region. All instances are launched into this VPC. You * cannot change the ID later. *

*
    *
  • *

    * If your account supports EC2-Classic, the default value is * no VPC. *

    *
  • *
  • *

    * If your account does not support EC2-Classic, the default value is the * default VPC for the specified region. *

    *
  • *
*

* If the VPC ID corresponds to a default VPC and you have specified either * the DefaultAvailabilityZone or the * DefaultSubnetId parameter only, AWS OpsWorks infers the * value of the other parameter. If you specify neither parameter, AWS * OpsWorks sets these parameters to the first valid Availability Zone for * the specified region and the corresponding default VPC subnet ID, * respectively. *

*

* If you specify a nondefault VPC ID, note the following: *

*
    *
  • *

    * It must belong to a VPC in your account that is in the specified region. *

    *
  • *
  • *

    * You must specify a value for DefaultSubnetId. *

    *
  • *
*

* For more information on how to use AWS OpsWorks with a VPC, see Running a Stack in a VPC. For more information on default VPC and * EC2-Classic, see Supported Platforms. *

* * @param vpcId * The ID of the VPC that the stack is to be launched into. The VPC * must be in the stack's region. All instances are launched into * this VPC. You cannot change the ID later.

*
    *
  • *

    * If your account supports EC2-Classic, the default value is * no VPC. *

    *
  • *
  • *

    * If your account does not support EC2-Classic, the default value is * the default VPC for the specified region. *

    *
  • *
*

* If the VPC ID corresponds to a default VPC and you have specified * either the DefaultAvailabilityZone or the * DefaultSubnetId parameter only, AWS OpsWorks infers * the value of the other parameter. If you specify neither * parameter, AWS OpsWorks sets these parameters to the first valid * Availability Zone for the specified region and the corresponding * default VPC subnet ID, respectively. *

*

* If you specify a nondefault VPC ID, note the following: *

*
    *
  • *

    * It must belong to a VPC in your account that is in the specified * region. *

    *
  • *
  • *

    * You must specify a value for DefaultSubnetId. *

    *
  • *
*

* For more information on how to use AWS OpsWorks with a VPC, see Running a Stack in a VPC. For more information on default VPC * and EC2-Classic, see Supported Platforms. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withVpcId(String vpcId) { setVpcId(vpcId); return this; } /** *

* One or more user-defined key-value pairs to be added to the stack * attributes. *

* * @return One or more user-defined key-value pairs to be added to the stack * attributes. */ public java.util.Map getAttributes() { if (attributes == null) { attributes = new com.amazonaws.internal.SdkInternalMap(); } return attributes; } /** *

* One or more user-defined key-value pairs to be added to the stack * attributes. *

* * @param attributes * One or more user-defined key-value pairs to be added to the stack * attributes. */ public void setAttributes(java.util.Map attributes) { this.attributes = attributes == null ? null : new com.amazonaws.internal.SdkInternalMap( attributes); } /** *

* One or more user-defined key-value pairs to be added to the stack * attributes. *

* * @param attributes * One or more user-defined key-value pairs to be added to the stack * attributes. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withAttributes( java.util.Map attributes) { setAttributes(attributes); return this; } public CreateStackRequest addAttributesEntry(String key, String value) { if (null == this.attributes) { this.attributes = new com.amazonaws.internal.SdkInternalMap(); } if (this.attributes.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.attributes.put(key, value); return this; } /** * Removes all the entries added into Attributes. <p> Returns a reference * to this object so that method calls can be chained together. */ public CreateStackRequest clearAttributesEntries() { this.attributes = null; return this; } /** *

* The stack's AWS Identity and Access Management (IAM) role, which allows * AWS OpsWorks to work with AWS resources on your behalf. You must set this * parameter to the Amazon Resource Name (ARN) for an existing IAM role. For * more information about IAM ARNs, see Using Identifiers. *

* * @param serviceRoleArn * The stack's AWS Identity and Access Management (IAM) role, which * allows AWS OpsWorks to work with AWS resources on your behalf. You * must set this parameter to the Amazon Resource Name (ARN) for an * existing IAM role. For more information about IAM ARNs, see Using Identifiers. */ public void setServiceRoleArn(String serviceRoleArn) { this.serviceRoleArn = serviceRoleArn; } /** *

* The stack's AWS Identity and Access Management (IAM) role, which allows * AWS OpsWorks to work with AWS resources on your behalf. You must set this * parameter to the Amazon Resource Name (ARN) for an existing IAM role. For * more information about IAM ARNs, see Using Identifiers. *

* * @return The stack's AWS Identity and Access Management (IAM) role, which * allows AWS OpsWorks to work with AWS resources on your behalf. * You must set this parameter to the Amazon Resource Name (ARN) for * an existing IAM role. For more information about IAM ARNs, see Using Identifiers. */ public String getServiceRoleArn() { return this.serviceRoleArn; } /** *

* The stack's AWS Identity and Access Management (IAM) role, which allows * AWS OpsWorks to work with AWS resources on your behalf. You must set this * parameter to the Amazon Resource Name (ARN) for an existing IAM role. For * more information about IAM ARNs, see Using Identifiers. *

* * @param serviceRoleArn * The stack's AWS Identity and Access Management (IAM) role, which * allows AWS OpsWorks to work with AWS resources on your behalf. You * must set this parameter to the Amazon Resource Name (ARN) for an * existing IAM role. For more information about IAM ARNs, see Using Identifiers. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withServiceRoleArn(String serviceRoleArn) { setServiceRoleArn(serviceRoleArn); return this; } /** *

* The Amazon Resource Name (ARN) of an IAM profile that is the default * profile for all of the stack's EC2 instances. For more information about * IAM ARNs, see Using Identifiers. *

* * @param defaultInstanceProfileArn * The Amazon Resource Name (ARN) of an IAM profile that is the * default profile for all of the stack's EC2 instances. For more * information about IAM ARNs, see Using Identifiers. */ public void setDefaultInstanceProfileArn(String defaultInstanceProfileArn) { this.defaultInstanceProfileArn = defaultInstanceProfileArn; } /** *

* The Amazon Resource Name (ARN) of an IAM profile that is the default * profile for all of the stack's EC2 instances. For more information about * IAM ARNs, see Using Identifiers. *

* * @return The Amazon Resource Name (ARN) of an IAM profile that is the * default profile for all of the stack's EC2 instances. For more * information about IAM ARNs, see Using Identifiers. */ public String getDefaultInstanceProfileArn() { return this.defaultInstanceProfileArn; } /** *

* The Amazon Resource Name (ARN) of an IAM profile that is the default * profile for all of the stack's EC2 instances. For more information about * IAM ARNs, see Using Identifiers. *

* * @param defaultInstanceProfileArn * The Amazon Resource Name (ARN) of an IAM profile that is the * default profile for all of the stack's EC2 instances. For more * information about IAM ARNs, see Using Identifiers. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withDefaultInstanceProfileArn( String defaultInstanceProfileArn) { setDefaultInstanceProfileArn(defaultInstanceProfileArn); return this; } /** *

* The stack's default operating system, which is installed on every * instance unless you specify a different operating system when you create * the instance. You can specify one of the following. *

*
    *
  • *

    * A supported Linux operating system: An Amazon Linux version, such as * Amazon Linux 2016.03, Amazon Linux 2015.09, or * Amazon Linux 2015.03. *

    *
  • *
  • *

    * A supported Ubuntu operating system, such as * Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or * Ubuntu 12.04 LTS. *

    *
  • *
  • *

    * CentOS 7 *

    *
  • *
  • *

    * Red Hat Enterprise Linux 7 *

    *
  • *
  • *

    * A supported Windows operating system, such as * Microsoft Windows Server 2012 R2 Base, * Microsoft Windows Server 2012 R2 with SQL Server Express, * Microsoft Windows Server 2012 R2 with SQL Server Standard, * or Microsoft Windows Server 2012 R2 with SQL Server Web. *

    *
  • *
  • *

    * A custom AMI: Custom. You specify the custom AMI you want to * use when you create instances. For more information, see Using Custom AMIs. *

    *
  • *
*

* The default option is the current Amazon Linux version. For more * information on the supported operating systems, see AWS OpsWorks Operating Systems. *

* * @param defaultOs * The stack's default operating system, which is installed on every * instance unless you specify a different operating system when you * create the instance. You can specify one of the following.

*
    *
  • *

    * A supported Linux operating system: An Amazon Linux version, such * as Amazon Linux 2016.03, * Amazon Linux 2015.09, or * Amazon Linux 2015.03. *

    *
  • *
  • *

    * A supported Ubuntu operating system, such as * Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or * Ubuntu 12.04 LTS. *

    *
  • *
  • *

    * CentOS 7 *

    *
  • *
  • *

    * Red Hat Enterprise Linux 7 *

    *
  • *
  • *

    * A supported Windows operating system, such as * Microsoft Windows Server 2012 R2 Base, * Microsoft Windows Server 2012 R2 with SQL Server Express, * Microsoft Windows Server 2012 R2 with SQL Server Standard * , or * Microsoft Windows Server 2012 R2 with SQL Server Web. *

    *
  • *
  • *

    * A custom AMI: Custom. You specify the custom AMI you * want to use when you create instances. For more information, see * Using Custom AMIs. *

    *
  • *
*

* The default option is the current Amazon Linux version. For more * information on the supported operating systems, see AWS OpsWorks Operating Systems. */ public void setDefaultOs(String defaultOs) { this.defaultOs = defaultOs; } /** *

* The stack's default operating system, which is installed on every * instance unless you specify a different operating system when you create * the instance. You can specify one of the following. *

*
    *
  • *

    * A supported Linux operating system: An Amazon Linux version, such as * Amazon Linux 2016.03, Amazon Linux 2015.09, or * Amazon Linux 2015.03. *

    *
  • *
  • *

    * A supported Ubuntu operating system, such as * Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or * Ubuntu 12.04 LTS. *

    *
  • *
  • *

    * CentOS 7 *

    *
  • *
  • *

    * Red Hat Enterprise Linux 7 *

    *
  • *
  • *

    * A supported Windows operating system, such as * Microsoft Windows Server 2012 R2 Base, * Microsoft Windows Server 2012 R2 with SQL Server Express, * Microsoft Windows Server 2012 R2 with SQL Server Standard, * or Microsoft Windows Server 2012 R2 with SQL Server Web. *

    *
  • *
  • *

    * A custom AMI: Custom. You specify the custom AMI you want to * use when you create instances. For more information, see Using Custom AMIs. *

    *
  • *
*

* The default option is the current Amazon Linux version. For more * information on the supported operating systems, see AWS OpsWorks Operating Systems. *

* * @return The stack's default operating system, which is installed on every * instance unless you specify a different operating system when you * create the instance. You can specify one of the following.

*
    *
  • *

    * A supported Linux operating system: An Amazon Linux version, such * as Amazon Linux 2016.03, * Amazon Linux 2015.09, or * Amazon Linux 2015.03. *

    *
  • *
  • *

    * A supported Ubuntu operating system, such as * Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or * Ubuntu 12.04 LTS. *

    *
  • *
  • *

    * CentOS 7 *

    *
  • *
  • *

    * Red Hat Enterprise Linux 7 *

    *
  • *
  • *

    * A supported Windows operating system, such as * Microsoft Windows Server 2012 R2 Base, * Microsoft Windows Server 2012 R2 with SQL Server Express, * Microsoft Windows Server 2012 R2 with SQL Server Standard * , or * Microsoft Windows Server 2012 R2 with SQL Server Web * . *

    *
  • *
  • *

    * A custom AMI: Custom. You specify the custom AMI you * want to use when you create instances. For more information, see * Using Custom AMIs. *

    *
  • *
*

* The default option is the current Amazon Linux version. For more * information on the supported operating systems, see AWS OpsWorks Operating Systems. */ public String getDefaultOs() { return this.defaultOs; } /** *

* The stack's default operating system, which is installed on every * instance unless you specify a different operating system when you create * the instance. You can specify one of the following. *

*
    *
  • *

    * A supported Linux operating system: An Amazon Linux version, such as * Amazon Linux 2016.03, Amazon Linux 2015.09, or * Amazon Linux 2015.03. *

    *
  • *
  • *

    * A supported Ubuntu operating system, such as * Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or * Ubuntu 12.04 LTS. *

    *
  • *
  • *

    * CentOS 7 *

    *
  • *
  • *

    * Red Hat Enterprise Linux 7 *

    *
  • *
  • *

    * A supported Windows operating system, such as * Microsoft Windows Server 2012 R2 Base, * Microsoft Windows Server 2012 R2 with SQL Server Express, * Microsoft Windows Server 2012 R2 with SQL Server Standard, * or Microsoft Windows Server 2012 R2 with SQL Server Web. *

    *
  • *
  • *

    * A custom AMI: Custom. You specify the custom AMI you want to * use when you create instances. For more information, see Using Custom AMIs. *

    *
  • *
*

* The default option is the current Amazon Linux version. For more * information on the supported operating systems, see AWS OpsWorks Operating Systems. *

* * @param defaultOs * The stack's default operating system, which is installed on every * instance unless you specify a different operating system when you * create the instance. You can specify one of the following.

*
    *
  • *

    * A supported Linux operating system: An Amazon Linux version, such * as Amazon Linux 2016.03, * Amazon Linux 2015.09, or * Amazon Linux 2015.03. *

    *
  • *
  • *

    * A supported Ubuntu operating system, such as * Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or * Ubuntu 12.04 LTS. *

    *
  • *
  • *

    * CentOS 7 *

    *
  • *
  • *

    * Red Hat Enterprise Linux 7 *

    *
  • *
  • *

    * A supported Windows operating system, such as * Microsoft Windows Server 2012 R2 Base, * Microsoft Windows Server 2012 R2 with SQL Server Express, * Microsoft Windows Server 2012 R2 with SQL Server Standard * , or * Microsoft Windows Server 2012 R2 with SQL Server Web. *

    *
  • *
  • *

    * A custom AMI: Custom. You specify the custom AMI you * want to use when you create instances. For more information, see * Using Custom AMIs. *

    *
  • *
*

* The default option is the current Amazon Linux version. For more * information on the supported operating systems, see AWS OpsWorks Operating Systems. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withDefaultOs(String defaultOs) { setDefaultOs(defaultOs); return this; } /** *

* The stack's host name theme, with spaces replaced by underscores. The * theme is used to generate host names for the stack's instances. By * default, HostnameTheme is set to * Layer_Dependent, which creates host names by appending * integers to the layer's short name. The other themes are: *

*
    *
  • *

    * Baked_Goods *

    *
  • *
  • *

    * Clouds *

    *
  • *
  • *

    * Europe_Cities *

    *
  • *
  • *

    * Fruits *

    *
  • *
  • *

    * Greek_Deities *

    *
  • *
  • *

    * Legendary_creatures_from_Japan *

    *
  • *
  • *

    * Planets_and_Moons *

    *
  • *
  • *

    * Roman_Deities *

    *
  • *
  • *

    * Scottish_Islands *

    *
  • *
  • *

    * US_Cities *

    *
  • *
  • *

    * Wild_Cats *

    *
  • *
*

* To obtain a generated host name, call GetHostNameSuggestion, * which returns a host name based on the current theme. *

* * @param hostnameTheme * The stack's host name theme, with spaces replaced by underscores. * The theme is used to generate host names for the stack's * instances. By default, HostnameTheme is set to * Layer_Dependent, which creates host names by * appending integers to the layer's short name. The other themes * are:

*
    *
  • *

    * Baked_Goods *

    *
  • *
  • *

    * Clouds *

    *
  • *
  • *

    * Europe_Cities *

    *
  • *
  • *

    * Fruits *

    *
  • *
  • *

    * Greek_Deities *

    *
  • *
  • *

    * Legendary_creatures_from_Japan *

    *
  • *
  • *

    * Planets_and_Moons *

    *
  • *
  • *

    * Roman_Deities *

    *
  • *
  • *

    * Scottish_Islands *

    *
  • *
  • *

    * US_Cities *

    *
  • *
  • *

    * Wild_Cats *

    *
  • *
*

* To obtain a generated host name, call * GetHostNameSuggestion, which returns a host name * based on the current theme. */ public void setHostnameTheme(String hostnameTheme) { this.hostnameTheme = hostnameTheme; } /** *

* The stack's host name theme, with spaces replaced by underscores. The * theme is used to generate host names for the stack's instances. By * default, HostnameTheme is set to * Layer_Dependent, which creates host names by appending * integers to the layer's short name. The other themes are: *

*
    *
  • *

    * Baked_Goods *

    *
  • *
  • *

    * Clouds *

    *
  • *
  • *

    * Europe_Cities *

    *
  • *
  • *

    * Fruits *

    *
  • *
  • *

    * Greek_Deities *

    *
  • *
  • *

    * Legendary_creatures_from_Japan *

    *
  • *
  • *

    * Planets_and_Moons *

    *
  • *
  • *

    * Roman_Deities *

    *
  • *
  • *

    * Scottish_Islands *

    *
  • *
  • *

    * US_Cities *

    *
  • *
  • *

    * Wild_Cats *

    *
  • *
*

* To obtain a generated host name, call GetHostNameSuggestion, * which returns a host name based on the current theme. *

* * @return The stack's host name theme, with spaces replaced by underscores. * The theme is used to generate host names for the stack's * instances. By default, HostnameTheme is set to * Layer_Dependent, which creates host names by * appending integers to the layer's short name. The other themes * are:

*
    *
  • *

    * Baked_Goods *

    *
  • *
  • *

    * Clouds *

    *
  • *
  • *

    * Europe_Cities *

    *
  • *
  • *

    * Fruits *

    *
  • *
  • *

    * Greek_Deities *

    *
  • *
  • *

    * Legendary_creatures_from_Japan *

    *
  • *
  • *

    * Planets_and_Moons *

    *
  • *
  • *

    * Roman_Deities *

    *
  • *
  • *

    * Scottish_Islands *

    *
  • *
  • *

    * US_Cities *

    *
  • *
  • *

    * Wild_Cats *

    *
  • *
*

* To obtain a generated host name, call * GetHostNameSuggestion, which returns a host name * based on the current theme. */ public String getHostnameTheme() { return this.hostnameTheme; } /** *

* The stack's host name theme, with spaces replaced by underscores. The * theme is used to generate host names for the stack's instances. By * default, HostnameTheme is set to * Layer_Dependent, which creates host names by appending * integers to the layer's short name. The other themes are: *

*
    *
  • *

    * Baked_Goods *

    *
  • *
  • *

    * Clouds *

    *
  • *
  • *

    * Europe_Cities *

    *
  • *
  • *

    * Fruits *

    *
  • *
  • *

    * Greek_Deities *

    *
  • *
  • *

    * Legendary_creatures_from_Japan *

    *
  • *
  • *

    * Planets_and_Moons *

    *
  • *
  • *

    * Roman_Deities *

    *
  • *
  • *

    * Scottish_Islands *

    *
  • *
  • *

    * US_Cities *

    *
  • *
  • *

    * Wild_Cats *

    *
  • *
*

* To obtain a generated host name, call GetHostNameSuggestion, * which returns a host name based on the current theme. *

* * @param hostnameTheme * The stack's host name theme, with spaces replaced by underscores. * The theme is used to generate host names for the stack's * instances. By default, HostnameTheme is set to * Layer_Dependent, which creates host names by * appending integers to the layer's short name. The other themes * are:

*
    *
  • *

    * Baked_Goods *

    *
  • *
  • *

    * Clouds *

    *
  • *
  • *

    * Europe_Cities *

    *
  • *
  • *

    * Fruits *

    *
  • *
  • *

    * Greek_Deities *

    *
  • *
  • *

    * Legendary_creatures_from_Japan *

    *
  • *
  • *

    * Planets_and_Moons *

    *
  • *
  • *

    * Roman_Deities *

    *
  • *
  • *

    * Scottish_Islands *

    *
  • *
  • *

    * US_Cities *

    *
  • *
  • *

    * Wild_Cats *

    *
  • *
*

* To obtain a generated host name, call * GetHostNameSuggestion, which returns a host name * based on the current theme. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withHostnameTheme(String hostnameTheme) { setHostnameTheme(hostnameTheme); return this; } /** *

* The stack's default Availability Zone, which must be in the specified * region. For more information, see Regions * and Endpoints. If you also specify a value for * DefaultSubnetId, the subnet must be in the same zone. For * more information, see the VpcId parameter description. *

* * @param defaultAvailabilityZone * The stack's default Availability Zone, which must be in the * specified region. For more information, see Regions and Endpoints. If you also specify a value for * DefaultSubnetId, the subnet must be in the same zone. * For more information, see the VpcId parameter * description. */ public void setDefaultAvailabilityZone(String defaultAvailabilityZone) { this.defaultAvailabilityZone = defaultAvailabilityZone; } /** *

* The stack's default Availability Zone, which must be in the specified * region. For more information, see Regions * and Endpoints. If you also specify a value for * DefaultSubnetId, the subnet must be in the same zone. For * more information, see the VpcId parameter description. *

* * @return The stack's default Availability Zone, which must be in the * specified region. For more information, see Regions and Endpoints. If you also specify a value for * DefaultSubnetId, the subnet must be in the same * zone. For more information, see the VpcId parameter * description. */ public String getDefaultAvailabilityZone() { return this.defaultAvailabilityZone; } /** *

* The stack's default Availability Zone, which must be in the specified * region. For more information, see Regions * and Endpoints. If you also specify a value for * DefaultSubnetId, the subnet must be in the same zone. For * more information, see the VpcId parameter description. *

* * @param defaultAvailabilityZone * The stack's default Availability Zone, which must be in the * specified region. For more information, see Regions and Endpoints. If you also specify a value for * DefaultSubnetId, the subnet must be in the same zone. * For more information, see the VpcId parameter * description. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withDefaultAvailabilityZone( String defaultAvailabilityZone) { setDefaultAvailabilityZone(defaultAvailabilityZone); return this; } /** *

* The stack's default VPC subnet ID. This parameter is required if you * specify a value for the VpcId parameter. All instances are * launched into this subnet unless you specify otherwise when you create * the instance. If you also specify a value for * DefaultAvailabilityZone, the subnet must be in that zone. * For information on default values and when this parameter is required, * see the VpcId parameter description. *

* * @param defaultSubnetId * The stack's default VPC subnet ID. This parameter is required if * you specify a value for the VpcId parameter. All * instances are launched into this subnet unless you specify * otherwise when you create the instance. If you also specify a * value for DefaultAvailabilityZone, the subnet must be * in that zone. For information on default values and when this * parameter is required, see the VpcId parameter * description. */ public void setDefaultSubnetId(String defaultSubnetId) { this.defaultSubnetId = defaultSubnetId; } /** *

* The stack's default VPC subnet ID. This parameter is required if you * specify a value for the VpcId parameter. All instances are * launched into this subnet unless you specify otherwise when you create * the instance. If you also specify a value for * DefaultAvailabilityZone, the subnet must be in that zone. * For information on default values and when this parameter is required, * see the VpcId parameter description. *

* * @return The stack's default VPC subnet ID. This parameter is required if * you specify a value for the VpcId parameter. All * instances are launched into this subnet unless you specify * otherwise when you create the instance. If you also specify a * value for DefaultAvailabilityZone, the subnet must * be in that zone. For information on default values and when this * parameter is required, see the VpcId parameter * description. */ public String getDefaultSubnetId() { return this.defaultSubnetId; } /** *

* The stack's default VPC subnet ID. This parameter is required if you * specify a value for the VpcId parameter. All instances are * launched into this subnet unless you specify otherwise when you create * the instance. If you also specify a value for * DefaultAvailabilityZone, the subnet must be in that zone. * For information on default values and when this parameter is required, * see the VpcId parameter description. *

* * @param defaultSubnetId * The stack's default VPC subnet ID. This parameter is required if * you specify a value for the VpcId parameter. All * instances are launched into this subnet unless you specify * otherwise when you create the instance. If you also specify a * value for DefaultAvailabilityZone, the subnet must be * in that zone. For information on default values and when this * parameter is required, see the VpcId parameter * description. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withDefaultSubnetId(String defaultSubnetId) { setDefaultSubnetId(defaultSubnetId); return this; } /** *

* A string that contains user-defined, custom JSON. It can be used to * override the corresponding default stack configuration attribute values * or to pass data to recipes. The string should be in the following escape * characters such as '"': *

*

* "{\"key1\": \"value1\", \"key2\": \"value2\",...}" *

*

* For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes. *

* * @param customJson * A string that contains user-defined, custom JSON. It can be used * to override the corresponding default stack configuration * attribute values or to pass data to recipes. The string should be * in the following escape characters such as '"':

*

* "{\"key1\": \"value1\", \"key2\": \"value2\",...}" *

*

* For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes. */ public void setCustomJson(String customJson) { this.customJson = customJson; } /** *

* A string that contains user-defined, custom JSON. It can be used to * override the corresponding default stack configuration attribute values * or to pass data to recipes. The string should be in the following escape * characters such as '"': *

*

* "{\"key1\": \"value1\", \"key2\": \"value2\",...}" *

*

* For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes. *

* * @return A string that contains user-defined, custom JSON. It can be used * to override the corresponding default stack configuration * attribute values or to pass data to recipes. The string should be * in the following escape characters such as '"':

*

* "{\"key1\": \"value1\", \"key2\": \"value2\",...}" *

*

* For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration * Attributes. */ public String getCustomJson() { return this.customJson; } /** *

* A string that contains user-defined, custom JSON. It can be used to * override the corresponding default stack configuration attribute values * or to pass data to recipes. The string should be in the following escape * characters such as '"': *

*

* "{\"key1\": \"value1\", \"key2\": \"value2\",...}" *

*

* For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes. *

* * @param customJson * A string that contains user-defined, custom JSON. It can be used * to override the corresponding default stack configuration * attribute values or to pass data to recipes. The string should be * in the following escape characters such as '"':

*

* "{\"key1\": \"value1\", \"key2\": \"value2\",...}" *

*

* For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withCustomJson(String customJson) { setCustomJson(customJson); return this; } /** *

* The configuration manager. When you create a stack we recommend that you * use the configuration manager to specify the Chef version: 12, 11.10, or * 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for * Linux stacks is currently 11.4. *

* * @param configurationManager * The configuration manager. When you create a stack we recommend * that you use the configuration manager to specify the Chef * version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows * stacks. The default value for Linux stacks is currently 11.4. */ public void setConfigurationManager( StackConfigurationManager configurationManager) { this.configurationManager = configurationManager; } /** *

* The configuration manager. When you create a stack we recommend that you * use the configuration manager to specify the Chef version: 12, 11.10, or * 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for * Linux stacks is currently 11.4. *

* * @return The configuration manager. When you create a stack we recommend * that you use the configuration manager to specify the Chef * version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows * stacks. The default value for Linux stacks is currently 11.4. */ public StackConfigurationManager getConfigurationManager() { return this.configurationManager; } /** *

* The configuration manager. When you create a stack we recommend that you * use the configuration manager to specify the Chef version: 12, 11.10, or * 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for * Linux stacks is currently 11.4. *

* * @param configurationManager * The configuration manager. When you create a stack we recommend * that you use the configuration manager to specify the Chef * version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows * stacks. The default value for Linux stacks is currently 11.4. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withConfigurationManager( StackConfigurationManager configurationManager) { setConfigurationManager(configurationManager); return this; } /** *

* A ChefConfiguration object that specifies whether to enable * Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more * information, see Create a New Stack. *

* * @param chefConfiguration * A ChefConfiguration object that specifies whether to * enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. * For more information, see Create a New Stack. */ public void setChefConfiguration(ChefConfiguration chefConfiguration) { this.chefConfiguration = chefConfiguration; } /** *

* A ChefConfiguration object that specifies whether to enable * Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more * information, see Create a New Stack. *

* * @return A ChefConfiguration object that specifies whether to * enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. * For more information, see Create a New Stack. */ public ChefConfiguration getChefConfiguration() { return this.chefConfiguration; } /** *

* A ChefConfiguration object that specifies whether to enable * Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more * information, see Create a New Stack. *

* * @param chefConfiguration * A ChefConfiguration object that specifies whether to * enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. * For more information, see Create a New Stack. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withChefConfiguration( ChefConfiguration chefConfiguration) { setChefConfiguration(chefConfiguration); return this; } /** *

* Whether the stack uses custom cookbooks. *

* * @param useCustomCookbooks * Whether the stack uses custom cookbooks. */ public void setUseCustomCookbooks(Boolean useCustomCookbooks) { this.useCustomCookbooks = useCustomCookbooks; } /** *

* Whether the stack uses custom cookbooks. *

* * @return Whether the stack uses custom cookbooks. */ public Boolean getUseCustomCookbooks() { return this.useCustomCookbooks; } /** *

* Whether the stack uses custom cookbooks. *

* * @param useCustomCookbooks * Whether the stack uses custom cookbooks. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withUseCustomCookbooks(Boolean useCustomCookbooks) { setUseCustomCookbooks(useCustomCookbooks); return this; } /** *

* Whether the stack uses custom cookbooks. *

* * @return Whether the stack uses custom cookbooks. */ public Boolean isUseCustomCookbooks() { return this.useCustomCookbooks; } /** *

* Whether to associate the AWS OpsWorks built-in security groups with the * stack's layers. *

*

* AWS OpsWorks provides a standard set of built-in security groups, one for * each layer, which are associated with layers by default. With * UseOpsworksSecurityGroups you can instead provide your own * custom security groups. UseOpsworksSecurityGroups has the * following settings: *

*
    *
  • *

    * True - AWS OpsWorks automatically associates the appropriate built-in * security group with each layer (default setting). You can associate * additional security groups with a layer after you create it, but you * cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks does not associate built-in security groups with * layers. You must create appropriate EC2 security groups and associate a * security group with each layer that you create. However, you can still * manually associate a built-in security group with a layer on creation; * custom security groups are required only for those layers that need * custom settings. *

    *
  • *
*

* For more information, see Create a New Stack. *

* * @param useOpsworksSecurityGroups * Whether to associate the AWS OpsWorks built-in security groups * with the stack's layers.

*

* AWS OpsWorks provides a standard set of built-in security groups, * one for each layer, which are associated with layers by default. * With UseOpsworksSecurityGroups you can instead * provide your own custom security groups. * UseOpsworksSecurityGroups has the following settings: *

*
    *
  • *

    * True - AWS OpsWorks automatically associates the appropriate * built-in security group with each layer (default setting). You can * associate additional security groups with a layer after you create * it, but you cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks does not associate built-in security groups * with layers. You must create appropriate EC2 security groups and * associate a security group with each layer that you create. * However, you can still manually associate a built-in security * group with a layer on creation; custom security groups are * required only for those layers that need custom settings. *

    *
  • *
*

* For more information, see Create a New Stack. */ public void setUseOpsworksSecurityGroups(Boolean useOpsworksSecurityGroups) { this.useOpsworksSecurityGroups = useOpsworksSecurityGroups; } /** *

* Whether to associate the AWS OpsWorks built-in security groups with the * stack's layers. *

*

* AWS OpsWorks provides a standard set of built-in security groups, one for * each layer, which are associated with layers by default. With * UseOpsworksSecurityGroups you can instead provide your own * custom security groups. UseOpsworksSecurityGroups has the * following settings: *

*
    *
  • *

    * True - AWS OpsWorks automatically associates the appropriate built-in * security group with each layer (default setting). You can associate * additional security groups with a layer after you create it, but you * cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks does not associate built-in security groups with * layers. You must create appropriate EC2 security groups and associate a * security group with each layer that you create. However, you can still * manually associate a built-in security group with a layer on creation; * custom security groups are required only for those layers that need * custom settings. *

    *
  • *
*

* For more information, see Create a New Stack. *

* * @return Whether to associate the AWS OpsWorks built-in security groups * with the stack's layers.

*

* AWS OpsWorks provides a standard set of built-in security groups, * one for each layer, which are associated with layers by default. * With UseOpsworksSecurityGroups you can instead * provide your own custom security groups. * UseOpsworksSecurityGroups has the following * settings: *

*
    *
  • *

    * True - AWS OpsWorks automatically associates the appropriate * built-in security group with each layer (default setting). You * can associate additional security groups with a layer after you * create it, but you cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks does not associate built-in security groups * with layers. You must create appropriate EC2 security groups and * associate a security group with each layer that you create. * However, you can still manually associate a built-in security * group with a layer on creation; custom security groups are * required only for those layers that need custom settings. *

    *
  • *
*

* For more information, see Create a New Stack. */ public Boolean getUseOpsworksSecurityGroups() { return this.useOpsworksSecurityGroups; } /** *

* Whether to associate the AWS OpsWorks built-in security groups with the * stack's layers. *

*

* AWS OpsWorks provides a standard set of built-in security groups, one for * each layer, which are associated with layers by default. With * UseOpsworksSecurityGroups you can instead provide your own * custom security groups. UseOpsworksSecurityGroups has the * following settings: *

*
    *
  • *

    * True - AWS OpsWorks automatically associates the appropriate built-in * security group with each layer (default setting). You can associate * additional security groups with a layer after you create it, but you * cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks does not associate built-in security groups with * layers. You must create appropriate EC2 security groups and associate a * security group with each layer that you create. However, you can still * manually associate a built-in security group with a layer on creation; * custom security groups are required only for those layers that need * custom settings. *

    *
  • *
*

* For more information, see Create a New Stack. *

* * @param useOpsworksSecurityGroups * Whether to associate the AWS OpsWorks built-in security groups * with the stack's layers.

*

* AWS OpsWorks provides a standard set of built-in security groups, * one for each layer, which are associated with layers by default. * With UseOpsworksSecurityGroups you can instead * provide your own custom security groups. * UseOpsworksSecurityGroups has the following settings: *

*
    *
  • *

    * True - AWS OpsWorks automatically associates the appropriate * built-in security group with each layer (default setting). You can * associate additional security groups with a layer after you create * it, but you cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks does not associate built-in security groups * with layers. You must create appropriate EC2 security groups and * associate a security group with each layer that you create. * However, you can still manually associate a built-in security * group with a layer on creation; custom security groups are * required only for those layers that need custom settings. *

    *
  • *
*

* For more information, see Create a New Stack. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withUseOpsworksSecurityGroups( Boolean useOpsworksSecurityGroups) { setUseOpsworksSecurityGroups(useOpsworksSecurityGroups); return this; } /** *

* Whether to associate the AWS OpsWorks built-in security groups with the * stack's layers. *

*

* AWS OpsWorks provides a standard set of built-in security groups, one for * each layer, which are associated with layers by default. With * UseOpsworksSecurityGroups you can instead provide your own * custom security groups. UseOpsworksSecurityGroups has the * following settings: *

*
    *
  • *

    * True - AWS OpsWorks automatically associates the appropriate built-in * security group with each layer (default setting). You can associate * additional security groups with a layer after you create it, but you * cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks does not associate built-in security groups with * layers. You must create appropriate EC2 security groups and associate a * security group with each layer that you create. However, you can still * manually associate a built-in security group with a layer on creation; * custom security groups are required only for those layers that need * custom settings. *

    *
  • *
*

* For more information, see Create a New Stack. *

* * @return Whether to associate the AWS OpsWorks built-in security groups * with the stack's layers.

*

* AWS OpsWorks provides a standard set of built-in security groups, * one for each layer, which are associated with layers by default. * With UseOpsworksSecurityGroups you can instead * provide your own custom security groups. * UseOpsworksSecurityGroups has the following * settings: *

*
    *
  • *

    * True - AWS OpsWorks automatically associates the appropriate * built-in security group with each layer (default setting). You * can associate additional security groups with a layer after you * create it, but you cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks does not associate built-in security groups * with layers. You must create appropriate EC2 security groups and * associate a security group with each layer that you create. * However, you can still manually associate a built-in security * group with a layer on creation; custom security groups are * required only for those layers that need custom settings. *

    *
  • *
*

* For more information, see Create a New Stack. */ public Boolean isUseOpsworksSecurityGroups() { return this.useOpsworksSecurityGroups; } /** * @param customCookbooksSource */ public void setCustomCookbooksSource(Source customCookbooksSource) { this.customCookbooksSource = customCookbooksSource; } /** * @return */ public Source getCustomCookbooksSource() { return this.customCookbooksSource; } /** * @param customCookbooksSource * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withCustomCookbooksSource( Source customCookbooksSource) { setCustomCookbooksSource(customCookbooksSource); return this; } /** *

* A default Amazon EC2 key pair name. The default value is none. If you * specify a key pair name, AWS OpsWorks installs the public key on the * instance and you can use the private key with an SSH client to log in to * the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a * different key pair, or no key pair, when you create an instance. *

* * @param defaultSshKeyName * A default Amazon EC2 key pair name. The default value is none. If * you specify a key pair name, AWS OpsWorks installs the public key * on the instance and you can use the private key with an SSH client * to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by * specifying a different key pair, or no key pair, when you create an instance. */ public void setDefaultSshKeyName(String defaultSshKeyName) { this.defaultSshKeyName = defaultSshKeyName; } /** *

* A default Amazon EC2 key pair name. The default value is none. If you * specify a key pair name, AWS OpsWorks installs the public key on the * instance and you can use the private key with an SSH client to log in to * the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a * different key pair, or no key pair, when you create an instance. *

* * @return A default Amazon EC2 key pair name. The default value is none. If * you specify a key pair name, AWS OpsWorks installs the public key * on the instance and you can use the private key with an SSH * client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by * specifying a different key pair, or no key pair, when you create an instance. */ public String getDefaultSshKeyName() { return this.defaultSshKeyName; } /** *

* A default Amazon EC2 key pair name. The default value is none. If you * specify a key pair name, AWS OpsWorks installs the public key on the * instance and you can use the private key with an SSH client to log in to * the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a * different key pair, or no key pair, when you create an instance. *

* * @param defaultSshKeyName * A default Amazon EC2 key pair name. The default value is none. If * you specify a key pair name, AWS OpsWorks installs the public key * on the instance and you can use the private key with an SSH client * to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by * specifying a different key pair, or no key pair, when you create an instance. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withDefaultSshKeyName(String defaultSshKeyName) { setDefaultSshKeyName(defaultSshKeyName); return this; } /** *

* The default root device type. This value is the default for all instances * in the stack, but you can override it when you create an instance. The * default option is instance-store. For more information, see * Storage for the Root Device. *

* * @param defaultRootDeviceType * The default root device type. This value is the default for all * instances in the stack, but you can override it when you create an * instance. The default option is instance-store. For * more information, see Storage for the Root Device. * @see RootDeviceType */ public void setDefaultRootDeviceType(String defaultRootDeviceType) { this.defaultRootDeviceType = defaultRootDeviceType; } /** *

* The default root device type. This value is the default for all instances * in the stack, but you can override it when you create an instance. The * default option is instance-store. For more information, see * Storage for the Root Device. *

* * @return The default root device type. This value is the default for all * instances in the stack, but you can override it when you create * an instance. The default option is instance-store. * For more information, see Storage for the Root Device. * @see RootDeviceType */ public String getDefaultRootDeviceType() { return this.defaultRootDeviceType; } /** *

* The default root device type. This value is the default for all instances * in the stack, but you can override it when you create an instance. The * default option is instance-store. For more information, see * Storage for the Root Device. *

* * @param defaultRootDeviceType * The default root device type. This value is the default for all * instances in the stack, but you can override it when you create an * instance. The default option is instance-store. For * more information, see Storage for the Root Device. * @return Returns a reference to this object so that method calls can be * chained together. * @see RootDeviceType */ public CreateStackRequest withDefaultRootDeviceType( String defaultRootDeviceType) { setDefaultRootDeviceType(defaultRootDeviceType); return this; } /** *

* The default root device type. This value is the default for all instances * in the stack, but you can override it when you create an instance. The * default option is instance-store. For more information, see * Storage for the Root Device. *

* * @param defaultRootDeviceType * The default root device type. This value is the default for all * instances in the stack, but you can override it when you create an * instance. The default option is instance-store. For * more information, see Storage for the Root Device. * @see RootDeviceType */ public void setDefaultRootDeviceType(RootDeviceType defaultRootDeviceType) { this.defaultRootDeviceType = defaultRootDeviceType.toString(); } /** *

* The default root device type. This value is the default for all instances * in the stack, but you can override it when you create an instance. The * default option is instance-store. For more information, see * Storage for the Root Device. *

* * @param defaultRootDeviceType * The default root device type. This value is the default for all * instances in the stack, but you can override it when you create an * instance. The default option is instance-store. For * more information, see Storage for the Root Device. * @return Returns a reference to this object so that method calls can be * chained together. * @see RootDeviceType */ public CreateStackRequest withDefaultRootDeviceType( RootDeviceType defaultRootDeviceType) { setDefaultRootDeviceType(defaultRootDeviceType); return this; } /** *

* The default AWS OpsWorks agent version. You have the following options: *

*
    *
  • *

    * Auto-update - Set this parameter to LATEST. AWS OpsWorks * automatically installs new agent versions on the stack's instances as * soon as they are available. *

    *
  • *
  • *

    * Fixed version - Set this parameter to your preferred agent version. To * update the agent version, you must edit the stack configuration and * specify a new version. AWS OpsWorks then automatically installs that * version on the stack's instances. *

    *
  • *
*

* The default setting is the most recent release of the agent. To specify * an agent version, you must use the complete version number, not the * abbreviated number shown on the console. For a list of available agent * version numbers, call DescribeAgentVersions. *

* *

* You can also specify an agent version when you create or update an * instance, which overrides the stack's default setting. *

*
* * @param agentVersion * The default AWS OpsWorks agent version. You have the following * options:

*
    *
  • *

    * Auto-update - Set this parameter to LATEST. AWS * OpsWorks automatically installs new agent versions on the stack's * instances as soon as they are available. *

    *
  • *
  • *

    * Fixed version - Set this parameter to your preferred agent * version. To update the agent version, you must edit the stack * configuration and specify a new version. AWS OpsWorks then * automatically installs that version on the stack's instances. *

    *
  • *
*

* The default setting is the most recent release of the agent. To * specify an agent version, you must use the complete version * number, not the abbreviated number shown on the console. For a * list of available agent version numbers, call * DescribeAgentVersions. *

* *

* You can also specify an agent version when you create or update an * instance, which overrides the stack's default setting. *

*/ public void setAgentVersion(String agentVersion) { this.agentVersion = agentVersion; } /** *

* The default AWS OpsWorks agent version. You have the following options: *

*
    *
  • *

    * Auto-update - Set this parameter to LATEST. AWS OpsWorks * automatically installs new agent versions on the stack's instances as * soon as they are available. *

    *
  • *
  • *

    * Fixed version - Set this parameter to your preferred agent version. To * update the agent version, you must edit the stack configuration and * specify a new version. AWS OpsWorks then automatically installs that * version on the stack's instances. *

    *
  • *
*

* The default setting is the most recent release of the agent. To specify * an agent version, you must use the complete version number, not the * abbreviated number shown on the console. For a list of available agent * version numbers, call DescribeAgentVersions. *

* *

* You can also specify an agent version when you create or update an * instance, which overrides the stack's default setting. *

*
* * @return The default AWS OpsWorks agent version. You have the following * options:

*
    *
  • *

    * Auto-update - Set this parameter to LATEST. AWS * OpsWorks automatically installs new agent versions on the stack's * instances as soon as they are available. *

    *
  • *
  • *

    * Fixed version - Set this parameter to your preferred agent * version. To update the agent version, you must edit the stack * configuration and specify a new version. AWS OpsWorks then * automatically installs that version on the stack's instances. *

    *
  • *
*

* The default setting is the most recent release of the agent. To * specify an agent version, you must use the complete version * number, not the abbreviated number shown on the console. For a * list of available agent version numbers, call * DescribeAgentVersions. *

* *

* You can also specify an agent version when you create or update * an instance, which overrides the stack's default setting. *

*/ public String getAgentVersion() { return this.agentVersion; } /** *

* The default AWS OpsWorks agent version. You have the following options: *

*
    *
  • *

    * Auto-update - Set this parameter to LATEST. AWS OpsWorks * automatically installs new agent versions on the stack's instances as * soon as they are available. *

    *
  • *
  • *

    * Fixed version - Set this parameter to your preferred agent version. To * update the agent version, you must edit the stack configuration and * specify a new version. AWS OpsWorks then automatically installs that * version on the stack's instances. *

    *
  • *
*

* The default setting is the most recent release of the agent. To specify * an agent version, you must use the complete version number, not the * abbreviated number shown on the console. For a list of available agent * version numbers, call DescribeAgentVersions. *

* *

* You can also specify an agent version when you create or update an * instance, which overrides the stack's default setting. *

*
* * @param agentVersion * The default AWS OpsWorks agent version. You have the following * options:

*
    *
  • *

    * Auto-update - Set this parameter to LATEST. AWS * OpsWorks automatically installs new agent versions on the stack's * instances as soon as they are available. *

    *
  • *
  • *

    * Fixed version - Set this parameter to your preferred agent * version. To update the agent version, you must edit the stack * configuration and specify a new version. AWS OpsWorks then * automatically installs that version on the stack's instances. *

    *
  • *
*

* The default setting is the most recent release of the agent. To * specify an agent version, you must use the complete version * number, not the abbreviated number shown on the console. For a * list of available agent version numbers, call * DescribeAgentVersions. *

* *

* You can also specify an agent version when you create or update an * instance, which overrides the stack's default setting. *

* @return Returns a reference to this object so that method calls can be * chained together. */ public CreateStackRequest withAgentVersion(String agentVersion) { setAgentVersion(agentVersion); 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 (getName() != null) sb.append("Name: " + getName() + ","); if (getRegion() != null) sb.append("Region: " + getRegion() + ","); if (getVpcId() != null) sb.append("VpcId: " + getVpcId() + ","); if (getAttributes() != null) sb.append("Attributes: " + getAttributes() + ","); if (getServiceRoleArn() != null) sb.append("ServiceRoleArn: " + getServiceRoleArn() + ","); if (getDefaultInstanceProfileArn() != null) sb.append("DefaultInstanceProfileArn: " + getDefaultInstanceProfileArn() + ","); if (getDefaultOs() != null) sb.append("DefaultOs: " + getDefaultOs() + ","); if (getHostnameTheme() != null) sb.append("HostnameTheme: " + getHostnameTheme() + ","); if (getDefaultAvailabilityZone() != null) sb.append("DefaultAvailabilityZone: " + getDefaultAvailabilityZone() + ","); if (getDefaultSubnetId() != null) sb.append("DefaultSubnetId: " + getDefaultSubnetId() + ","); if (getCustomJson() != null) sb.append("CustomJson: " + getCustomJson() + ","); if (getConfigurationManager() != null) sb.append("ConfigurationManager: " + getConfigurationManager() + ","); if (getChefConfiguration() != null) sb.append("ChefConfiguration: " + getChefConfiguration() + ","); if (getUseCustomCookbooks() != null) sb.append("UseCustomCookbooks: " + getUseCustomCookbooks() + ","); if (getUseOpsworksSecurityGroups() != null) sb.append("UseOpsworksSecurityGroups: " + getUseOpsworksSecurityGroups() + ","); if (getCustomCookbooksSource() != null) sb.append("CustomCookbooksSource: " + getCustomCookbooksSource() + ","); if (getDefaultSshKeyName() != null) sb.append("DefaultSshKeyName: " + getDefaultSshKeyName() + ","); if (getDefaultRootDeviceType() != null) sb.append("DefaultRootDeviceType: " + getDefaultRootDeviceType() + ","); if (getAgentVersion() != null) sb.append("AgentVersion: " + getAgentVersion()); 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.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getRegion() == null ^ this.getRegion() == null) return false; if (other.getRegion() != null && other.getRegion().equals(this.getRegion()) == false) return false; if (other.getVpcId() == null ^ this.getVpcId() == null) return false; if (other.getVpcId() != null && other.getVpcId().equals(this.getVpcId()) == false) return false; if (other.getAttributes() == null ^ this.getAttributes() == null) return false; if (other.getAttributes() != null && other.getAttributes().equals(this.getAttributes()) == false) return false; if (other.getServiceRoleArn() == null ^ this.getServiceRoleArn() == null) return false; if (other.getServiceRoleArn() != null && other.getServiceRoleArn().equals(this.getServiceRoleArn()) == false) return false; if (other.getDefaultInstanceProfileArn() == null ^ this.getDefaultInstanceProfileArn() == null) return false; if (other.getDefaultInstanceProfileArn() != null && other.getDefaultInstanceProfileArn().equals( this.getDefaultInstanceProfileArn()) == false) return false; if (other.getDefaultOs() == null ^ this.getDefaultOs() == null) return false; if (other.getDefaultOs() != null && other.getDefaultOs().equals(this.getDefaultOs()) == false) return false; if (other.getHostnameTheme() == null ^ this.getHostnameTheme() == null) return false; if (other.getHostnameTheme() != null && other.getHostnameTheme().equals(this.getHostnameTheme()) == false) return false; if (other.getDefaultAvailabilityZone() == null ^ this.getDefaultAvailabilityZone() == null) return false; if (other.getDefaultAvailabilityZone() != null && other.getDefaultAvailabilityZone().equals( this.getDefaultAvailabilityZone()) == false) return false; if (other.getDefaultSubnetId() == null ^ this.getDefaultSubnetId() == null) return false; if (other.getDefaultSubnetId() != null && other.getDefaultSubnetId().equals(this.getDefaultSubnetId()) == false) return false; if (other.getCustomJson() == null ^ this.getCustomJson() == null) return false; if (other.getCustomJson() != null && other.getCustomJson().equals(this.getCustomJson()) == false) return false; if (other.getConfigurationManager() == null ^ this.getConfigurationManager() == null) return false; if (other.getConfigurationManager() != null && other.getConfigurationManager().equals( this.getConfigurationManager()) == false) return false; if (other.getChefConfiguration() == null ^ this.getChefConfiguration() == null) return false; if (other.getChefConfiguration() != null && other.getChefConfiguration().equals( this.getChefConfiguration()) == false) return false; if (other.getUseCustomCookbooks() == null ^ this.getUseCustomCookbooks() == null) return false; if (other.getUseCustomCookbooks() != null && other.getUseCustomCookbooks().equals( this.getUseCustomCookbooks()) == false) return false; if (other.getUseOpsworksSecurityGroups() == null ^ this.getUseOpsworksSecurityGroups() == null) return false; if (other.getUseOpsworksSecurityGroups() != null && other.getUseOpsworksSecurityGroups().equals( this.getUseOpsworksSecurityGroups()) == false) return false; if (other.getCustomCookbooksSource() == null ^ this.getCustomCookbooksSource() == null) return false; if (other.getCustomCookbooksSource() != null && other.getCustomCookbooksSource().equals( this.getCustomCookbooksSource()) == false) return false; if (other.getDefaultSshKeyName() == null ^ this.getDefaultSshKeyName() == null) return false; if (other.getDefaultSshKeyName() != null && other.getDefaultSshKeyName().equals( this.getDefaultSshKeyName()) == false) return false; if (other.getDefaultRootDeviceType() == null ^ this.getDefaultRootDeviceType() == null) return false; if (other.getDefaultRootDeviceType() != null && other.getDefaultRootDeviceType().equals( this.getDefaultRootDeviceType()) == false) return false; if (other.getAgentVersion() == null ^ this.getAgentVersion() == null) return false; if (other.getAgentVersion() != null && other.getAgentVersion().equals(this.getAgentVersion()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getRegion() == null) ? 0 : getRegion().hashCode()); hashCode = prime * hashCode + ((getVpcId() == null) ? 0 : getVpcId().hashCode()); hashCode = prime * hashCode + ((getAttributes() == null) ? 0 : getAttributes().hashCode()); hashCode = prime * hashCode + ((getServiceRoleArn() == null) ? 0 : getServiceRoleArn() .hashCode()); hashCode = prime * hashCode + ((getDefaultInstanceProfileArn() == null) ? 0 : getDefaultInstanceProfileArn().hashCode()); hashCode = prime * hashCode + ((getDefaultOs() == null) ? 0 : getDefaultOs().hashCode()); hashCode = prime * hashCode + ((getHostnameTheme() == null) ? 0 : getHostnameTheme() .hashCode()); hashCode = prime * hashCode + ((getDefaultAvailabilityZone() == null) ? 0 : getDefaultAvailabilityZone().hashCode()); hashCode = prime * hashCode + ((getDefaultSubnetId() == null) ? 0 : getDefaultSubnetId() .hashCode()); hashCode = prime * hashCode + ((getCustomJson() == null) ? 0 : getCustomJson().hashCode()); hashCode = prime * hashCode + ((getConfigurationManager() == null) ? 0 : getConfigurationManager().hashCode()); hashCode = prime * hashCode + ((getChefConfiguration() == null) ? 0 : getChefConfiguration().hashCode()); hashCode = prime * hashCode + ((getUseCustomCookbooks() == null) ? 0 : getUseCustomCookbooks().hashCode()); hashCode = prime * hashCode + ((getUseOpsworksSecurityGroups() == null) ? 0 : getUseOpsworksSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getCustomCookbooksSource() == null) ? 0 : getCustomCookbooksSource().hashCode()); hashCode = prime * hashCode + ((getDefaultSshKeyName() == null) ? 0 : getDefaultSshKeyName().hashCode()); hashCode = prime * hashCode + ((getDefaultRootDeviceType() == null) ? 0 : getDefaultRootDeviceType().hashCode()); hashCode = prime * hashCode + ((getAgentVersion() == null) ? 0 : getAgentVersion() .hashCode()); return hashCode; } @Override public CreateStackRequest clone() { return (CreateStackRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy