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

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

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

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

    /**
     * 

* The name of the launch configuration. This name must be unique within the * scope of your AWS account. *

*/ private String launchConfigurationName; /** *

* The ID of the Amazon Machine Image (AMI) to use to launch your EC2 * instances. For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User * Guide. *

*/ private String imageId; /** *

* The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud User * Guide. *

*/ private String keyName; /** *

* One or more security groups with which to associate the instances. *

*

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

*

* If your instances are launched into a VPC, specify security group IDs. * For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud * User Guide. *

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

* The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances * to. This parameter is supported only if you are launching EC2-Classic * instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. *

*/ private String classicLinkVPCId; /** *

* The IDs of one or more security groups for the specified * ClassicLink-enabled VPC. This parameter is required if you specify a * ClassicLink-enabled VPC, and is not supported otherwise. For more * information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. *

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

* The user data to make available to the launched EC2 instances. For more * information, see Instance Metadata and User Data in the Amazon Elastic Compute * Cloud User Guide. *

*/ private String userData; /** *

* The ID of the instance to use to create the launch configuration. *

*

* The new launch configuration derives attributes from the instance, with * the exception of the block device mapping. *

*

* To create a launch configuration with a block device mapping or override * any other instance attributes, specify them as part of the same request. *

*

* For more information, see Create a Launch Configuration Using an EC2 Instance in the Auto * Scaling Developer Guide. *

*/ private String instanceId; /** *

* The instance type of the EC2 instance. For information about available * instance types, see Available Instance Types in the Amazon Elastic Compute Cloud * User Guide. *

*/ private String instanceType; /** *

* The ID of the kernel associated with the AMI. *

*/ private String kernelId; /** *

* The ID of the RAM disk associated with the AMI. *

*/ private String ramdiskId; /** *

* One or more mappings that specify how block devices are exposed to the * instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud User * Guide. *

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

* Enables detailed monitoring if it is disabled. Detailed monitoring is * enabled by default. *

*

* When detailed monitoring is enabled, Amazon CloudWatch generates metrics * every minute and your account is charged a fee. When you disable detailed * monitoring, by specifying False, CloudWatch generates * metrics every 5 minutes. For more information, see Monitoring Your Auto Scaling Instances and Groups in the Auto * Scaling 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, see * Launching Spot Instances in Your Auto Scaling Group in the Auto * Scaling Developer Guide. *

*/ private String spotPrice; /** *

* The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance. *

*

* 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 EC2 instances to * securely access other AWS resources. For more information, see Launch Auto Scaling Instances with an IAM Role in the Auto * Scaling Developer Guide. *

*/ private String iamInstanceProfile; /** *

* Indicates whether the instance is optimized for Amazon EBS I/O. By * default, the instance is not optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal I/O performance. This optimization * is not available with all instance types. Additional usage charges apply. * For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic Compute * Cloud User Guide. *

*/ private Boolean ebsOptimized; /** *

* Used for groups that launch instances into a virtual private cloud (VPC). * Specifies whether to assign a public IP address to each instance. For * more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling * Developer Guide. *

*

* If you specify this parameter, be sure to specify at least one subnet * when you create your group. *

*

* Default: If the instance is launched into a default subnet, the default * is true. If the instance is launched into a nondefault * subnet, the default is false. For more information, see Supported Platforms in the Amazon Elastic Compute Cloud User * Guide. *

*/ private Boolean associatePublicIpAddress; /** *

* The tenancy of the instance. An instance with a tenancy of * dedicated runs on single-tenant hardware and can only be * launched into a VPC. *

*

* You must set the value of this parameter to dedicated if * want to launch Dedicated Instances into a shared tenancy VPC (VPC with * instance placement tenancy attribute set to default). *

*

* If you specify this parameter, be sure to specify at least one subnet * when you create your group. *

*

* For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling * Developer Guide. *

*

* Valid values: default | dedicated *

*/ private String placementTenancy; /** *

* The name of the launch configuration. This name must be unique within the * scope of your AWS account. *

* * @param launchConfigurationName * The name of the launch configuration. This name must be unique * within the scope of your AWS account. */ public void setLaunchConfigurationName(String launchConfigurationName) { this.launchConfigurationName = launchConfigurationName; } /** *

* The name of the launch configuration. This name must be unique within the * scope of your AWS account. *

* * @return The name of the launch configuration. This name must be unique * within the scope of your AWS account. */ public String getLaunchConfigurationName() { return this.launchConfigurationName; } /** *

* The name of the launch configuration. This name must be unique within the * scope of your AWS account. *

* * @param launchConfigurationName * The name of the launch configuration. This name must be unique * within the scope of your AWS account. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withLaunchConfigurationName( String launchConfigurationName) { setLaunchConfigurationName(launchConfigurationName); return this; } /** *

* The ID of the Amazon Machine Image (AMI) to use to launch your EC2 * instances. For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User * Guide. *

* * @param imageId * The ID of the Amazon Machine Image (AMI) to use to launch your EC2 * instances. For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User * Guide. */ public void setImageId(String imageId) { this.imageId = imageId; } /** *

* The ID of the Amazon Machine Image (AMI) to use to launch your EC2 * instances. For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User * Guide. *

* * @return The ID of the Amazon Machine Image (AMI) to use to launch your * EC2 instances. For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User * Guide. */ public String getImageId() { return this.imageId; } /** *

* The ID of the Amazon Machine Image (AMI) to use to launch your EC2 * instances. For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User * Guide. *

* * @param imageId * The ID of the Amazon Machine Image (AMI) to use to launch your EC2 * instances. For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User * Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withImageId(String imageId) { setImageId(imageId); return this; } /** *

* The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud User * Guide. *

* * @param keyName * The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud * User Guide. */ public void setKeyName(String keyName) { this.keyName = keyName; } /** *

* The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud User * Guide. *

* * @return The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud * User Guide. */ public String getKeyName() { return this.keyName; } /** *

* The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud User * Guide. *

* * @param keyName * The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud * User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withKeyName(String keyName) { setKeyName(keyName); return this; } /** *

* One or more security groups with which to associate the instances. *

*

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

*

* If your instances are launched into a VPC, specify security group IDs. * For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud * User Guide. *

* * @return One or more security groups with which to associate the * instances.

*

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

*

* If your instances are launched into a VPC, specify security group * IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual * Private Cloud User Guide. */ public java.util.List getSecurityGroups() { if (securityGroups == null) { securityGroups = new com.amazonaws.internal.SdkInternalList(); } return securityGroups; } /** *

* One or more security groups with which to associate the instances. *

*

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

*

* If your instances are launched into a VPC, specify security group IDs. * For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud * User Guide. *

* * @param securityGroups * One or more security groups with which to associate the * instances.

*

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

*

* If your instances are launched into a VPC, specify security group * IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual Private * Cloud User Guide. */ public void setSecurityGroups(java.util.Collection securityGroups) { if (securityGroups == null) { this.securityGroups = null; return; } this.securityGroups = new com.amazonaws.internal.SdkInternalList( securityGroups); } /** *

* One or more security groups with which to associate the instances. *

*

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

*

* If your instances are launched into a VPC, specify security group IDs. * For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud * User Guide. *

*

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

* * @param securityGroups * One or more security groups with which to associate the * instances.

*

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

*

* If your instances are launched into a VPC, specify security group * IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual Private * Cloud User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withSecurityGroups( String... securityGroups) { if (this.securityGroups == null) { setSecurityGroups(new com.amazonaws.internal.SdkInternalList( securityGroups.length)); } for (String ele : securityGroups) { this.securityGroups.add(ele); } return this; } /** *

* One or more security groups with which to associate the instances. *

*

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

*

* If your instances are launched into a VPC, specify security group IDs. * For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud * User Guide. *

* * @param securityGroups * One or more security groups with which to associate the * instances.

*

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

*

* If your instances are launched into a VPC, specify security group * IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual Private * Cloud User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withSecurityGroups( java.util.Collection securityGroups) { setSecurityGroups(securityGroups); return this; } /** *

* The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances * to. This parameter is supported only if you are launching EC2-Classic * instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. *

* * @param classicLinkVPCId * The ID of a ClassicLink-enabled VPC to link your EC2-Classic * instances to. This parameter is supported only if you are * launching EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User * Guide. */ public void setClassicLinkVPCId(String classicLinkVPCId) { this.classicLinkVPCId = classicLinkVPCId; } /** *

* The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances * to. This parameter is supported only if you are launching EC2-Classic * instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. *

* * @return The ID of a ClassicLink-enabled VPC to link your EC2-Classic * instances to. This parameter is supported only if you are * launching EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User * Guide. */ public String getClassicLinkVPCId() { return this.classicLinkVPCId; } /** *

* The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances * to. This parameter is supported only if you are launching EC2-Classic * instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. *

* * @param classicLinkVPCId * The ID of a ClassicLink-enabled VPC to link your EC2-Classic * instances to. This parameter is supported only if you are * launching EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User * Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withClassicLinkVPCId( String classicLinkVPCId) { setClassicLinkVPCId(classicLinkVPCId); return this; } /** *

* The IDs of one or more security groups for the specified * ClassicLink-enabled VPC. This parameter is required if you specify a * ClassicLink-enabled VPC, and is not supported otherwise. For more * information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. *

* * @return The IDs of one or more security groups for the specified * ClassicLink-enabled VPC. This parameter is required if you * specify a ClassicLink-enabled VPC, and is not supported * otherwise. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User * Guide. */ public java.util.List getClassicLinkVPCSecurityGroups() { if (classicLinkVPCSecurityGroups == null) { classicLinkVPCSecurityGroups = new com.amazonaws.internal.SdkInternalList(); } return classicLinkVPCSecurityGroups; } /** *

* The IDs of one or more security groups for the specified * ClassicLink-enabled VPC. This parameter is required if you specify a * ClassicLink-enabled VPC, and is not supported otherwise. For more * information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. *

* * @param classicLinkVPCSecurityGroups * The IDs of one or more security groups for the specified * ClassicLink-enabled VPC. This parameter is required if you specify * a ClassicLink-enabled VPC, and is not supported otherwise. For * more information, see ClassicLink in the Amazon Elastic Compute Cloud User * Guide. */ public void setClassicLinkVPCSecurityGroups( java.util.Collection classicLinkVPCSecurityGroups) { if (classicLinkVPCSecurityGroups == null) { this.classicLinkVPCSecurityGroups = null; return; } this.classicLinkVPCSecurityGroups = new com.amazonaws.internal.SdkInternalList( classicLinkVPCSecurityGroups); } /** *

* The IDs of one or more security groups for the specified * ClassicLink-enabled VPC. This parameter is required if you specify a * ClassicLink-enabled VPC, and is not supported otherwise. For more * information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. *

*

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

* * @param classicLinkVPCSecurityGroups * The IDs of one or more security groups for the specified * ClassicLink-enabled VPC. This parameter is required if you specify * a ClassicLink-enabled VPC, and is not supported otherwise. For * more information, see ClassicLink in the Amazon Elastic Compute Cloud User * Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withClassicLinkVPCSecurityGroups( String... classicLinkVPCSecurityGroups) { if (this.classicLinkVPCSecurityGroups == null) { setClassicLinkVPCSecurityGroups(new com.amazonaws.internal.SdkInternalList( classicLinkVPCSecurityGroups.length)); } for (String ele : classicLinkVPCSecurityGroups) { this.classicLinkVPCSecurityGroups.add(ele); } return this; } /** *

* The IDs of one or more security groups for the specified * ClassicLink-enabled VPC. This parameter is required if you specify a * ClassicLink-enabled VPC, and is not supported otherwise. For more * information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide. *

* * @param classicLinkVPCSecurityGroups * The IDs of one or more security groups for the specified * ClassicLink-enabled VPC. This parameter is required if you specify * a ClassicLink-enabled VPC, and is not supported otherwise. For * more information, see ClassicLink in the Amazon Elastic Compute Cloud User * Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withClassicLinkVPCSecurityGroups( java.util.Collection classicLinkVPCSecurityGroups) { setClassicLinkVPCSecurityGroups(classicLinkVPCSecurityGroups); return this; } /** *

* The user data to make available to the launched EC2 instances. For more * information, see Instance Metadata and User Data in the Amazon Elastic Compute * Cloud User Guide. *

* * @param userData * The user data to make available to the launched EC2 instances. For * more information, see Instance Metadata and User Data in the Amazon Elastic * Compute Cloud User Guide. */ public void setUserData(String userData) { this.userData = userData; } /** *

* The user data to make available to the launched EC2 instances. For more * information, see Instance Metadata and User Data in the Amazon Elastic Compute * Cloud User Guide. *

* * @return The user data to make available to the launched EC2 instances. * For more information, see Instance Metadata and User Data in the Amazon Elastic * Compute Cloud User Guide. */ public String getUserData() { return this.userData; } /** *

* The user data to make available to the launched EC2 instances. For more * information, see Instance Metadata and User Data in the Amazon Elastic Compute * Cloud User Guide. *

* * @param userData * The user data to make available to the launched EC2 instances. For * more information, see Instance Metadata and User Data in the Amazon Elastic * Compute Cloud User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withUserData(String userData) { setUserData(userData); return this; } /** *

* The ID of the instance to use to create the launch configuration. *

*

* The new launch configuration derives attributes from the instance, with * the exception of the block device mapping. *

*

* To create a launch configuration with a block device mapping or override * any other instance attributes, specify them as part of the same request. *

*

* For more information, see Create a Launch Configuration Using an EC2 Instance in the Auto * Scaling Developer Guide. *

* * @param instanceId * The ID of the instance to use to create the launch * configuration.

*

* The new launch configuration derives attributes from the instance, * with the exception of the block device mapping. *

*

* To create a launch configuration with a block device mapping or * override any other instance attributes, specify them as part of * the same request. *

*

* For more information, see Create a Launch Configuration Using an EC2 Instance in the * Auto Scaling Developer Guide. */ public void setInstanceId(String instanceId) { this.instanceId = instanceId; } /** *

* The ID of the instance to use to create the launch configuration. *

*

* The new launch configuration derives attributes from the instance, with * the exception of the block device mapping. *

*

* To create a launch configuration with a block device mapping or override * any other instance attributes, specify them as part of the same request. *

*

* For more information, see Create a Launch Configuration Using an EC2 Instance in the Auto * Scaling Developer Guide. *

* * @return The ID of the instance to use to create the launch * configuration.

*

* The new launch configuration derives attributes from the * instance, with the exception of the block device mapping. *

*

* To create a launch configuration with a block device mapping or * override any other instance attributes, specify them as part of * the same request. *

*

* For more information, see Create a Launch Configuration Using an EC2 Instance in the * Auto Scaling Developer Guide. */ public String getInstanceId() { return this.instanceId; } /** *

* The ID of the instance to use to create the launch configuration. *

*

* The new launch configuration derives attributes from the instance, with * the exception of the block device mapping. *

*

* To create a launch configuration with a block device mapping or override * any other instance attributes, specify them as part of the same request. *

*

* For more information, see Create a Launch Configuration Using an EC2 Instance in the Auto * Scaling Developer Guide. *

* * @param instanceId * The ID of the instance to use to create the launch * configuration.

*

* The new launch configuration derives attributes from the instance, * with the exception of the block device mapping. *

*

* To create a launch configuration with a block device mapping or * override any other instance attributes, specify them as part of * the same request. *

*

* For more information, see Create a Launch Configuration Using an EC2 Instance in the * Auto Scaling Developer Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withInstanceId(String instanceId) { setInstanceId(instanceId); return this; } /** *

* The instance type of the EC2 instance. For information about available * instance types, see Available Instance Types in the Amazon Elastic Compute Cloud * User Guide. *

* * @param instanceType * The instance type of the EC2 instance. For information about * available instance types, see Available Instance Types in the Amazon Elastic Compute * Cloud User Guide. */ public void setInstanceType(String instanceType) { this.instanceType = instanceType; } /** *

* The instance type of the EC2 instance. For information about available * instance types, see Available Instance Types in the Amazon Elastic Compute Cloud * User Guide. *

* * @return The instance type of the EC2 instance. For information about * available instance types, see Available Instance Types in the Amazon Elastic Compute * Cloud User Guide. */ public String getInstanceType() { return this.instanceType; } /** *

* The instance type of the EC2 instance. For information about available * instance types, see Available Instance Types in the Amazon Elastic Compute Cloud * User Guide. *

* * @param instanceType * The instance type of the EC2 instance. For information about * available instance types, see Available Instance Types in the Amazon Elastic Compute * Cloud User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withInstanceType(String instanceType) { setInstanceType(instanceType); return this; } /** *

* The ID of the kernel associated with the AMI. *

* * @param kernelId * The ID of the kernel associated with the AMI. */ public void setKernelId(String kernelId) { this.kernelId = kernelId; } /** *

* The ID of the kernel associated with the AMI. *

* * @return The ID of the kernel associated with the AMI. */ public String getKernelId() { return this.kernelId; } /** *

* The ID of the kernel associated with the AMI. *

* * @param kernelId * The ID of the kernel associated with the AMI. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withKernelId(String kernelId) { setKernelId(kernelId); return this; } /** *

* The ID of the RAM disk associated with the AMI. *

* * @param ramdiskId * The ID of the RAM disk associated with the AMI. */ public void setRamdiskId(String ramdiskId) { this.ramdiskId = ramdiskId; } /** *

* The ID of the RAM disk associated with the AMI. *

* * @return The ID of the RAM disk associated with the AMI. */ public String getRamdiskId() { return this.ramdiskId; } /** *

* The ID of the RAM disk associated with the AMI. *

* * @param ramdiskId * The ID of the RAM disk associated with the AMI. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withRamdiskId(String ramdiskId) { setRamdiskId(ramdiskId); return this; } /** *

* One or more mappings that specify how block devices are exposed to the * instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud User * Guide. *

* * @return One or more mappings that specify how block devices are exposed * to the instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud * User Guide. */ public java.util.List getBlockDeviceMappings() { if (blockDeviceMappings == null) { blockDeviceMappings = new com.amazonaws.internal.SdkInternalList(); } return blockDeviceMappings; } /** *

* One or more mappings that specify how block devices are exposed to the * instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud User * Guide. *

* * @param blockDeviceMappings * One or more mappings that specify how block devices are exposed to * the instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud * User Guide. */ public void setBlockDeviceMappings( java.util.Collection blockDeviceMappings) { if (blockDeviceMappings == null) { this.blockDeviceMappings = null; return; } this.blockDeviceMappings = new com.amazonaws.internal.SdkInternalList( blockDeviceMappings); } /** *

* One or more mappings that specify how block devices are exposed to the * instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud User * Guide. *

*

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

* * @param blockDeviceMappings * One or more mappings that specify how block devices are exposed to * the instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud * User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withBlockDeviceMappings( BlockDeviceMapping... blockDeviceMappings) { if (this.blockDeviceMappings == null) { setBlockDeviceMappings(new com.amazonaws.internal.SdkInternalList( blockDeviceMappings.length)); } for (BlockDeviceMapping ele : blockDeviceMappings) { this.blockDeviceMappings.add(ele); } return this; } /** *

* One or more mappings that specify how block devices are exposed to the * instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud User * Guide. *

* * @param blockDeviceMappings * One or more mappings that specify how block devices are exposed to * the instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud * User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withBlockDeviceMappings( java.util.Collection blockDeviceMappings) { setBlockDeviceMappings(blockDeviceMappings); return this; } /** *

* Enables detailed monitoring if it is disabled. Detailed monitoring is * enabled by default. *

*

* When detailed monitoring is enabled, Amazon CloudWatch generates metrics * every minute and your account is charged a fee. When you disable detailed * monitoring, by specifying False, CloudWatch generates * metrics every 5 minutes. For more information, see Monitoring Your Auto Scaling Instances and Groups in the Auto * Scaling Developer Guide. *

* * @param instanceMonitoring * Enables detailed monitoring if it is disabled. Detailed monitoring * is enabled by default.

*

* When detailed monitoring is enabled, Amazon CloudWatch generates * metrics every minute and your account is charged a fee. When you * disable detailed monitoring, by specifying False, * CloudWatch generates metrics every 5 minutes. For more * information, see Monitoring Your Auto Scaling Instances and Groups in the * Auto Scaling 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 generates metrics * every minute and your account is charged a fee. When you disable detailed * monitoring, by specifying False, CloudWatch generates * metrics every 5 minutes. For more information, see Monitoring Your Auto Scaling Instances and Groups in the Auto * Scaling Developer Guide. *

* * @return Enables detailed monitoring if it is disabled. Detailed * monitoring is enabled by default.

*

* When detailed monitoring is enabled, Amazon CloudWatch generates * metrics every minute and your account is charged a fee. When you * disable detailed monitoring, by specifying False, * CloudWatch generates metrics every 5 minutes. For more * information, see Monitoring Your Auto Scaling Instances and Groups in the * Auto Scaling Developer Guide. */ public InstanceMonitoring getInstanceMonitoring() { return this.instanceMonitoring; } /** *

* Enables detailed monitoring if it is disabled. Detailed monitoring is * enabled by default. *

*

* When detailed monitoring is enabled, Amazon CloudWatch generates metrics * every minute and your account is charged a fee. When you disable detailed * monitoring, by specifying False, CloudWatch generates * metrics every 5 minutes. For more information, see Monitoring Your Auto Scaling Instances and Groups in the Auto * Scaling Developer Guide. *

* * @param instanceMonitoring * Enables detailed monitoring if it is disabled. Detailed monitoring * is enabled by default.

*

* When detailed monitoring is enabled, Amazon CloudWatch generates * metrics every minute and your account is charged a fee. When you * disable detailed monitoring, by specifying False, * CloudWatch generates metrics every 5 minutes. For more * information, see Monitoring Your Auto Scaling Instances and Groups in the * Auto Scaling Developer Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withInstanceMonitoring( InstanceMonitoring instanceMonitoring) { setInstanceMonitoring(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, see * Launching Spot Instances in Your Auto Scaling Group in the Auto * Scaling Developer Guide. *

* * @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, see Launching Spot Instances in Your Auto Scaling Group 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, see * Launching Spot Instances in Your Auto Scaling Group in the Auto * Scaling Developer Guide. *

* * @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, see Launching Spot Instances in Your Auto Scaling Group in the * Auto Scaling Developer Guide. */ public String getSpotPrice() { return this.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, see * Launching Spot Instances in Your Auto Scaling Group in the Auto * Scaling Developer Guide. *

* * @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, see Launching Spot Instances in Your Auto Scaling Group in the * Auto Scaling Developer Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withSpotPrice(String spotPrice) { setSpotPrice(spotPrice); return this; } /** *

* The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance. *

*

* 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 EC2 instances to * securely access other AWS resources. For more information, see Launch Auto Scaling Instances with an IAM Role in the Auto * Scaling Developer Guide. *

* * @param iamInstanceProfile * The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance.

*

* 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 * EC2 instances to securely access other AWS resources. For more * information, see Launch 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. *

*

* 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 EC2 instances to * securely access other AWS resources. For more information, see Launch Auto Scaling Instances with an IAM Role in the Auto * Scaling Developer Guide. *

* * @return The name or the Amazon Resource Name (ARN) of the instance * profile associated with the IAM role for the instance.

*

* 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 * EC2 instances to securely access other AWS resources. For more * information, see Launch Auto Scaling Instances with an IAM Role in the * Auto Scaling Developer Guide. */ public String getIamInstanceProfile() { return this.iamInstanceProfile; } /** *

* The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance. *

*

* 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 EC2 instances to * securely access other AWS resources. For more information, see Launch Auto Scaling Instances with an IAM Role in the Auto * Scaling Developer Guide. *

* * @param iamInstanceProfile * The name or the Amazon Resource Name (ARN) of the instance profile * associated with the IAM role for the instance.

*

* 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 * EC2 instances to securely access other AWS resources. For more * information, see Launch Auto Scaling Instances with an IAM Role in the Auto * Scaling Developer Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withIamInstanceProfile( String iamInstanceProfile) { setIamInstanceProfile(iamInstanceProfile); return this; } /** *

* Indicates whether the instance is optimized for Amazon EBS I/O. By * default, the instance is not optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal I/O performance. This optimization * is not available with all instance types. Additional usage charges apply. * For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic Compute * Cloud User Guide. *

* * @param ebsOptimized * Indicates whether the instance is optimized for Amazon EBS I/O. By * default, the instance is not optimized for EBS I/O. The * optimization provides dedicated throughput to Amazon EBS and an * optimized configuration stack to provide optimal I/O performance. * This optimization is not available with all instance types. * Additional usage charges apply. For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic * Compute Cloud User Guide. */ public void setEbsOptimized(Boolean ebsOptimized) { this.ebsOptimized = ebsOptimized; } /** *

* Indicates whether the instance is optimized for Amazon EBS I/O. By * default, the instance is not optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal I/O performance. This optimization * is not available with all instance types. Additional usage charges apply. * For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic Compute * Cloud User Guide. *

* * @return Indicates whether the instance is optimized for Amazon EBS I/O. * By default, the instance is not optimized for EBS I/O. The * optimization provides dedicated throughput to Amazon EBS and an * optimized configuration stack to provide optimal I/O performance. * This optimization is not available with all instance types. * Additional usage charges apply. For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic * Compute Cloud User Guide. */ public Boolean getEbsOptimized() { return this.ebsOptimized; } /** *

* Indicates whether the instance is optimized for Amazon EBS I/O. By * default, the instance is not optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal I/O performance. This optimization * is not available with all instance types. Additional usage charges apply. * For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic Compute * Cloud User Guide. *

* * @param ebsOptimized * Indicates whether the instance is optimized for Amazon EBS I/O. By * default, the instance is not optimized for EBS I/O. The * optimization provides dedicated throughput to Amazon EBS and an * optimized configuration stack to provide optimal I/O performance. * This optimization is not available with all instance types. * Additional usage charges apply. For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic * Compute Cloud User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withEbsOptimized( Boolean ebsOptimized) { setEbsOptimized(ebsOptimized); return this; } /** *

* Indicates whether the instance is optimized for Amazon EBS I/O. By * default, the instance is not optimized for EBS I/O. The optimization * provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal I/O performance. This optimization * is not available with all instance types. Additional usage charges apply. * For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic Compute * Cloud User Guide. *

* * @return Indicates whether the instance is optimized for Amazon EBS I/O. * By default, the instance is not optimized for EBS I/O. The * optimization provides dedicated throughput to Amazon EBS and an * optimized configuration stack to provide optimal I/O performance. * This optimization is not available with all instance types. * Additional usage charges apply. For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic * Compute Cloud User Guide. */ public Boolean isEbsOptimized() { return this.ebsOptimized; } /** *

* Used for groups that launch instances into a virtual private cloud (VPC). * Specifies whether to assign a public IP address to each instance. For * more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling * Developer Guide. *

*

* If you specify this parameter, be sure to specify at least one subnet * when you create your group. *

*

* Default: If the instance is launched into a default subnet, the default * is true. If the instance is launched into a nondefault * subnet, the default is false. For more information, see Supported Platforms in the Amazon Elastic Compute Cloud User * Guide. *

* * @param associatePublicIpAddress * Used for groups that launch instances into a virtual private cloud * (VPC). Specifies whether to assign a public IP address to each * instance. For more information, see Launching Auto Scaling Instances in a VPC in the Auto * Scaling Developer Guide.

*

* If you specify this parameter, be sure to specify at least one * subnet when you create your group. *

*

* Default: If the instance is launched into a default subnet, the * default is true. If the instance is launched into a * nondefault subnet, the default is false. For more * information, see Supported Platforms in the Amazon Elastic Compute Cloud * User Guide. */ public void setAssociatePublicIpAddress(Boolean associatePublicIpAddress) { this.associatePublicIpAddress = associatePublicIpAddress; } /** *

* Used for groups that launch instances into a virtual private cloud (VPC). * Specifies whether to assign a public IP address to each instance. For * more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling * Developer Guide. *

*

* If you specify this parameter, be sure to specify at least one subnet * when you create your group. *

*

* Default: If the instance is launched into a default subnet, the default * is true. If the instance is launched into a nondefault * subnet, the default is false. For more information, see Supported Platforms in the Amazon Elastic Compute Cloud User * Guide. *

* * @return Used for groups that launch instances into a virtual private * cloud (VPC). Specifies whether to assign a public IP address to * each instance. For more information, see Launching Auto Scaling Instances in a VPC in the Auto * Scaling Developer Guide.

*

* If you specify this parameter, be sure to specify at least one * subnet when you create your group. *

*

* Default: If the instance is launched into a default subnet, the * default is true. If the instance is launched into a * nondefault subnet, the default is false. For more * information, see Supported Platforms in the Amazon Elastic Compute Cloud * User Guide. */ public Boolean getAssociatePublicIpAddress() { return this.associatePublicIpAddress; } /** *

* Used for groups that launch instances into a virtual private cloud (VPC). * Specifies whether to assign a public IP address to each instance. For * more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling * Developer Guide. *

*

* If you specify this parameter, be sure to specify at least one subnet * when you create your group. *

*

* Default: If the instance is launched into a default subnet, the default * is true. If the instance is launched into a nondefault * subnet, the default is false. For more information, see Supported Platforms in the Amazon Elastic Compute Cloud User * Guide. *

* * @param associatePublicIpAddress * Used for groups that launch instances into a virtual private cloud * (VPC). Specifies whether to assign a public IP address to each * instance. For more information, see Launching Auto Scaling Instances in a VPC in the Auto * Scaling Developer Guide.

*

* If you specify this parameter, be sure to specify at least one * subnet when you create your group. *

*

* Default: If the instance is launched into a default subnet, the * default is true. If the instance is launched into a * nondefault subnet, the default is false. For more * information, see Supported Platforms in the Amazon Elastic Compute Cloud * User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withAssociatePublicIpAddress( Boolean associatePublicIpAddress) { setAssociatePublicIpAddress(associatePublicIpAddress); return this; } /** *

* Used for groups that launch instances into a virtual private cloud (VPC). * Specifies whether to assign a public IP address to each instance. For * more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling * Developer Guide. *

*

* If you specify this parameter, be sure to specify at least one subnet * when you create your group. *

*

* Default: If the instance is launched into a default subnet, the default * is true. If the instance is launched into a nondefault * subnet, the default is false. For more information, see Supported Platforms in the Amazon Elastic Compute Cloud User * Guide. *

* * @return Used for groups that launch instances into a virtual private * cloud (VPC). Specifies whether to assign a public IP address to * each instance. For more information, see Launching Auto Scaling Instances in a VPC in the Auto * Scaling Developer Guide.

*

* If you specify this parameter, be sure to specify at least one * subnet when you create your group. *

*

* Default: If the instance is launched into a default subnet, the * default is true. If the instance is launched into a * nondefault subnet, the default is false. For more * information, see Supported Platforms in the Amazon Elastic Compute Cloud * User Guide. */ public Boolean isAssociatePublicIpAddress() { return this.associatePublicIpAddress; } /** *

* The tenancy of the instance. An instance with a tenancy of * dedicated runs on single-tenant hardware and can only be * launched into a VPC. *

*

* You must set the value of this parameter to dedicated if * want to launch Dedicated Instances into a shared tenancy VPC (VPC with * instance placement tenancy attribute set to default). *

*

* If you specify this parameter, be sure to specify at least one subnet * when you create your group. *

*

* For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling * Developer Guide. *

*

* Valid values: default | dedicated *

* * @param placementTenancy * The tenancy of the instance. An instance with a tenancy of * dedicated runs on single-tenant hardware and can only * be launched into a VPC.

*

* You must set the value of this parameter to dedicated * if want to launch Dedicated Instances into a shared tenancy VPC * (VPC with instance placement tenancy attribute set to * default). *

*

* If you specify this parameter, be sure to specify at least one * subnet when you create your group. *

*

* For more information, see Launching Auto Scaling Instances in a VPC in the Auto * Scaling Developer Guide. *

*

* Valid values: default | dedicated */ public void setPlacementTenancy(String placementTenancy) { this.placementTenancy = placementTenancy; } /** *

* The tenancy of the instance. An instance with a tenancy of * dedicated runs on single-tenant hardware and can only be * launched into a VPC. *

*

* You must set the value of this parameter to dedicated if * want to launch Dedicated Instances into a shared tenancy VPC (VPC with * instance placement tenancy attribute set to default). *

*

* If you specify this parameter, be sure to specify at least one subnet * when you create your group. *

*

* For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling * Developer Guide. *

*

* Valid values: default | dedicated *

* * @return The tenancy of the instance. An instance with a tenancy of * dedicated runs on single-tenant hardware and can * only be launched into a VPC.

*

* You must set the value of this parameter to * dedicated if want to launch Dedicated Instances into * a shared tenancy VPC (VPC with instance placement tenancy * attribute set to default). *

*

* If you specify this parameter, be sure to specify at least one * subnet when you create your group. *

*

* For more information, see Launching Auto Scaling Instances in a VPC in the Auto * Scaling Developer Guide. *

*

* Valid values: default | dedicated */ public String getPlacementTenancy() { return this.placementTenancy; } /** *

* The tenancy of the instance. An instance with a tenancy of * dedicated runs on single-tenant hardware and can only be * launched into a VPC. *

*

* You must set the value of this parameter to dedicated if * want to launch Dedicated Instances into a shared tenancy VPC (VPC with * instance placement tenancy attribute set to default). *

*

* If you specify this parameter, be sure to specify at least one subnet * when you create your group. *

*

* For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling * Developer Guide. *

*

* Valid values: default | dedicated *

* * @param placementTenancy * The tenancy of the instance. An instance with a tenancy of * dedicated runs on single-tenant hardware and can only * be launched into a VPC.

*

* You must set the value of this parameter to dedicated * if want to launch Dedicated Instances into a shared tenancy VPC * (VPC with instance placement tenancy attribute set to * default). *

*

* If you specify this parameter, be sure to specify at least one * subnet when you create your group. *

*

* For more information, see Launching Auto Scaling Instances in a VPC in the Auto * Scaling Developer Guide. *

*

* Valid values: default | dedicated * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateLaunchConfigurationRequest withPlacementTenancy( String placementTenancy) { setPlacementTenancy(placementTenancy); 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 (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 (getClassicLinkVPCId() != null) sb.append("ClassicLinkVPCId: " + getClassicLinkVPCId() + ","); if (getClassicLinkVPCSecurityGroups() != null) sb.append("ClassicLinkVPCSecurityGroups: " + getClassicLinkVPCSecurityGroups() + ","); 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 (getEbsOptimized() != null) sb.append("EbsOptimized: " + getEbsOptimized() + ","); if (getAssociatePublicIpAddress() != null) sb.append("AssociatePublicIpAddress: " + getAssociatePublicIpAddress() + ","); if (getPlacementTenancy() != null) sb.append("PlacementTenancy: " + getPlacementTenancy()); sb.append("}"); return sb.toString(); } @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.getClassicLinkVPCId() == null ^ this.getClassicLinkVPCId() == null) return false; if (other.getClassicLinkVPCId() != null && other.getClassicLinkVPCId().equals( this.getClassicLinkVPCId()) == false) return false; if (other.getClassicLinkVPCSecurityGroups() == null ^ this.getClassicLinkVPCSecurityGroups() == null) return false; if (other.getClassicLinkVPCSecurityGroups() != null && other.getClassicLinkVPCSecurityGroups().equals( this.getClassicLinkVPCSecurityGroups()) == 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.getEbsOptimized() == null ^ this.getEbsOptimized() == null) return false; if (other.getEbsOptimized() != null && other.getEbsOptimized().equals(this.getEbsOptimized()) == false) return false; if (other.getAssociatePublicIpAddress() == null ^ this.getAssociatePublicIpAddress() == null) return false; if (other.getAssociatePublicIpAddress() != null && other.getAssociatePublicIpAddress().equals( this.getAssociatePublicIpAddress()) == false) return false; if (other.getPlacementTenancy() == null ^ this.getPlacementTenancy() == null) return false; if (other.getPlacementTenancy() != null && other.getPlacementTenancy().equals( this.getPlacementTenancy()) == false) return false; return true; } @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 + ((getClassicLinkVPCId() == null) ? 0 : getClassicLinkVPCId() .hashCode()); hashCode = prime * hashCode + ((getClassicLinkVPCSecurityGroups() == null) ? 0 : getClassicLinkVPCSecurityGroups().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 + ((getEbsOptimized() == null) ? 0 : getEbsOptimized() .hashCode()); hashCode = prime * hashCode + ((getAssociatePublicIpAddress() == null) ? 0 : getAssociatePublicIpAddress().hashCode()); hashCode = prime * hashCode + ((getPlacementTenancy() == null) ? 0 : getPlacementTenancy() .hashCode()); return hashCode; } @Override public CreateLaunchConfigurationRequest clone() { return (CreateLaunchConfigurationRequest) super.clone(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy