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

com.amazonaws.services.autoscaling.model.CreateLaunchConfigurationRequest Maven / Gradle / Ivy

Go to download

The Amazon Web Services 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).

The newest version!
/*
 * Copyright 2010-2014 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.autoscaling.model;

import java.io.Serializable;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * Container for the parameters to the {@link com.amazonaws.services.autoscaling.AmazonAutoScaling#createLaunchConfiguration(CreateLaunchConfigurationRequest) CreateLaunchConfiguration operation}.
 * 

* Creates a new launch configuration. The launch configuration name * must be unique within the scope of the client's AWS account. The * maximum limit of launch configurations, which by default is 100, must * not yet have been met; otherwise, the call will fail. When created, * the new launch configuration is available for immediate use. *

* * @see com.amazonaws.services.autoscaling.AmazonAutoScaling#createLaunchConfiguration(CreateLaunchConfigurationRequest) */ public class CreateLaunchConfigurationRequest extends AmazonWebServiceRequest implements Serializable { /** * The name of the launch configuration to create. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
*/ private String launchConfigurationName; /** * Unique ID of the Amazon Machine Image (AMI) you want to use to launch * your EC2 instances. For information about finding Amazon EC2 AMIs, see * Finding * a Suitable AMI in the Amazon Elastic Compute Cloud User * Guide. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
*/ private String imageId; /** * The name of the Amazon EC2 key pair. For more information, see Getting * a Key Pair in the Amazon Elastic Compute Cloud User Guide. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
*/ private String keyName; /** * The security groups with which to associate Amazon EC2 or Amazon VPC * instances.

If your instances are launched in EC2, you can either * specify Amazon EC2 security group names or the security group IDs. For * more information about Amazon EC2 security groups, see * Using Security Groups in the Amazon Elastic Compute Cloud User * Guide.

If your instances are launched within VPC, specify * Amazon VPC security group IDs. For more information about Amazon VPC * security groups, see Security * Groups in the Amazon Virtual Private Cloud User Guide. */ private com.amazonaws.internal.ListWithAutoConstructFlag securityGroups; /** * The user data to make available to the launched Amazon EC2 instances. * For more information about Amazon EC2 user data, see User * Data Retrieval in the Amazon Elastic Compute Cloud User * Guide. At this time, Auto Scaling launch configurations * don't support compressed (e.g. zipped) user data files. *

* Constraints:
* Length: 0 - 21847
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
*/ private String userData; /** * The ID of the Amazon EC2 instance you want to use to create the launch * configuration. Use this attribute if you want the launch configuration * to derive its attributes from an EC2 instance.

When you use an * instance to create a launch configuration, all you need to specify is * the InstanceId. The new launch configuration, by default, * derives all the attributes from the specified instance with the * exception of BlockDeviceMapping.

If you want to create * a launch configuration with BlockDeviceMapping or * override any other instance attributes, specify them as part of the * same request.

For more information on using an InstanceID to create * a launch configuration, see Create * a Launch Configuration Using an Amazon EC2 Instance in the Auto * Scaling Developer Guide. *

* Constraints:
* Length: 1 - 16
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
*/ private String instanceId; /** * The instance type of the Amazon EC2 instance. For information about * available Amazon EC2 instance types, see * Available Instance Types in the Amazon Elastic Cloud Compute * User Guide. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
*/ private String instanceType; /** * The ID of the kernel associated with the Amazon EC2 AMI. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
*/ private String kernelId; /** * The ID of the RAM disk associated with the Amazon EC2 AMI. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
*/ private String ramdiskId; /** * A list of mappings that specify how block devices are exposed to the * instance. Each mapping is made up of a VirtualName, a * DeviceName, and an ebs data structure that contains * information about the associated Elastic Block Storage volume. For * more information about Amazon EC2 BlockDeviceMappings, go to * Block Device Mapping in the Amazon EC2 product documentation. */ private com.amazonaws.internal.ListWithAutoConstructFlag blockDeviceMappings; /** * Enables detailed monitoring if it is disabled. Detailed monitoring is * enabled by default.

When detailed monitoring is enabled, Amazon * Cloudwatch will generate metrics every minute and your account will be * charged a fee. When you disable detailed monitoring, by specifying * False, Cloudwatch will generate metrics every 5 minutes. * For more information, see Monitor * Your Auto Scaling Instances. For information about Amazon * CloudWatch, see the Amazon * CloudWatch Developer Guide. */ private InstanceMonitoring instanceMonitoring; /** * The maximum hourly price to be paid for any Spot Instance launched to * fulfill the request. Spot Instances are launched when the price you * specify exceeds the current Spot market price. For more information on * launching Spot Instances, see * Using Auto Scaling to Launch Spot Instances in the Auto Scaling * Developer Guide. *

* Constraints:
* Length: 1 - 255
*/ private String spotPrice; /** * The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance.

Amazon EC2 instances * launched with an IAM role will automatically have AWS security * credentials available. You can use IAM roles with Auto Scaling to * automatically enable applications running on your Amazon EC2 instances * to securely access other AWS resources. For information on launching * EC2 instances with an IAM role, go to Launching * Auto Scaling Instances With an IAM Role in the Auto Scaling * Developer Guide. *

* Constraints:
* Length: 1 - 1600
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
*/ private String iamInstanceProfile; /** * Whether the instance is optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization is not available with all instance types. Additional * usage charges apply when using an EBS Optimized instance. By default * the instance is not optimized for EBS I/O. For information about * EBS-optimized instances, go to EBS-Optimized * Instances in the Amazon Elastic Compute Cloud User Guide. */ private Boolean ebsOptimized; /** * Used for Auto Scaling groups that launch instances into an Amazon * Virtual Private Cloud (Amazon VPC). Specifies whether to assign a * public IP address to each instance launched in a Amazon VPC. *

If you specify a value for this parameter, be sure to specify at * least one VPC subnet using the VPCZoneIdentifier parameter when * you create your Auto Scaling group.

Default: If the * instance is launched in default VPC, the default is true. * If the instance is launched in a nondefault VPC (EC2-VPC), the default * is false. For more information about the platforms * supported by Auto Scaling, see Basic * Auto Scaling Configuration. */ private Boolean associatePublicIpAddress; /** * The name of the launch configuration to create. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @return The name of the launch configuration to create. */ public String getLaunchConfigurationName() { return launchConfigurationName; } /** * The name of the launch configuration to create. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param launchConfigurationName The name of the launch configuration to create. */ public void setLaunchConfigurationName(String launchConfigurationName) { this.launchConfigurationName = launchConfigurationName; } /** * The name of the launch configuration to create. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param launchConfigurationName The name of the launch configuration to create. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withLaunchConfigurationName(String launchConfigurationName) { this.launchConfigurationName = launchConfigurationName; return this; } /** * Unique ID of the Amazon Machine Image (AMI) you want to use to launch * your EC2 instances. For information about finding Amazon EC2 AMIs, see * Finding * a Suitable AMI in the Amazon Elastic Compute Cloud User * Guide. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @return Unique ID of the Amazon Machine Image (AMI) you want to use to launch * your EC2 instances. For information about finding Amazon EC2 AMIs, see * Finding * a Suitable AMI in the Amazon Elastic Compute Cloud User * Guide. */ public String getImageId() { return imageId; } /** * Unique ID of the Amazon Machine Image (AMI) you want to use to launch * your EC2 instances. For information about finding Amazon EC2 AMIs, see * Finding * a Suitable AMI in the Amazon Elastic Compute Cloud User * Guide. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param imageId Unique ID of the Amazon Machine Image (AMI) you want to use to launch * your EC2 instances. For information about finding Amazon EC2 AMIs, see * Finding * a Suitable AMI in the Amazon Elastic Compute Cloud User * Guide. */ public void setImageId(String imageId) { this.imageId = imageId; } /** * Unique ID of the Amazon Machine Image (AMI) you want to use to launch * your EC2 instances. For information about finding Amazon EC2 AMIs, see * Finding * a Suitable AMI in the Amazon Elastic Compute Cloud User * Guide. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param imageId Unique ID of the Amazon Machine Image (AMI) you want to use to launch * your EC2 instances. For information about finding Amazon EC2 AMIs, see * Finding * a Suitable AMI in the Amazon Elastic Compute Cloud User * Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withImageId(String imageId) { this.imageId = imageId; return this; } /** * The name of the Amazon EC2 key pair. For more information, see Getting * a Key Pair in the Amazon Elastic Compute Cloud User Guide. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @return The name of the Amazon EC2 key pair. For more information, see Getting * a Key Pair in the Amazon Elastic Compute Cloud User Guide. */ public String getKeyName() { return keyName; } /** * The name of the Amazon EC2 key pair. For more information, see Getting * a Key Pair in the Amazon Elastic Compute Cloud User Guide. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param keyName The name of the Amazon EC2 key pair. For more information, see Getting * a Key Pair in the Amazon Elastic Compute Cloud User Guide. */ public void setKeyName(String keyName) { this.keyName = keyName; } /** * The name of the Amazon EC2 key pair. For more information, see Getting * a Key Pair in the Amazon Elastic Compute Cloud User Guide. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param keyName The name of the Amazon EC2 key pair. For more information, see Getting * a Key Pair in the Amazon Elastic Compute Cloud User Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withKeyName(String keyName) { this.keyName = keyName; return this; } /** * The security groups with which to associate Amazon EC2 or Amazon VPC * instances.

If your instances are launched in EC2, you can either * specify Amazon EC2 security group names or the security group IDs. For * more information about Amazon EC2 security groups, see * Using Security Groups in the Amazon Elastic Compute Cloud User * Guide.

If your instances are launched within VPC, specify * Amazon VPC security group IDs. For more information about Amazon VPC * security groups, see Security * Groups in the Amazon Virtual Private Cloud User Guide. * * @return The security groups with which to associate Amazon EC2 or Amazon VPC * instances.

If your instances are launched in EC2, you can either * specify Amazon EC2 security group names or the security group IDs. For * more information about Amazon EC2 security groups, see * Using Security Groups in the Amazon Elastic Compute Cloud User * Guide.

If your instances are launched within VPC, specify * Amazon VPC security group IDs. For more information about Amazon VPC * security groups, see Security * Groups in the Amazon Virtual Private Cloud User Guide. */ public java.util.List getSecurityGroups() { if (securityGroups == null) { securityGroups = new com.amazonaws.internal.ListWithAutoConstructFlag(); securityGroups.setAutoConstruct(true); } return securityGroups; } /** * The security groups with which to associate Amazon EC2 or Amazon VPC * instances.

If your instances are launched in EC2, you can either * specify Amazon EC2 security group names or the security group IDs. For * more information about Amazon EC2 security groups, see * Using Security Groups in the Amazon Elastic Compute Cloud User * Guide.

If your instances are launched within VPC, specify * Amazon VPC security group IDs. For more information about Amazon VPC * security groups, see Security * Groups in the Amazon Virtual Private Cloud User Guide. * * @param securityGroups The security groups with which to associate Amazon EC2 or Amazon VPC * instances.

If your instances are launched in EC2, you can either * specify Amazon EC2 security group names or the security group IDs. For * more information about Amazon EC2 security groups, see * Using Security Groups in the Amazon Elastic Compute Cloud User * Guide.

If your instances are launched within VPC, specify * Amazon VPC security group IDs. For more information about Amazon VPC * security groups, see Security * Groups in the Amazon Virtual Private Cloud User Guide. */ public void setSecurityGroups(java.util.Collection securityGroups) { if (securityGroups == null) { this.securityGroups = null; return; } com.amazonaws.internal.ListWithAutoConstructFlag securityGroupsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(securityGroups.size()); securityGroupsCopy.addAll(securityGroups); this.securityGroups = securityGroupsCopy; } /** * The security groups with which to associate Amazon EC2 or Amazon VPC * instances.

If your instances are launched in EC2, you can either * specify Amazon EC2 security group names or the security group IDs. For * more information about Amazon EC2 security groups, see * Using Security Groups in the Amazon Elastic Compute Cloud User * Guide.

If your instances are launched within VPC, specify * Amazon VPC security group IDs. For more information about Amazon VPC * security groups, see Security * Groups in the Amazon Virtual Private Cloud User Guide. *

* Returns a reference to this object so that method calls can be chained together. * * @param securityGroups The security groups with which to associate Amazon EC2 or Amazon VPC * instances.

If your instances are launched in EC2, you can either * specify Amazon EC2 security group names or the security group IDs. For * more information about Amazon EC2 security groups, see * Using Security Groups in the Amazon Elastic Compute Cloud User * Guide.

If your instances are launched within VPC, specify * Amazon VPC security group IDs. For more information about Amazon VPC * security groups, see Security * Groups in the Amazon Virtual Private Cloud User Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withSecurityGroups(String... securityGroups) { if (getSecurityGroups() == null) setSecurityGroups(new java.util.ArrayList(securityGroups.length)); for (String value : securityGroups) { getSecurityGroups().add(value); } return this; } /** * The security groups with which to associate Amazon EC2 or Amazon VPC * instances.

If your instances are launched in EC2, you can either * specify Amazon EC2 security group names or the security group IDs. For * more information about Amazon EC2 security groups, see * Using Security Groups in the Amazon Elastic Compute Cloud User * Guide.

If your instances are launched within VPC, specify * Amazon VPC security group IDs. For more information about Amazon VPC * security groups, see Security * Groups in the Amazon Virtual Private Cloud User Guide. *

* Returns a reference to this object so that method calls can be chained together. * * @param securityGroups The security groups with which to associate Amazon EC2 or Amazon VPC * instances.

If your instances are launched in EC2, you can either * specify Amazon EC2 security group names or the security group IDs. For * more information about Amazon EC2 security groups, see * Using Security Groups in the Amazon Elastic Compute Cloud User * Guide.

If your instances are launched within VPC, specify * Amazon VPC security group IDs. For more information about Amazon VPC * security groups, see Security * Groups in the Amazon Virtual Private Cloud User Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withSecurityGroups(java.util.Collection securityGroups) { if (securityGroups == null) { this.securityGroups = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag securityGroupsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(securityGroups.size()); securityGroupsCopy.addAll(securityGroups); this.securityGroups = securityGroupsCopy; } return this; } /** * The user data to make available to the launched Amazon EC2 instances. * For more information about Amazon EC2 user data, see User * Data Retrieval in the Amazon Elastic Compute Cloud User * Guide. At this time, Auto Scaling launch configurations * don't support compressed (e.g. zipped) user data files. *

* Constraints:
* Length: 0 - 21847
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @return The user data to make available to the launched Amazon EC2 instances. * For more information about Amazon EC2 user data, see User * Data Retrieval in the Amazon Elastic Compute Cloud User * Guide. At this time, Auto Scaling launch configurations * don't support compressed (e.g. zipped) user data files. */ public String getUserData() { return userData; } /** * The user data to make available to the launched Amazon EC2 instances. * For more information about Amazon EC2 user data, see User * Data Retrieval in the Amazon Elastic Compute Cloud User * Guide. At this time, Auto Scaling launch configurations * don't support compressed (e.g. zipped) user data files. *

* Constraints:
* Length: 0 - 21847
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param userData The user data to make available to the launched Amazon EC2 instances. * For more information about Amazon EC2 user data, see User * Data Retrieval in the Amazon Elastic Compute Cloud User * Guide. At this time, Auto Scaling launch configurations * don't support compressed (e.g. zipped) user data files. */ public void setUserData(String userData) { this.userData = userData; } /** * The user data to make available to the launched Amazon EC2 instances. * For more information about Amazon EC2 user data, see User * Data Retrieval in the Amazon Elastic Compute Cloud User * Guide. At this time, Auto Scaling launch configurations * don't support compressed (e.g. zipped) user data files. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 0 - 21847
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param userData The user data to make available to the launched Amazon EC2 instances. * For more information about Amazon EC2 user data, see User * Data Retrieval in the Amazon Elastic Compute Cloud User * Guide. At this time, Auto Scaling launch configurations * don't support compressed (e.g. zipped) user data files. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withUserData(String userData) { this.userData = userData; return this; } /** * The ID of the Amazon EC2 instance you want to use to create the launch * configuration. Use this attribute if you want the launch configuration * to derive its attributes from an EC2 instance.

When you use an * instance to create a launch configuration, all you need to specify is * the InstanceId. The new launch configuration, by default, * derives all the attributes from the specified instance with the * exception of BlockDeviceMapping.

If you want to create * a launch configuration with BlockDeviceMapping or * override any other instance attributes, specify them as part of the * same request.

For more information on using an InstanceID to create * a launch configuration, see Create * a Launch Configuration Using an Amazon EC2 Instance in the Auto * Scaling Developer Guide. *

* Constraints:
* Length: 1 - 16
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @return The ID of the Amazon EC2 instance you want to use to create the launch * configuration. Use this attribute if you want the launch configuration * to derive its attributes from an EC2 instance.

When you use an * instance to create a launch configuration, all you need to specify is * the InstanceId. The new launch configuration, by default, * derives all the attributes from the specified instance with the * exception of BlockDeviceMapping.

If you want to create * a launch configuration with BlockDeviceMapping or * override any other instance attributes, specify them as part of the * same request.

For more information on using an InstanceID to create * a launch configuration, see Create * a Launch Configuration Using an Amazon EC2 Instance in the Auto * Scaling Developer Guide. */ public String getInstanceId() { return instanceId; } /** * The ID of the Amazon EC2 instance you want to use to create the launch * configuration. Use this attribute if you want the launch configuration * to derive its attributes from an EC2 instance.

When you use an * instance to create a launch configuration, all you need to specify is * the InstanceId. The new launch configuration, by default, * derives all the attributes from the specified instance with the * exception of BlockDeviceMapping.

If you want to create * a launch configuration with BlockDeviceMapping or * override any other instance attributes, specify them as part of the * same request.

For more information on using an InstanceID to create * a launch configuration, see Create * a Launch Configuration Using an Amazon EC2 Instance in the Auto * Scaling Developer Guide. *

* Constraints:
* Length: 1 - 16
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param instanceId The ID of the Amazon EC2 instance you want to use to create the launch * configuration. Use this attribute if you want the launch configuration * to derive its attributes from an EC2 instance.

When you use an * instance to create a launch configuration, all you need to specify is * the InstanceId. The new launch configuration, by default, * derives all the attributes from the specified instance with the * exception of BlockDeviceMapping.

If you want to create * a launch configuration with BlockDeviceMapping or * override any other instance attributes, specify them as part of the * same request.

For more information on using an InstanceID to create * a launch configuration, see Create * a Launch Configuration Using an Amazon EC2 Instance in the Auto * Scaling Developer Guide. */ public void setInstanceId(String instanceId) { this.instanceId = instanceId; } /** * The ID of the Amazon EC2 instance you want to use to create the launch * configuration. Use this attribute if you want the launch configuration * to derive its attributes from an EC2 instance.

When you use an * instance to create a launch configuration, all you need to specify is * the InstanceId. The new launch configuration, by default, * derives all the attributes from the specified instance with the * exception of BlockDeviceMapping.

If you want to create * a launch configuration with BlockDeviceMapping or * override any other instance attributes, specify them as part of the * same request.

For more information on using an InstanceID to create * a launch configuration, see Create * a Launch Configuration Using an Amazon EC2 Instance in the Auto * Scaling Developer Guide. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 16
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param instanceId The ID of the Amazon EC2 instance you want to use to create the launch * configuration. Use this attribute if you want the launch configuration * to derive its attributes from an EC2 instance.

When you use an * instance to create a launch configuration, all you need to specify is * the InstanceId. The new launch configuration, by default, * derives all the attributes from the specified instance with the * exception of BlockDeviceMapping.

If you want to create * a launch configuration with BlockDeviceMapping or * override any other instance attributes, specify them as part of the * same request.

For more information on using an InstanceID to create * a launch configuration, see Create * a Launch Configuration Using an Amazon EC2 Instance in the Auto * Scaling Developer Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withInstanceId(String instanceId) { this.instanceId = instanceId; return this; } /** * The instance type of the Amazon EC2 instance. For information about * available Amazon EC2 instance types, see * Available Instance Types in the Amazon Elastic Cloud Compute * User Guide. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @return The instance type of the Amazon EC2 instance. For information about * available Amazon EC2 instance types, see * Available Instance Types in the Amazon Elastic Cloud Compute * User Guide. */ public String getInstanceType() { return instanceType; } /** * The instance type of the Amazon EC2 instance. For information about * available Amazon EC2 instance types, see * Available Instance Types in the Amazon Elastic Cloud Compute * User Guide. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param instanceType The instance type of the Amazon EC2 instance. For information about * available Amazon EC2 instance types, see * Available Instance Types in the Amazon Elastic Cloud Compute * User Guide. */ public void setInstanceType(String instanceType) { this.instanceType = instanceType; } /** * The instance type of the Amazon EC2 instance. For information about * available Amazon EC2 instance types, see * Available Instance Types in the Amazon Elastic Cloud Compute * User Guide. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param instanceType The instance type of the Amazon EC2 instance. For information about * available Amazon EC2 instance types, see * Available Instance Types in the Amazon Elastic Cloud Compute * User Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withInstanceType(String instanceType) { this.instanceType = instanceType; return this; } /** * The ID of the kernel associated with the Amazon EC2 AMI. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @return The ID of the kernel associated with the Amazon EC2 AMI. */ public String getKernelId() { return kernelId; } /** * The ID of the kernel associated with the Amazon EC2 AMI. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param kernelId The ID of the kernel associated with the Amazon EC2 AMI. */ public void setKernelId(String kernelId) { this.kernelId = kernelId; } /** * The ID of the kernel associated with the Amazon EC2 AMI. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param kernelId The ID of the kernel associated with the Amazon EC2 AMI. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withKernelId(String kernelId) { this.kernelId = kernelId; return this; } /** * The ID of the RAM disk associated with the Amazon EC2 AMI. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @return The ID of the RAM disk associated with the Amazon EC2 AMI. */ public String getRamdiskId() { return ramdiskId; } /** * The ID of the RAM disk associated with the Amazon EC2 AMI. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param ramdiskId The ID of the RAM disk associated with the Amazon EC2 AMI. */ public void setRamdiskId(String ramdiskId) { this.ramdiskId = ramdiskId; } /** * The ID of the RAM disk associated with the Amazon EC2 AMI. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 255
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param ramdiskId The ID of the RAM disk associated with the Amazon EC2 AMI. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withRamdiskId(String ramdiskId) { this.ramdiskId = ramdiskId; return this; } /** * A list of mappings that specify how block devices are exposed to the * instance. Each mapping is made up of a VirtualName, a * DeviceName, and an ebs data structure that contains * information about the associated Elastic Block Storage volume. For * more information about Amazon EC2 BlockDeviceMappings, go to * Block Device Mapping in the Amazon EC2 product documentation. * * @return A list of mappings that specify how block devices are exposed to the * instance. Each mapping is made up of a VirtualName, a * DeviceName, and an ebs data structure that contains * information about the associated Elastic Block Storage volume. For * more information about Amazon EC2 BlockDeviceMappings, go to * Block Device Mapping in the Amazon EC2 product documentation. */ public java.util.List getBlockDeviceMappings() { if (blockDeviceMappings == null) { blockDeviceMappings = new com.amazonaws.internal.ListWithAutoConstructFlag(); blockDeviceMappings.setAutoConstruct(true); } return blockDeviceMappings; } /** * A list of mappings that specify how block devices are exposed to the * instance. Each mapping is made up of a VirtualName, a * DeviceName, and an ebs data structure that contains * information about the associated Elastic Block Storage volume. For * more information about Amazon EC2 BlockDeviceMappings, go to * Block Device Mapping in the Amazon EC2 product documentation. * * @param blockDeviceMappings A list of mappings that specify how block devices are exposed to the * instance. Each mapping is made up of a VirtualName, a * DeviceName, and an ebs data structure that contains * information about the associated Elastic Block Storage volume. For * more information about Amazon EC2 BlockDeviceMappings, go to * Block Device Mapping in the Amazon EC2 product documentation. */ public void setBlockDeviceMappings(java.util.Collection blockDeviceMappings) { if (blockDeviceMappings == null) { this.blockDeviceMappings = null; return; } com.amazonaws.internal.ListWithAutoConstructFlag blockDeviceMappingsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(blockDeviceMappings.size()); blockDeviceMappingsCopy.addAll(blockDeviceMappings); this.blockDeviceMappings = blockDeviceMappingsCopy; } /** * A list of mappings that specify how block devices are exposed to the * instance. Each mapping is made up of a VirtualName, a * DeviceName, and an ebs data structure that contains * information about the associated Elastic Block Storage volume. For * more information about Amazon EC2 BlockDeviceMappings, go to * Block Device Mapping in the Amazon EC2 product documentation. *

* Returns a reference to this object so that method calls can be chained together. * * @param blockDeviceMappings A list of mappings that specify how block devices are exposed to the * instance. Each mapping is made up of a VirtualName, a * DeviceName, and an ebs data structure that contains * information about the associated Elastic Block Storage volume. For * more information about Amazon EC2 BlockDeviceMappings, go to * Block Device Mapping in the Amazon EC2 product documentation. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withBlockDeviceMappings(BlockDeviceMapping... blockDeviceMappings) { if (getBlockDeviceMappings() == null) setBlockDeviceMappings(new java.util.ArrayList(blockDeviceMappings.length)); for (BlockDeviceMapping value : blockDeviceMappings) { getBlockDeviceMappings().add(value); } return this; } /** * A list of mappings that specify how block devices are exposed to the * instance. Each mapping is made up of a VirtualName, a * DeviceName, and an ebs data structure that contains * information about the associated Elastic Block Storage volume. For * more information about Amazon EC2 BlockDeviceMappings, go to * Block Device Mapping in the Amazon EC2 product documentation. *

* Returns a reference to this object so that method calls can be chained together. * * @param blockDeviceMappings A list of mappings that specify how block devices are exposed to the * instance. Each mapping is made up of a VirtualName, a * DeviceName, and an ebs data structure that contains * information about the associated Elastic Block Storage volume. For * more information about Amazon EC2 BlockDeviceMappings, go to * Block Device Mapping in the Amazon EC2 product documentation. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withBlockDeviceMappings(java.util.Collection blockDeviceMappings) { if (blockDeviceMappings == null) { this.blockDeviceMappings = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag blockDeviceMappingsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(blockDeviceMappings.size()); blockDeviceMappingsCopy.addAll(blockDeviceMappings); this.blockDeviceMappings = blockDeviceMappingsCopy; } return this; } /** * Enables detailed monitoring if it is disabled. Detailed monitoring is * enabled by default.

When detailed monitoring is enabled, Amazon * Cloudwatch will generate metrics every minute and your account will be * charged a fee. When you disable detailed monitoring, by specifying * False, Cloudwatch will generate metrics every 5 minutes. * For more information, see Monitor * Your Auto Scaling Instances. For information about Amazon * CloudWatch, see the Amazon * CloudWatch Developer Guide. * * @return Enables detailed monitoring if it is disabled. Detailed monitoring is * enabled by default.

When detailed monitoring is enabled, Amazon * Cloudwatch will generate metrics every minute and your account will be * charged a fee. When you disable detailed monitoring, by specifying * False, Cloudwatch will generate metrics every 5 minutes. * For more information, see Monitor * Your Auto Scaling Instances. For information about Amazon * CloudWatch, see the Amazon * CloudWatch Developer Guide. */ public InstanceMonitoring getInstanceMonitoring() { return instanceMonitoring; } /** * Enables detailed monitoring if it is disabled. Detailed monitoring is * enabled by default.

When detailed monitoring is enabled, Amazon * Cloudwatch will generate metrics every minute and your account will be * charged a fee. When you disable detailed monitoring, by specifying * False, Cloudwatch will generate metrics every 5 minutes. * For more information, see Monitor * Your Auto Scaling Instances. For information about Amazon * CloudWatch, see the Amazon * CloudWatch Developer Guide. * * @param instanceMonitoring Enables detailed monitoring if it is disabled. Detailed monitoring is * enabled by default.

When detailed monitoring is enabled, Amazon * Cloudwatch will generate metrics every minute and your account will be * charged a fee. When you disable detailed monitoring, by specifying * False, Cloudwatch will generate metrics every 5 minutes. * For more information, see Monitor * Your Auto Scaling Instances. For information about Amazon * CloudWatch, see the Amazon * CloudWatch Developer Guide. */ public void setInstanceMonitoring(InstanceMonitoring instanceMonitoring) { this.instanceMonitoring = instanceMonitoring; } /** * Enables detailed monitoring if it is disabled. Detailed monitoring is * enabled by default.

When detailed monitoring is enabled, Amazon * Cloudwatch will generate metrics every minute and your account will be * charged a fee. When you disable detailed monitoring, by specifying * False, Cloudwatch will generate metrics every 5 minutes. * For more information, see Monitor * Your Auto Scaling Instances. For information about Amazon * CloudWatch, see the Amazon * CloudWatch Developer Guide. *

* Returns a reference to this object so that method calls can be chained together. * * @param instanceMonitoring Enables detailed monitoring if it is disabled. Detailed monitoring is * enabled by default.

When detailed monitoring is enabled, Amazon * Cloudwatch will generate metrics every minute and your account will be * charged a fee. When you disable detailed monitoring, by specifying * False, Cloudwatch will generate metrics every 5 minutes. * For more information, see Monitor * Your Auto Scaling Instances. For information about Amazon * CloudWatch, see the Amazon * CloudWatch Developer Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withInstanceMonitoring(InstanceMonitoring instanceMonitoring) { this.instanceMonitoring = instanceMonitoring; return this; } /** * The maximum hourly price to be paid for any Spot Instance launched to * fulfill the request. Spot Instances are launched when the price you * specify exceeds the current Spot market price. For more information on * launching Spot Instances, see * Using Auto Scaling to Launch Spot Instances in the Auto Scaling * Developer Guide. *

* Constraints:
* Length: 1 - 255
* * @return The maximum hourly price to be paid for any Spot Instance launched to * fulfill the request. Spot Instances are launched when the price you * specify exceeds the current Spot market price. For more information on * launching Spot Instances, see * Using Auto Scaling to Launch Spot Instances in the Auto Scaling * Developer Guide. */ public String getSpotPrice() { return spotPrice; } /** * The maximum hourly price to be paid for any Spot Instance launched to * fulfill the request. Spot Instances are launched when the price you * specify exceeds the current Spot market price. For more information on * launching Spot Instances, see * Using Auto Scaling to Launch Spot Instances in the Auto Scaling * Developer Guide. *

* Constraints:
* Length: 1 - 255
* * @param spotPrice The maximum hourly price to be paid for any Spot Instance launched to * fulfill the request. Spot Instances are launched when the price you * specify exceeds the current Spot market price. For more information on * launching Spot Instances, see * Using Auto Scaling to Launch Spot Instances in the Auto Scaling * Developer Guide. */ public void setSpotPrice(String spotPrice) { this.spotPrice = spotPrice; } /** * The maximum hourly price to be paid for any Spot Instance launched to * fulfill the request. Spot Instances are launched when the price you * specify exceeds the current Spot market price. For more information on * launching Spot Instances, see * Using Auto Scaling to Launch Spot Instances in the Auto Scaling * Developer Guide. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 255
* * @param spotPrice The maximum hourly price to be paid for any Spot Instance launched to * fulfill the request. Spot Instances are launched when the price you * specify exceeds the current Spot market price. For more information on * launching Spot Instances, see * Using Auto Scaling to Launch Spot Instances in the Auto Scaling * Developer Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withSpotPrice(String spotPrice) { this.spotPrice = spotPrice; return this; } /** * The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance.

Amazon EC2 instances * launched with an IAM role will automatically have AWS security * credentials available. You can use IAM roles with Auto Scaling to * automatically enable applications running on your Amazon EC2 instances * to securely access other AWS resources. For information on launching * EC2 instances with an IAM role, go to Launching * Auto Scaling Instances With an IAM Role in the Auto Scaling * Developer Guide. *

* Constraints:
* Length: 1 - 1600
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @return The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance.

Amazon EC2 instances * launched with an IAM role will automatically have AWS security * credentials available. You can use IAM roles with Auto Scaling to * automatically enable applications running on your Amazon EC2 instances * to securely access other AWS resources. For information on launching * EC2 instances with an IAM role, go to Launching * Auto Scaling Instances With an IAM Role in the Auto Scaling * Developer Guide. */ public String getIamInstanceProfile() { return iamInstanceProfile; } /** * The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance.

Amazon EC2 instances * launched with an IAM role will automatically have AWS security * credentials available. You can use IAM roles with Auto Scaling to * automatically enable applications running on your Amazon EC2 instances * to securely access other AWS resources. For information on launching * EC2 instances with an IAM role, go to Launching * Auto Scaling Instances With an IAM Role in the Auto Scaling * Developer Guide. *

* Constraints:
* Length: 1 - 1600
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param iamInstanceProfile The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance.

Amazon EC2 instances * launched with an IAM role will automatically have AWS security * credentials available. You can use IAM roles with Auto Scaling to * automatically enable applications running on your Amazon EC2 instances * to securely access other AWS resources. For information on launching * EC2 instances with an IAM role, go to Launching * Auto Scaling Instances With an IAM Role in the Auto Scaling * Developer Guide. */ public void setIamInstanceProfile(String iamInstanceProfile) { this.iamInstanceProfile = iamInstanceProfile; } /** * The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance.

Amazon EC2 instances * launched with an IAM role will automatically have AWS security * credentials available. You can use IAM roles with Auto Scaling to * automatically enable applications running on your Amazon EC2 instances * to securely access other AWS resources. For information on launching * EC2 instances with an IAM role, go to Launching * Auto Scaling Instances With an IAM Role in the Auto Scaling * Developer Guide. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 1600
* Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
* * @param iamInstanceProfile The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance.

Amazon EC2 instances * launched with an IAM role will automatically have AWS security * credentials available. You can use IAM roles with Auto Scaling to * automatically enable applications running on your Amazon EC2 instances * to securely access other AWS resources. For information on launching * EC2 instances with an IAM role, go to Launching * Auto Scaling Instances With an IAM Role in the Auto Scaling * Developer Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withIamInstanceProfile(String iamInstanceProfile) { this.iamInstanceProfile = iamInstanceProfile; return this; } /** * Whether the instance is optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization is not available with all instance types. Additional * usage charges apply when using an EBS Optimized instance. By default * the instance is not optimized for EBS I/O. For information about * EBS-optimized instances, go to EBS-Optimized * Instances in the Amazon Elastic Compute Cloud User Guide. * * @return Whether the instance is optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization is not available with all instance types. Additional * usage charges apply when using an EBS Optimized instance. By default * the instance is not optimized for EBS I/O. For information about * EBS-optimized instances, go to EBS-Optimized * Instances in the Amazon Elastic Compute Cloud User Guide. */ public Boolean isEbsOptimized() { return ebsOptimized; } /** * Whether the instance is optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization is not available with all instance types. Additional * usage charges apply when using an EBS Optimized instance. By default * the instance is not optimized for EBS I/O. For information about * EBS-optimized instances, go to EBS-Optimized * Instances in the Amazon Elastic Compute Cloud User Guide. * * @param ebsOptimized Whether the instance is optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization is not available with all instance types. Additional * usage charges apply when using an EBS Optimized instance. By default * the instance is not optimized for EBS I/O. For information about * EBS-optimized instances, go to EBS-Optimized * Instances in the Amazon Elastic Compute Cloud User Guide. */ public void setEbsOptimized(Boolean ebsOptimized) { this.ebsOptimized = ebsOptimized; } /** * Whether the instance is optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization is not available with all instance types. Additional * usage charges apply when using an EBS Optimized instance. By default * the instance is not optimized for EBS I/O. For information about * EBS-optimized instances, go to EBS-Optimized * Instances in the Amazon Elastic Compute Cloud User Guide. *

* Returns a reference to this object so that method calls can be chained together. * * @param ebsOptimized Whether the instance is optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization is not available with all instance types. Additional * usage charges apply when using an EBS Optimized instance. By default * the instance is not optimized for EBS I/O. For information about * EBS-optimized instances, go to EBS-Optimized * Instances in the Amazon Elastic Compute Cloud User Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withEbsOptimized(Boolean ebsOptimized) { this.ebsOptimized = ebsOptimized; return this; } /** * Whether the instance is optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization is not available with all instance types. Additional * usage charges apply when using an EBS Optimized instance. By default * the instance is not optimized for EBS I/O. For information about * EBS-optimized instances, go to EBS-Optimized * Instances in the Amazon Elastic Compute Cloud User Guide. * * @return Whether the instance is optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization is not available with all instance types. Additional * usage charges apply when using an EBS Optimized instance. By default * the instance is not optimized for EBS I/O. For information about * EBS-optimized instances, go to EBS-Optimized * Instances in the Amazon Elastic Compute Cloud User Guide. */ public Boolean getEbsOptimized() { return ebsOptimized; } /** * Used for Auto Scaling groups that launch instances into an Amazon * Virtual Private Cloud (Amazon VPC). Specifies whether to assign a * public IP address to each instance launched in a Amazon VPC. *

If you specify a value for this parameter, be sure to specify at * least one VPC subnet using the VPCZoneIdentifier parameter when * you create your Auto Scaling group.

Default: If the * instance is launched in default VPC, the default is true. * If the instance is launched in a nondefault VPC (EC2-VPC), the default * is false. For more information about the platforms * supported by Auto Scaling, see Basic * Auto Scaling Configuration. * * @return Used for Auto Scaling groups that launch instances into an Amazon * Virtual Private Cloud (Amazon VPC). Specifies whether to assign a * public IP address to each instance launched in a Amazon VPC. *

If you specify a value for this parameter, be sure to specify at * least one VPC subnet using the VPCZoneIdentifier parameter when * you create your Auto Scaling group.

Default: If the * instance is launched in default VPC, the default is true. * If the instance is launched in a nondefault VPC (EC2-VPC), the default * is false. For more information about the platforms * supported by Auto Scaling, see Basic * Auto Scaling Configuration. */ public Boolean isAssociatePublicIpAddress() { return associatePublicIpAddress; } /** * Used for Auto Scaling groups that launch instances into an Amazon * Virtual Private Cloud (Amazon VPC). Specifies whether to assign a * public IP address to each instance launched in a Amazon VPC. *

If you specify a value for this parameter, be sure to specify at * least one VPC subnet using the VPCZoneIdentifier parameter when * you create your Auto Scaling group.

Default: If the * instance is launched in default VPC, the default is true. * If the instance is launched in a nondefault VPC (EC2-VPC), the default * is false. For more information about the platforms * supported by Auto Scaling, see Basic * Auto Scaling Configuration. * * @param associatePublicIpAddress Used for Auto Scaling groups that launch instances into an Amazon * Virtual Private Cloud (Amazon VPC). Specifies whether to assign a * public IP address to each instance launched in a Amazon VPC. *

If you specify a value for this parameter, be sure to specify at * least one VPC subnet using the VPCZoneIdentifier parameter when * you create your Auto Scaling group.

Default: If the * instance is launched in default VPC, the default is true. * If the instance is launched in a nondefault VPC (EC2-VPC), the default * is false. For more information about the platforms * supported by Auto Scaling, see Basic * Auto Scaling Configuration. */ public void setAssociatePublicIpAddress(Boolean associatePublicIpAddress) { this.associatePublicIpAddress = associatePublicIpAddress; } /** * Used for Auto Scaling groups that launch instances into an Amazon * Virtual Private Cloud (Amazon VPC). Specifies whether to assign a * public IP address to each instance launched in a Amazon VPC. *

If you specify a value for this parameter, be sure to specify at * least one VPC subnet using the VPCZoneIdentifier parameter when * you create your Auto Scaling group.

Default: If the * instance is launched in default VPC, the default is true. * If the instance is launched in a nondefault VPC (EC2-VPC), the default * is false. For more information about the platforms * supported by Auto Scaling, see Basic * Auto Scaling Configuration. *

* Returns a reference to this object so that method calls can be chained together. * * @param associatePublicIpAddress Used for Auto Scaling groups that launch instances into an Amazon * Virtual Private Cloud (Amazon VPC). Specifies whether to assign a * public IP address to each instance launched in a Amazon VPC. *

If you specify a value for this parameter, be sure to specify at * least one VPC subnet using the VPCZoneIdentifier parameter when * you create your Auto Scaling group.

Default: If the * instance is launched in default VPC, the default is true. * If the instance is launched in a nondefault VPC (EC2-VPC), the default * is false. For more information about the platforms * supported by Auto Scaling, see Basic * Auto Scaling Configuration. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateLaunchConfigurationRequest withAssociatePublicIpAddress(Boolean associatePublicIpAddress) { this.associatePublicIpAddress = associatePublicIpAddress; return this; } /** * Used for Auto Scaling groups that launch instances into an Amazon * Virtual Private Cloud (Amazon VPC). Specifies whether to assign a * public IP address to each instance launched in a Amazon VPC. *

If you specify a value for this parameter, be sure to specify at * least one VPC subnet using the VPCZoneIdentifier parameter when * you create your Auto Scaling group.

Default: If the * instance is launched in default VPC, the default is true. * If the instance is launched in a nondefault VPC (EC2-VPC), the default * is false. For more information about the platforms * supported by Auto Scaling, see Basic * Auto Scaling Configuration. * * @return Used for Auto Scaling groups that launch instances into an Amazon * Virtual Private Cloud (Amazon VPC). Specifies whether to assign a * public IP address to each instance launched in a Amazon VPC. *

If you specify a value for this parameter, be sure to specify at * least one VPC subnet using the VPCZoneIdentifier parameter when * you create your Auto Scaling group.

Default: If the * instance is launched in default VPC, the default is true. * If the instance is launched in a nondefault VPC (EC2-VPC), the default * is false. For more information about the platforms * supported by Auto Scaling, see Basic * Auto Scaling Configuration. */ public Boolean getAssociatePublicIpAddress() { return associatePublicIpAddress; } /** * 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 (getLaunchConfigurationName() != null) sb.append("LaunchConfigurationName: " + getLaunchConfigurationName() + ","); if (getImageId() != null) sb.append("ImageId: " + getImageId() + ","); if (getKeyName() != null) sb.append("KeyName: " + getKeyName() + ","); if (getSecurityGroups() != null) sb.append("SecurityGroups: " + getSecurityGroups() + ","); if (getUserData() != null) sb.append("UserData: " + getUserData() + ","); if (getInstanceId() != null) sb.append("InstanceId: " + getInstanceId() + ","); if (getInstanceType() != null) sb.append("InstanceType: " + getInstanceType() + ","); if (getKernelId() != null) sb.append("KernelId: " + getKernelId() + ","); if (getRamdiskId() != null) sb.append("RamdiskId: " + getRamdiskId() + ","); if (getBlockDeviceMappings() != null) sb.append("BlockDeviceMappings: " + getBlockDeviceMappings() + ","); if (getInstanceMonitoring() != null) sb.append("InstanceMonitoring: " + getInstanceMonitoring() + ","); if (getSpotPrice() != null) sb.append("SpotPrice: " + getSpotPrice() + ","); if (getIamInstanceProfile() != null) sb.append("IamInstanceProfile: " + getIamInstanceProfile() + ","); if (isEbsOptimized() != null) sb.append("EbsOptimized: " + isEbsOptimized() + ","); if (isAssociatePublicIpAddress() != null) sb.append("AssociatePublicIpAddress: " + isAssociatePublicIpAddress() ); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getLaunchConfigurationName() == null) ? 0 : getLaunchConfigurationName().hashCode()); hashCode = prime * hashCode + ((getImageId() == null) ? 0 : getImageId().hashCode()); hashCode = prime * hashCode + ((getKeyName() == null) ? 0 : getKeyName().hashCode()); hashCode = prime * hashCode + ((getSecurityGroups() == null) ? 0 : getSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getUserData() == null) ? 0 : getUserData().hashCode()); hashCode = prime * hashCode + ((getInstanceId() == null) ? 0 : getInstanceId().hashCode()); hashCode = prime * hashCode + ((getInstanceType() == null) ? 0 : getInstanceType().hashCode()); hashCode = prime * hashCode + ((getKernelId() == null) ? 0 : getKernelId().hashCode()); hashCode = prime * hashCode + ((getRamdiskId() == null) ? 0 : getRamdiskId().hashCode()); hashCode = prime * hashCode + ((getBlockDeviceMappings() == null) ? 0 : getBlockDeviceMappings().hashCode()); hashCode = prime * hashCode + ((getInstanceMonitoring() == null) ? 0 : getInstanceMonitoring().hashCode()); hashCode = prime * hashCode + ((getSpotPrice() == null) ? 0 : getSpotPrice().hashCode()); hashCode = prime * hashCode + ((getIamInstanceProfile() == null) ? 0 : getIamInstanceProfile().hashCode()); hashCode = prime * hashCode + ((isEbsOptimized() == null) ? 0 : isEbsOptimized().hashCode()); hashCode = prime * hashCode + ((isAssociatePublicIpAddress() == null) ? 0 : isAssociatePublicIpAddress().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateLaunchConfigurationRequest == false) return false; CreateLaunchConfigurationRequest other = (CreateLaunchConfigurationRequest)obj; if (other.getLaunchConfigurationName() == null ^ this.getLaunchConfigurationName() == null) return false; if (other.getLaunchConfigurationName() != null && other.getLaunchConfigurationName().equals(this.getLaunchConfigurationName()) == false) return false; if (other.getImageId() == null ^ this.getImageId() == null) return false; if (other.getImageId() != null && other.getImageId().equals(this.getImageId()) == false) return false; if (other.getKeyName() == null ^ this.getKeyName() == null) return false; if (other.getKeyName() != null && other.getKeyName().equals(this.getKeyName()) == false) return false; if (other.getSecurityGroups() == null ^ this.getSecurityGroups() == null) return false; if (other.getSecurityGroups() != null && other.getSecurityGroups().equals(this.getSecurityGroups()) == false) return false; if (other.getUserData() == null ^ this.getUserData() == null) return false; if (other.getUserData() != null && other.getUserData().equals(this.getUserData()) == false) return false; if (other.getInstanceId() == null ^ this.getInstanceId() == null) return false; if (other.getInstanceId() != null && other.getInstanceId().equals(this.getInstanceId()) == false) return false; if (other.getInstanceType() == null ^ this.getInstanceType() == null) return false; if (other.getInstanceType() != null && other.getInstanceType().equals(this.getInstanceType()) == false) return false; if (other.getKernelId() == null ^ this.getKernelId() == null) return false; if (other.getKernelId() != null && other.getKernelId().equals(this.getKernelId()) == false) return false; if (other.getRamdiskId() == null ^ this.getRamdiskId() == null) return false; if (other.getRamdiskId() != null && other.getRamdiskId().equals(this.getRamdiskId()) == false) return false; if (other.getBlockDeviceMappings() == null ^ this.getBlockDeviceMappings() == null) return false; if (other.getBlockDeviceMappings() != null && other.getBlockDeviceMappings().equals(this.getBlockDeviceMappings()) == false) return false; if (other.getInstanceMonitoring() == null ^ this.getInstanceMonitoring() == null) return false; if (other.getInstanceMonitoring() != null && other.getInstanceMonitoring().equals(this.getInstanceMonitoring()) == false) return false; if (other.getSpotPrice() == null ^ this.getSpotPrice() == null) return false; if (other.getSpotPrice() != null && other.getSpotPrice().equals(this.getSpotPrice()) == false) return false; if (other.getIamInstanceProfile() == null ^ this.getIamInstanceProfile() == null) return false; if (other.getIamInstanceProfile() != null && other.getIamInstanceProfile().equals(this.getIamInstanceProfile()) == false) return false; if (other.isEbsOptimized() == null ^ this.isEbsOptimized() == null) return false; if (other.isEbsOptimized() != null && other.isEbsOptimized().equals(this.isEbsOptimized()) == false) return false; if (other.isAssociatePublicIpAddress() == null ^ this.isAssociatePublicIpAddress() == null) return false; if (other.isAssociatePublicIpAddress() != null && other.isAssociatePublicIpAddress().equals(this.isAssociatePublicIpAddress()) == false) return false; return true; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy