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

com.amazonaws.services.ec2.model.ScheduledInstancesLaunchSpecification 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 2010-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.ec2.model;

import java.io.Serializable;

/**
 * 

* Describes the launch specification for a Scheduled Instance. *

*

* If you are launching the Scheduled Instance in EC2-VPC, you must specify the * ID of the subnet. You can specify the subnet using either * SubnetId or NetworkInterface. *

*/ public class ScheduledInstancesLaunchSpecification implements Serializable, Cloneable { /** *

* The ID of the Amazon Machine Image (AMI). *

*/ private String imageId; /** *

* The name of the key pair. *

*/ private String keyName; /** *

* The IDs of one or more security groups. *

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

* The base64-encoded MIME user data. *

*/ private String userData; /** *

* The placement information. *

*/ private ScheduledInstancesPlacement placement; /** *

* The ID of the kernel. *

*/ private String kernelId; /** *

* The instance type. *

*/ private String instanceType; /** *

* The ID of the RAM disk. *

*/ private String ramdiskId; /** *

* One or more block device mapping entries. *

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

* Enable or disable monitoring for the instances. *

*/ private ScheduledInstancesMonitoring monitoring; /** *

* The ID of the subnet in which to launch the instances. *

*/ private String subnetId; /** *

* One or more network interfaces. *

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

* The IAM instance profile. *

*/ private ScheduledInstancesIamInstanceProfile iamInstanceProfile; /** *

* Indicates whether the instances are optimized for EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization isn't available with all instance types. Additional usage * charges apply when using an EBS-optimized instance. *

*

* Default: false *

*/ private Boolean ebsOptimized; /** *

* The ID of the Amazon Machine Image (AMI). *

* * @param imageId * The ID of the Amazon Machine Image (AMI). */ public void setImageId(String imageId) { this.imageId = imageId; } /** *

* The ID of the Amazon Machine Image (AMI). *

* * @return The ID of the Amazon Machine Image (AMI). */ public String getImageId() { return this.imageId; } /** *

* The ID of the Amazon Machine Image (AMI). *

* * @param imageId * The ID of the Amazon Machine Image (AMI). * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withImageId(String imageId) { setImageId(imageId); return this; } /** *

* The name of the key pair. *

* * @param keyName * The name of the key pair. */ public void setKeyName(String keyName) { this.keyName = keyName; } /** *

* The name of the key pair. *

* * @return The name of the key pair. */ public String getKeyName() { return this.keyName; } /** *

* The name of the key pair. *

* * @param keyName * The name of the key pair. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withKeyName(String keyName) { setKeyName(keyName); return this; } /** *

* The IDs of one or more security groups. *

* * @return The IDs of one or more security groups. */ public java.util.List getSecurityGroupIds() { if (securityGroupIds == null) { securityGroupIds = new com.amazonaws.internal.SdkInternalList(); } return securityGroupIds; } /** *

* The IDs of one or more security groups. *

* * @param securityGroupIds * The IDs of one or more security groups. */ public void setSecurityGroupIds( java.util.Collection securityGroupIds) { if (securityGroupIds == null) { this.securityGroupIds = null; return; } this.securityGroupIds = new com.amazonaws.internal.SdkInternalList( securityGroupIds); } /** *

* The IDs of one or more security groups. *

*

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

* * @param securityGroupIds * The IDs of one or more security groups. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withSecurityGroupIds( String... securityGroupIds) { if (this.securityGroupIds == null) { setSecurityGroupIds(new com.amazonaws.internal.SdkInternalList( securityGroupIds.length)); } for (String ele : securityGroupIds) { this.securityGroupIds.add(ele); } return this; } /** *

* The IDs of one or more security groups. *

* * @param securityGroupIds * The IDs of one or more security groups. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withSecurityGroupIds( java.util.Collection securityGroupIds) { setSecurityGroupIds(securityGroupIds); return this; } /** *

* The base64-encoded MIME user data. *

* * @param userData * The base64-encoded MIME user data. */ public void setUserData(String userData) { this.userData = userData; } /** *

* The base64-encoded MIME user data. *

* * @return The base64-encoded MIME user data. */ public String getUserData() { return this.userData; } /** *

* The base64-encoded MIME user data. *

* * @param userData * The base64-encoded MIME user data. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withUserData(String userData) { setUserData(userData); return this; } /** *

* The placement information. *

* * @param placement * The placement information. */ public void setPlacement(ScheduledInstancesPlacement placement) { this.placement = placement; } /** *

* The placement information. *

* * @return The placement information. */ public ScheduledInstancesPlacement getPlacement() { return this.placement; } /** *

* The placement information. *

* * @param placement * The placement information. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withPlacement( ScheduledInstancesPlacement placement) { setPlacement(placement); return this; } /** *

* The ID of the kernel. *

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

* The ID of the kernel. *

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

* The ID of the kernel. *

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

* The instance type. *

* * @param instanceType * The instance type. */ public void setInstanceType(String instanceType) { this.instanceType = instanceType; } /** *

* The instance type. *

* * @return The instance type. */ public String getInstanceType() { return this.instanceType; } /** *

* The instance type. *

* * @param instanceType * The instance type. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withInstanceType( String instanceType) { setInstanceType(instanceType); return this; } /** *

* The ID of the RAM disk. *

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

* The ID of the RAM disk. *

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

* The ID of the RAM disk. *

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

* One or more block device mapping entries. *

* * @return One or more block device mapping entries. */ public java.util.List getBlockDeviceMappings() { if (blockDeviceMappings == null) { blockDeviceMappings = new com.amazonaws.internal.SdkInternalList(); } return blockDeviceMappings; } /** *

* One or more block device mapping entries. *

* * @param blockDeviceMappings * One or more block device mapping entries. */ 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 block device mapping entries. *

*

* 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 block device mapping entries. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withBlockDeviceMappings( ScheduledInstancesBlockDeviceMapping... blockDeviceMappings) { if (this.blockDeviceMappings == null) { setBlockDeviceMappings(new com.amazonaws.internal.SdkInternalList( blockDeviceMappings.length)); } for (ScheduledInstancesBlockDeviceMapping ele : blockDeviceMappings) { this.blockDeviceMappings.add(ele); } return this; } /** *

* One or more block device mapping entries. *

* * @param blockDeviceMappings * One or more block device mapping entries. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withBlockDeviceMappings( java.util.Collection blockDeviceMappings) { setBlockDeviceMappings(blockDeviceMappings); return this; } /** *

* Enable or disable monitoring for the instances. *

* * @param monitoring * Enable or disable monitoring for the instances. */ public void setMonitoring(ScheduledInstancesMonitoring monitoring) { this.monitoring = monitoring; } /** *

* Enable or disable monitoring for the instances. *

* * @return Enable or disable monitoring for the instances. */ public ScheduledInstancesMonitoring getMonitoring() { return this.monitoring; } /** *

* Enable or disable monitoring for the instances. *

* * @param monitoring * Enable or disable monitoring for the instances. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withMonitoring( ScheduledInstancesMonitoring monitoring) { setMonitoring(monitoring); return this; } /** *

* The ID of the subnet in which to launch the instances. *

* * @param subnetId * The ID of the subnet in which to launch the instances. */ public void setSubnetId(String subnetId) { this.subnetId = subnetId; } /** *

* The ID of the subnet in which to launch the instances. *

* * @return The ID of the subnet in which to launch the instances. */ public String getSubnetId() { return this.subnetId; } /** *

* The ID of the subnet in which to launch the instances. *

* * @param subnetId * The ID of the subnet in which to launch the instances. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withSubnetId(String subnetId) { setSubnetId(subnetId); return this; } /** *

* One or more network interfaces. *

* * @return One or more network interfaces. */ public java.util.List getNetworkInterfaces() { if (networkInterfaces == null) { networkInterfaces = new com.amazonaws.internal.SdkInternalList(); } return networkInterfaces; } /** *

* One or more network interfaces. *

* * @param networkInterfaces * One or more network interfaces. */ public void setNetworkInterfaces( java.util.Collection networkInterfaces) { if (networkInterfaces == null) { this.networkInterfaces = null; return; } this.networkInterfaces = new com.amazonaws.internal.SdkInternalList( networkInterfaces); } /** *

* One or more network interfaces. *

*

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

* * @param networkInterfaces * One or more network interfaces. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withNetworkInterfaces( ScheduledInstancesNetworkInterface... networkInterfaces) { if (this.networkInterfaces == null) { setNetworkInterfaces(new com.amazonaws.internal.SdkInternalList( networkInterfaces.length)); } for (ScheduledInstancesNetworkInterface ele : networkInterfaces) { this.networkInterfaces.add(ele); } return this; } /** *

* One or more network interfaces. *

* * @param networkInterfaces * One or more network interfaces. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withNetworkInterfaces( java.util.Collection networkInterfaces) { setNetworkInterfaces(networkInterfaces); return this; } /** *

* The IAM instance profile. *

* * @param iamInstanceProfile * The IAM instance profile. */ public void setIamInstanceProfile( ScheduledInstancesIamInstanceProfile iamInstanceProfile) { this.iamInstanceProfile = iamInstanceProfile; } /** *

* The IAM instance profile. *

* * @return The IAM instance profile. */ public ScheduledInstancesIamInstanceProfile getIamInstanceProfile() { return this.iamInstanceProfile; } /** *

* The IAM instance profile. *

* * @param iamInstanceProfile * The IAM instance profile. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withIamInstanceProfile( ScheduledInstancesIamInstanceProfile iamInstanceProfile) { setIamInstanceProfile(iamInstanceProfile); return this; } /** *

* Indicates whether the instances are optimized for EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization isn't available with all instance types. Additional usage * charges apply when using an EBS-optimized instance. *

*

* Default: false *

* * @param ebsOptimized * Indicates whether the instances are optimized for EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an * optimized configuration stack to provide optimal EBS I/O * performance. This optimization isn't available with all instance * types. Additional usage charges apply when using an EBS-optimized * instance.

*

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

* Indicates whether the instances are optimized for EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization isn't available with all instance types. Additional usage * charges apply when using an EBS-optimized instance. *

*

* Default: false *

* * @return Indicates whether the instances are optimized for EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an * optimized configuration stack to provide optimal EBS I/O * performance. This optimization isn't available with all instance * types. Additional usage charges apply when using an EBS-optimized * instance.

*

* Default: false */ public Boolean getEbsOptimized() { return this.ebsOptimized; } /** *

* Indicates whether the instances are optimized for EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization isn't available with all instance types. Additional usage * charges apply when using an EBS-optimized instance. *

*

* Default: false *

* * @param ebsOptimized * Indicates whether the instances are optimized for EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an * optimized configuration stack to provide optimal EBS I/O * performance. This optimization isn't available with all instance * types. Additional usage charges apply when using an EBS-optimized * instance.

*

* Default: false * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesLaunchSpecification withEbsOptimized( Boolean ebsOptimized) { setEbsOptimized(ebsOptimized); return this; } /** *

* Indicates whether the instances are optimized for EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an optimized * configuration stack to provide optimal EBS I/O performance. This * optimization isn't available with all instance types. Additional usage * charges apply when using an EBS-optimized instance. *

*

* Default: false *

* * @return Indicates whether the instances are optimized for EBS I/O. This * optimization provides dedicated throughput to Amazon EBS and an * optimized configuration stack to provide optimal EBS I/O * performance. This optimization isn't available with all instance * types. Additional usage charges apply when using an EBS-optimized * instance.

*

* Default: false */ public Boolean isEbsOptimized() { return this.ebsOptimized; } /** * 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 (getImageId() != null) sb.append("ImageId: " + getImageId() + ","); if (getKeyName() != null) sb.append("KeyName: " + getKeyName() + ","); if (getSecurityGroupIds() != null) sb.append("SecurityGroupIds: " + getSecurityGroupIds() + ","); if (getUserData() != null) sb.append("UserData: " + getUserData() + ","); if (getPlacement() != null) sb.append("Placement: " + getPlacement() + ","); if (getKernelId() != null) sb.append("KernelId: " + getKernelId() + ","); if (getInstanceType() != null) sb.append("InstanceType: " + getInstanceType() + ","); if (getRamdiskId() != null) sb.append("RamdiskId: " + getRamdiskId() + ","); if (getBlockDeviceMappings() != null) sb.append("BlockDeviceMappings: " + getBlockDeviceMappings() + ","); if (getMonitoring() != null) sb.append("Monitoring: " + getMonitoring() + ","); if (getSubnetId() != null) sb.append("SubnetId: " + getSubnetId() + ","); if (getNetworkInterfaces() != null) sb.append("NetworkInterfaces: " + getNetworkInterfaces() + ","); if (getIamInstanceProfile() != null) sb.append("IamInstanceProfile: " + getIamInstanceProfile() + ","); if (getEbsOptimized() != null) sb.append("EbsOptimized: " + getEbsOptimized()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ScheduledInstancesLaunchSpecification == false) return false; ScheduledInstancesLaunchSpecification other = (ScheduledInstancesLaunchSpecification) obj; 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.getSecurityGroupIds() == null ^ this.getSecurityGroupIds() == null) return false; if (other.getSecurityGroupIds() != null && other.getSecurityGroupIds().equals( this.getSecurityGroupIds()) == 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.getPlacement() == null ^ this.getPlacement() == null) return false; if (other.getPlacement() != null && other.getPlacement().equals(this.getPlacement()) == 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.getInstanceType() == null ^ this.getInstanceType() == null) return false; if (other.getInstanceType() != null && other.getInstanceType().equals(this.getInstanceType()) == 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.getMonitoring() == null ^ this.getMonitoring() == null) return false; if (other.getMonitoring() != null && other.getMonitoring().equals(this.getMonitoring()) == false) return false; if (other.getSubnetId() == null ^ this.getSubnetId() == null) return false; if (other.getSubnetId() != null && other.getSubnetId().equals(this.getSubnetId()) == false) return false; if (other.getNetworkInterfaces() == null ^ this.getNetworkInterfaces() == null) return false; if (other.getNetworkInterfaces() != null && other.getNetworkInterfaces().equals( this.getNetworkInterfaces()) == 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; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getImageId() == null) ? 0 : getImageId().hashCode()); hashCode = prime * hashCode + ((getKeyName() == null) ? 0 : getKeyName().hashCode()); hashCode = prime * hashCode + ((getSecurityGroupIds() == null) ? 0 : getSecurityGroupIds() .hashCode()); hashCode = prime * hashCode + ((getUserData() == null) ? 0 : getUserData().hashCode()); hashCode = prime * hashCode + ((getPlacement() == null) ? 0 : getPlacement().hashCode()); hashCode = prime * hashCode + ((getKernelId() == null) ? 0 : getKernelId().hashCode()); hashCode = prime * hashCode + ((getInstanceType() == null) ? 0 : getInstanceType() .hashCode()); hashCode = prime * hashCode + ((getRamdiskId() == null) ? 0 : getRamdiskId().hashCode()); hashCode = prime * hashCode + ((getBlockDeviceMappings() == null) ? 0 : getBlockDeviceMappings().hashCode()); hashCode = prime * hashCode + ((getMonitoring() == null) ? 0 : getMonitoring().hashCode()); hashCode = prime * hashCode + ((getSubnetId() == null) ? 0 : getSubnetId().hashCode()); hashCode = prime * hashCode + ((getNetworkInterfaces() == null) ? 0 : getNetworkInterfaces().hashCode()); hashCode = prime * hashCode + ((getIamInstanceProfile() == null) ? 0 : getIamInstanceProfile().hashCode()); hashCode = prime * hashCode + ((getEbsOptimized() == null) ? 0 : getEbsOptimized() .hashCode()); return hashCode; } @Override public ScheduledInstancesLaunchSpecification clone() { try { return (ScheduledInstancesLaunchSpecification) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy