com.amazonaws.services.securityhub.model.AwsEc2LaunchTemplateDataInstanceRequirementsDetails Maven / Gradle / Ivy
Show all versions of aws-java-sdk-securityhub Show documentation
/*
* Copyright 2019-2024 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.securityhub.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* The attributes for the Amazon EC2 instance types.
*
*
* @see AWS API Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AwsEc2LaunchTemplateDataInstanceRequirementsDetails implements Serializable, Cloneable, StructuredPojo {
/**
*
* The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an
* instance.
*
*/
private AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorCountDetails acceleratorCount;
/**
*
* Indicates whether instance types must have accelerators by specific manufacturers.
*
*/
private java.util.List acceleratorManufacturers;
/**
*
* The accelerators that must be on the instance type.
*
*/
private java.util.List acceleratorNames;
/**
*
* The minimum and maximum amount of total accelerator memory, in MiB.
*
*/
private AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorTotalMemoryMiBDetails acceleratorTotalMemoryMiB;
/**
*
* The accelerator types that must be on the instance type.
*
*/
private java.util.List acceleratorTypes;
/**
*
* Indicates whether bare metal instance types must be included, excluded, or required.
*
*/
private String bareMetal;
/**
*
* The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS optimized instances
* in the Amazon EC2 User Guide.
*
*/
private AwsEc2LaunchTemplateDataInstanceRequirementsBaselineEbsBandwidthMbpsDetails baselineEbsBandwidthMbps;
/**
*
* Indicates whether burstable performance T instance types are included, excluded, or required. For more
* information, Burstable
* performance instances in the Amazon EC2 User Guide.
*
*/
private String burstablePerformance;
/**
*
* The CPU manufacturers to include.
*
*/
private java.util.List cpuManufacturers;
/**
*
* The instance types to exclude.
*
*/
private java.util.List excludedInstanceTypes;
/**
*
* Indicates whether current or previous generation instance types are included.
*
*/
private java.util.List instanceGenerations;
/**
*
* Indicates whether instance types with instance store volumes are included, excluded, or required. For more
* information, see Amazon EC2
* instance store in the Amazon EC2 User Guide.
*
*/
private String localStorage;
/**
*
* The type of local storage that is required.
*
*/
private java.util.List localStorageTypes;
/**
*
* The minimum and maximum amount of memory per vCPU, in GiB.
*
*/
private AwsEc2LaunchTemplateDataInstanceRequirementsMemoryGiBPerVCpuDetails memoryGiBPerVCpu;
/**
*
* The minimum and maximum amount of memory, in MiB.
*
*/
private AwsEc2LaunchTemplateDataInstanceRequirementsMemoryMiBDetails memoryMiB;
/**
*
* The minimum and maximum number of network interfaces.
*
*/
private AwsEc2LaunchTemplateDataInstanceRequirementsNetworkInterfaceCountDetails networkInterfaceCount;
/**
*
* The price protection threshold for On-Demand Instances. This is the maximum you'll pay for an On-Demand Instance,
* expressed as a percentage above the least expensive current generation M, C, or R instance type with your
* specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types
* priced above your threshold.
*
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*
*/
private Integer onDemandMaxPricePercentageOverLowestPrice;
/**
*
* Indicates whether instance types must support hibernation for On-Demand Instances.
*
*/
private Boolean requireHibernateSupport;
/**
*
* The price protection threshold for Spot Instances. This is the maximum you'll pay for a Spot Instance, expressed
* as a percentage above the least expensive current generation M, C, or R instance type with your specified
* attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above
* your threshold.
*
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*
*/
private Integer spotMaxPricePercentageOverLowestPrice;
/**
*
* The minimum and maximum amount of total local storage, in GB.
*
*/
private AwsEc2LaunchTemplateDataInstanceRequirementsTotalLocalStorageGBDetails totalLocalStorageGB;
/**
*
* The minimum and maximum number of vCPUs.
*
*/
private AwsEc2LaunchTemplateDataInstanceRequirementsVCpuCountDetails vCpuCount;
/**
*
* The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an
* instance.
*
*
* @param acceleratorCount
* The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on
* an instance.
*/
public void setAcceleratorCount(AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorCountDetails acceleratorCount) {
this.acceleratorCount = acceleratorCount;
}
/**
*
* The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an
* instance.
*
*
* @return The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on
* an instance.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorCountDetails getAcceleratorCount() {
return this.acceleratorCount;
}
/**
*
* The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an
* instance.
*
*
* @param acceleratorCount
* The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on
* an instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withAcceleratorCount(
AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorCountDetails acceleratorCount) {
setAcceleratorCount(acceleratorCount);
return this;
}
/**
*
* Indicates whether instance types must have accelerators by specific manufacturers.
*
*
* @return Indicates whether instance types must have accelerators by specific manufacturers.
*/
public java.util.List getAcceleratorManufacturers() {
return acceleratorManufacturers;
}
/**
*
* Indicates whether instance types must have accelerators by specific manufacturers.
*
*
* @param acceleratorManufacturers
* Indicates whether instance types must have accelerators by specific manufacturers.
*/
public void setAcceleratorManufacturers(java.util.Collection acceleratorManufacturers) {
if (acceleratorManufacturers == null) {
this.acceleratorManufacturers = null;
return;
}
this.acceleratorManufacturers = new java.util.ArrayList(acceleratorManufacturers);
}
/**
*
* Indicates whether instance types must have accelerators by specific manufacturers.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAcceleratorManufacturers(java.util.Collection)} or
* {@link #withAcceleratorManufacturers(java.util.Collection)} if you want to override the existing values.
*
*
* @param acceleratorManufacturers
* Indicates whether instance types must have accelerators by specific manufacturers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withAcceleratorManufacturers(String... acceleratorManufacturers) {
if (this.acceleratorManufacturers == null) {
setAcceleratorManufacturers(new java.util.ArrayList(acceleratorManufacturers.length));
}
for (String ele : acceleratorManufacturers) {
this.acceleratorManufacturers.add(ele);
}
return this;
}
/**
*
* Indicates whether instance types must have accelerators by specific manufacturers.
*
*
* @param acceleratorManufacturers
* Indicates whether instance types must have accelerators by specific manufacturers.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withAcceleratorManufacturers(java.util.Collection acceleratorManufacturers) {
setAcceleratorManufacturers(acceleratorManufacturers);
return this;
}
/**
*
* The accelerators that must be on the instance type.
*
*
* @return The accelerators that must be on the instance type.
*/
public java.util.List getAcceleratorNames() {
return acceleratorNames;
}
/**
*
* The accelerators that must be on the instance type.
*
*
* @param acceleratorNames
* The accelerators that must be on the instance type.
*/
public void setAcceleratorNames(java.util.Collection acceleratorNames) {
if (acceleratorNames == null) {
this.acceleratorNames = null;
return;
}
this.acceleratorNames = new java.util.ArrayList(acceleratorNames);
}
/**
*
* The accelerators that must be on the instance type.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAcceleratorNames(java.util.Collection)} or {@link #withAcceleratorNames(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param acceleratorNames
* The accelerators that must be on the instance type.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withAcceleratorNames(String... acceleratorNames) {
if (this.acceleratorNames == null) {
setAcceleratorNames(new java.util.ArrayList(acceleratorNames.length));
}
for (String ele : acceleratorNames) {
this.acceleratorNames.add(ele);
}
return this;
}
/**
*
* The accelerators that must be on the instance type.
*
*
* @param acceleratorNames
* The accelerators that must be on the instance type.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withAcceleratorNames(java.util.Collection acceleratorNames) {
setAcceleratorNames(acceleratorNames);
return this;
}
/**
*
* The minimum and maximum amount of total accelerator memory, in MiB.
*
*
* @param acceleratorTotalMemoryMiB
* The minimum and maximum amount of total accelerator memory, in MiB.
*/
public void setAcceleratorTotalMemoryMiB(AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorTotalMemoryMiBDetails acceleratorTotalMemoryMiB) {
this.acceleratorTotalMemoryMiB = acceleratorTotalMemoryMiB;
}
/**
*
* The minimum and maximum amount of total accelerator memory, in MiB.
*
*
* @return The minimum and maximum amount of total accelerator memory, in MiB.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorTotalMemoryMiBDetails getAcceleratorTotalMemoryMiB() {
return this.acceleratorTotalMemoryMiB;
}
/**
*
* The minimum and maximum amount of total accelerator memory, in MiB.
*
*
* @param acceleratorTotalMemoryMiB
* The minimum and maximum amount of total accelerator memory, in MiB.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withAcceleratorTotalMemoryMiB(
AwsEc2LaunchTemplateDataInstanceRequirementsAcceleratorTotalMemoryMiBDetails acceleratorTotalMemoryMiB) {
setAcceleratorTotalMemoryMiB(acceleratorTotalMemoryMiB);
return this;
}
/**
*
* The accelerator types that must be on the instance type.
*
*
* @return The accelerator types that must be on the instance type.
*/
public java.util.List getAcceleratorTypes() {
return acceleratorTypes;
}
/**
*
* The accelerator types that must be on the instance type.
*
*
* @param acceleratorTypes
* The accelerator types that must be on the instance type.
*/
public void setAcceleratorTypes(java.util.Collection acceleratorTypes) {
if (acceleratorTypes == null) {
this.acceleratorTypes = null;
return;
}
this.acceleratorTypes = new java.util.ArrayList(acceleratorTypes);
}
/**
*
* The accelerator types that must be on the instance type.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAcceleratorTypes(java.util.Collection)} or {@link #withAcceleratorTypes(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param acceleratorTypes
* The accelerator types that must be on the instance type.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withAcceleratorTypes(String... acceleratorTypes) {
if (this.acceleratorTypes == null) {
setAcceleratorTypes(new java.util.ArrayList(acceleratorTypes.length));
}
for (String ele : acceleratorTypes) {
this.acceleratorTypes.add(ele);
}
return this;
}
/**
*
* The accelerator types that must be on the instance type.
*
*
* @param acceleratorTypes
* The accelerator types that must be on the instance type.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withAcceleratorTypes(java.util.Collection acceleratorTypes) {
setAcceleratorTypes(acceleratorTypes);
return this;
}
/**
*
* Indicates whether bare metal instance types must be included, excluded, or required.
*
*
* @param bareMetal
* Indicates whether bare metal instance types must be included, excluded, or required.
*/
public void setBareMetal(String bareMetal) {
this.bareMetal = bareMetal;
}
/**
*
* Indicates whether bare metal instance types must be included, excluded, or required.
*
*
* @return Indicates whether bare metal instance types must be included, excluded, or required.
*/
public String getBareMetal() {
return this.bareMetal;
}
/**
*
* Indicates whether bare metal instance types must be included, excluded, or required.
*
*
* @param bareMetal
* Indicates whether bare metal instance types must be included, excluded, or required.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withBareMetal(String bareMetal) {
setBareMetal(bareMetal);
return this;
}
/**
*
* The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS optimized instances
* in the Amazon EC2 User Guide.
*
*
* @param baselineEbsBandwidthMbps
* The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS optimized
* instances in the Amazon EC2 User Guide.
*/
public void setBaselineEbsBandwidthMbps(AwsEc2LaunchTemplateDataInstanceRequirementsBaselineEbsBandwidthMbpsDetails baselineEbsBandwidthMbps) {
this.baselineEbsBandwidthMbps = baselineEbsBandwidthMbps;
}
/**
*
* The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS optimized instances
* in the Amazon EC2 User Guide.
*
*
* @return The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS optimized
* instances in the Amazon EC2 User Guide.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsBaselineEbsBandwidthMbpsDetails getBaselineEbsBandwidthMbps() {
return this.baselineEbsBandwidthMbps;
}
/**
*
* The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS optimized instances
* in the Amazon EC2 User Guide.
*
*
* @param baselineEbsBandwidthMbps
* The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS optimized
* instances in the Amazon EC2 User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withBaselineEbsBandwidthMbps(
AwsEc2LaunchTemplateDataInstanceRequirementsBaselineEbsBandwidthMbpsDetails baselineEbsBandwidthMbps) {
setBaselineEbsBandwidthMbps(baselineEbsBandwidthMbps);
return this;
}
/**
*
* Indicates whether burstable performance T instance types are included, excluded, or required. For more
* information, Burstable
* performance instances in the Amazon EC2 User Guide.
*
*
* @param burstablePerformance
* Indicates whether burstable performance T instance types are included, excluded, or required. For more
* information, Burstable
* performance instances in the Amazon EC2 User Guide.
*/
public void setBurstablePerformance(String burstablePerformance) {
this.burstablePerformance = burstablePerformance;
}
/**
*
* Indicates whether burstable performance T instance types are included, excluded, or required. For more
* information, Burstable
* performance instances in the Amazon EC2 User Guide.
*
*
* @return Indicates whether burstable performance T instance types are included, excluded, or required. For more
* information, Burstable
* performance instances in the Amazon EC2 User Guide.
*/
public String getBurstablePerformance() {
return this.burstablePerformance;
}
/**
*
* Indicates whether burstable performance T instance types are included, excluded, or required. For more
* information, Burstable
* performance instances in the Amazon EC2 User Guide.
*
*
* @param burstablePerformance
* Indicates whether burstable performance T instance types are included, excluded, or required. For more
* information, Burstable
* performance instances in the Amazon EC2 User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withBurstablePerformance(String burstablePerformance) {
setBurstablePerformance(burstablePerformance);
return this;
}
/**
*
* The CPU manufacturers to include.
*
*
* @return The CPU manufacturers to include.
*/
public java.util.List getCpuManufacturers() {
return cpuManufacturers;
}
/**
*
* The CPU manufacturers to include.
*
*
* @param cpuManufacturers
* The CPU manufacturers to include.
*/
public void setCpuManufacturers(java.util.Collection cpuManufacturers) {
if (cpuManufacturers == null) {
this.cpuManufacturers = null;
return;
}
this.cpuManufacturers = new java.util.ArrayList(cpuManufacturers);
}
/**
*
* The CPU manufacturers to include.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setCpuManufacturers(java.util.Collection)} or {@link #withCpuManufacturers(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param cpuManufacturers
* The CPU manufacturers to include.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withCpuManufacturers(String... cpuManufacturers) {
if (this.cpuManufacturers == null) {
setCpuManufacturers(new java.util.ArrayList(cpuManufacturers.length));
}
for (String ele : cpuManufacturers) {
this.cpuManufacturers.add(ele);
}
return this;
}
/**
*
* The CPU manufacturers to include.
*
*
* @param cpuManufacturers
* The CPU manufacturers to include.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withCpuManufacturers(java.util.Collection cpuManufacturers) {
setCpuManufacturers(cpuManufacturers);
return this;
}
/**
*
* The instance types to exclude.
*
*
* @return The instance types to exclude.
*/
public java.util.List getExcludedInstanceTypes() {
return excludedInstanceTypes;
}
/**
*
* The instance types to exclude.
*
*
* @param excludedInstanceTypes
* The instance types to exclude.
*/
public void setExcludedInstanceTypes(java.util.Collection excludedInstanceTypes) {
if (excludedInstanceTypes == null) {
this.excludedInstanceTypes = null;
return;
}
this.excludedInstanceTypes = new java.util.ArrayList(excludedInstanceTypes);
}
/**
*
* The instance types to exclude.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setExcludedInstanceTypes(java.util.Collection)} or
* {@link #withExcludedInstanceTypes(java.util.Collection)} if you want to override the existing values.
*
*
* @param excludedInstanceTypes
* The instance types to exclude.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withExcludedInstanceTypes(String... excludedInstanceTypes) {
if (this.excludedInstanceTypes == null) {
setExcludedInstanceTypes(new java.util.ArrayList(excludedInstanceTypes.length));
}
for (String ele : excludedInstanceTypes) {
this.excludedInstanceTypes.add(ele);
}
return this;
}
/**
*
* The instance types to exclude.
*
*
* @param excludedInstanceTypes
* The instance types to exclude.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withExcludedInstanceTypes(java.util.Collection excludedInstanceTypes) {
setExcludedInstanceTypes(excludedInstanceTypes);
return this;
}
/**
*
* Indicates whether current or previous generation instance types are included.
*
*
* @return Indicates whether current or previous generation instance types are included.
*/
public java.util.List getInstanceGenerations() {
return instanceGenerations;
}
/**
*
* Indicates whether current or previous generation instance types are included.
*
*
* @param instanceGenerations
* Indicates whether current or previous generation instance types are included.
*/
public void setInstanceGenerations(java.util.Collection instanceGenerations) {
if (instanceGenerations == null) {
this.instanceGenerations = null;
return;
}
this.instanceGenerations = new java.util.ArrayList(instanceGenerations);
}
/**
*
* Indicates whether current or previous generation instance types are included.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setInstanceGenerations(java.util.Collection)} or {@link #withInstanceGenerations(java.util.Collection)}
* if you want to override the existing values.
*
*
* @param instanceGenerations
* Indicates whether current or previous generation instance types are included.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withInstanceGenerations(String... instanceGenerations) {
if (this.instanceGenerations == null) {
setInstanceGenerations(new java.util.ArrayList(instanceGenerations.length));
}
for (String ele : instanceGenerations) {
this.instanceGenerations.add(ele);
}
return this;
}
/**
*
* Indicates whether current or previous generation instance types are included.
*
*
* @param instanceGenerations
* Indicates whether current or previous generation instance types are included.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withInstanceGenerations(java.util.Collection instanceGenerations) {
setInstanceGenerations(instanceGenerations);
return this;
}
/**
*
* Indicates whether instance types with instance store volumes are included, excluded, or required. For more
* information, see Amazon EC2
* instance store in the Amazon EC2 User Guide.
*
*
* @param localStorage
* Indicates whether instance types with instance store volumes are included, excluded, or required. For more
* information, see Amazon
* EC2 instance store in the Amazon EC2 User Guide.
*/
public void setLocalStorage(String localStorage) {
this.localStorage = localStorage;
}
/**
*
* Indicates whether instance types with instance store volumes are included, excluded, or required. For more
* information, see Amazon EC2
* instance store in the Amazon EC2 User Guide.
*
*
* @return Indicates whether instance types with instance store volumes are included, excluded, or required. For
* more information, see Amazon EC2 instance
* store in the Amazon EC2 User Guide.
*/
public String getLocalStorage() {
return this.localStorage;
}
/**
*
* Indicates whether instance types with instance store volumes are included, excluded, or required. For more
* information, see Amazon EC2
* instance store in the Amazon EC2 User Guide.
*
*
* @param localStorage
* Indicates whether instance types with instance store volumes are included, excluded, or required. For more
* information, see Amazon
* EC2 instance store in the Amazon EC2 User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withLocalStorage(String localStorage) {
setLocalStorage(localStorage);
return this;
}
/**
*
* The type of local storage that is required.
*
*
* @return The type of local storage that is required.
*/
public java.util.List getLocalStorageTypes() {
return localStorageTypes;
}
/**
*
* The type of local storage that is required.
*
*
* @param localStorageTypes
* The type of local storage that is required.
*/
public void setLocalStorageTypes(java.util.Collection localStorageTypes) {
if (localStorageTypes == null) {
this.localStorageTypes = null;
return;
}
this.localStorageTypes = new java.util.ArrayList(localStorageTypes);
}
/**
*
* The type of local storage that is required.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setLocalStorageTypes(java.util.Collection)} or {@link #withLocalStorageTypes(java.util.Collection)} if
* you want to override the existing values.
*
*
* @param localStorageTypes
* The type of local storage that is required.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withLocalStorageTypes(String... localStorageTypes) {
if (this.localStorageTypes == null) {
setLocalStorageTypes(new java.util.ArrayList(localStorageTypes.length));
}
for (String ele : localStorageTypes) {
this.localStorageTypes.add(ele);
}
return this;
}
/**
*
* The type of local storage that is required.
*
*
* @param localStorageTypes
* The type of local storage that is required.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withLocalStorageTypes(java.util.Collection localStorageTypes) {
setLocalStorageTypes(localStorageTypes);
return this;
}
/**
*
* The minimum and maximum amount of memory per vCPU, in GiB.
*
*
* @param memoryGiBPerVCpu
* The minimum and maximum amount of memory per vCPU, in GiB.
*/
public void setMemoryGiBPerVCpu(AwsEc2LaunchTemplateDataInstanceRequirementsMemoryGiBPerVCpuDetails memoryGiBPerVCpu) {
this.memoryGiBPerVCpu = memoryGiBPerVCpu;
}
/**
*
* The minimum and maximum amount of memory per vCPU, in GiB.
*
*
* @return The minimum and maximum amount of memory per vCPU, in GiB.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsMemoryGiBPerVCpuDetails getMemoryGiBPerVCpu() {
return this.memoryGiBPerVCpu;
}
/**
*
* The minimum and maximum amount of memory per vCPU, in GiB.
*
*
* @param memoryGiBPerVCpu
* The minimum and maximum amount of memory per vCPU, in GiB.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withMemoryGiBPerVCpu(
AwsEc2LaunchTemplateDataInstanceRequirementsMemoryGiBPerVCpuDetails memoryGiBPerVCpu) {
setMemoryGiBPerVCpu(memoryGiBPerVCpu);
return this;
}
/**
*
* The minimum and maximum amount of memory, in MiB.
*
*
* @param memoryMiB
* The minimum and maximum amount of memory, in MiB.
*/
public void setMemoryMiB(AwsEc2LaunchTemplateDataInstanceRequirementsMemoryMiBDetails memoryMiB) {
this.memoryMiB = memoryMiB;
}
/**
*
* The minimum and maximum amount of memory, in MiB.
*
*
* @return The minimum and maximum amount of memory, in MiB.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsMemoryMiBDetails getMemoryMiB() {
return this.memoryMiB;
}
/**
*
* The minimum and maximum amount of memory, in MiB.
*
*
* @param memoryMiB
* The minimum and maximum amount of memory, in MiB.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withMemoryMiB(AwsEc2LaunchTemplateDataInstanceRequirementsMemoryMiBDetails memoryMiB) {
setMemoryMiB(memoryMiB);
return this;
}
/**
*
* The minimum and maximum number of network interfaces.
*
*
* @param networkInterfaceCount
* The minimum and maximum number of network interfaces.
*/
public void setNetworkInterfaceCount(AwsEc2LaunchTemplateDataInstanceRequirementsNetworkInterfaceCountDetails networkInterfaceCount) {
this.networkInterfaceCount = networkInterfaceCount;
}
/**
*
* The minimum and maximum number of network interfaces.
*
*
* @return The minimum and maximum number of network interfaces.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsNetworkInterfaceCountDetails getNetworkInterfaceCount() {
return this.networkInterfaceCount;
}
/**
*
* The minimum and maximum number of network interfaces.
*
*
* @param networkInterfaceCount
* The minimum and maximum number of network interfaces.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withNetworkInterfaceCount(
AwsEc2LaunchTemplateDataInstanceRequirementsNetworkInterfaceCountDetails networkInterfaceCount) {
setNetworkInterfaceCount(networkInterfaceCount);
return this;
}
/**
*
* The price protection threshold for On-Demand Instances. This is the maximum you'll pay for an On-Demand Instance,
* expressed as a percentage above the least expensive current generation M, C, or R instance type with your
* specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types
* priced above your threshold.
*
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*
*
* @param onDemandMaxPricePercentageOverLowestPrice
* The price protection threshold for On-Demand Instances. This is the maximum you'll pay for an On-Demand
* Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type
* with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes
* instance types priced above your threshold.
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*/
public void setOnDemandMaxPricePercentageOverLowestPrice(Integer onDemandMaxPricePercentageOverLowestPrice) {
this.onDemandMaxPricePercentageOverLowestPrice = onDemandMaxPricePercentageOverLowestPrice;
}
/**
*
* The price protection threshold for On-Demand Instances. This is the maximum you'll pay for an On-Demand Instance,
* expressed as a percentage above the least expensive current generation M, C, or R instance type with your
* specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types
* priced above your threshold.
*
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*
*
* @return The price protection threshold for On-Demand Instances. This is the maximum you'll pay for an On-Demand
* Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type
* with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes
* instance types priced above your threshold.
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*/
public Integer getOnDemandMaxPricePercentageOverLowestPrice() {
return this.onDemandMaxPricePercentageOverLowestPrice;
}
/**
*
* The price protection threshold for On-Demand Instances. This is the maximum you'll pay for an On-Demand Instance,
* expressed as a percentage above the least expensive current generation M, C, or R instance type with your
* specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types
* priced above your threshold.
*
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*
*
* @param onDemandMaxPricePercentageOverLowestPrice
* The price protection threshold for On-Demand Instances. This is the maximum you'll pay for an On-Demand
* Instance, expressed as a percentage above the least expensive current generation M, C, or R instance type
* with your specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes
* instance types priced above your threshold.
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withOnDemandMaxPricePercentageOverLowestPrice(Integer onDemandMaxPricePercentageOverLowestPrice) {
setOnDemandMaxPricePercentageOverLowestPrice(onDemandMaxPricePercentageOverLowestPrice);
return this;
}
/**
*
* Indicates whether instance types must support hibernation for On-Demand Instances.
*
*
* @param requireHibernateSupport
* Indicates whether instance types must support hibernation for On-Demand Instances.
*/
public void setRequireHibernateSupport(Boolean requireHibernateSupport) {
this.requireHibernateSupport = requireHibernateSupport;
}
/**
*
* Indicates whether instance types must support hibernation for On-Demand Instances.
*
*
* @return Indicates whether instance types must support hibernation for On-Demand Instances.
*/
public Boolean getRequireHibernateSupport() {
return this.requireHibernateSupport;
}
/**
*
* Indicates whether instance types must support hibernation for On-Demand Instances.
*
*
* @param requireHibernateSupport
* Indicates whether instance types must support hibernation for On-Demand Instances.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withRequireHibernateSupport(Boolean requireHibernateSupport) {
setRequireHibernateSupport(requireHibernateSupport);
return this;
}
/**
*
* Indicates whether instance types must support hibernation for On-Demand Instances.
*
*
* @return Indicates whether instance types must support hibernation for On-Demand Instances.
*/
public Boolean isRequireHibernateSupport() {
return this.requireHibernateSupport;
}
/**
*
* The price protection threshold for Spot Instances. This is the maximum you'll pay for a Spot Instance, expressed
* as a percentage above the least expensive current generation M, C, or R instance type with your specified
* attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above
* your threshold.
*
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*
*
* @param spotMaxPricePercentageOverLowestPrice
* The price protection threshold for Spot Instances. This is the maximum you'll pay for a Spot Instance,
* expressed as a percentage above the least expensive current generation M, C, or R instance type with your
* specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance
* types priced above your threshold.
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*/
public void setSpotMaxPricePercentageOverLowestPrice(Integer spotMaxPricePercentageOverLowestPrice) {
this.spotMaxPricePercentageOverLowestPrice = spotMaxPricePercentageOverLowestPrice;
}
/**
*
* The price protection threshold for Spot Instances. This is the maximum you'll pay for a Spot Instance, expressed
* as a percentage above the least expensive current generation M, C, or R instance type with your specified
* attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above
* your threshold.
*
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*
*
* @return The price protection threshold for Spot Instances. This is the maximum you'll pay for a Spot Instance,
* expressed as a percentage above the least expensive current generation M, C, or R instance type with your
* specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance
* types priced above your threshold.
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*/
public Integer getSpotMaxPricePercentageOverLowestPrice() {
return this.spotMaxPricePercentageOverLowestPrice;
}
/**
*
* The price protection threshold for Spot Instances. This is the maximum you'll pay for a Spot Instance, expressed
* as a percentage above the least expensive current generation M, C, or R instance type with your specified
* attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above
* your threshold.
*
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
*
*
* @param spotMaxPricePercentageOverLowestPrice
* The price protection threshold for Spot Instances. This is the maximum you'll pay for a Spot Instance,
* expressed as a percentage above the least expensive current generation M, C, or R instance type with your
* specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance
* types priced above your threshold.
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
*
* A high value, such as 999999
, turns off price protection.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withSpotMaxPricePercentageOverLowestPrice(Integer spotMaxPricePercentageOverLowestPrice) {
setSpotMaxPricePercentageOverLowestPrice(spotMaxPricePercentageOverLowestPrice);
return this;
}
/**
*
* The minimum and maximum amount of total local storage, in GB.
*
*
* @param totalLocalStorageGB
* The minimum and maximum amount of total local storage, in GB.
*/
public void setTotalLocalStorageGB(AwsEc2LaunchTemplateDataInstanceRequirementsTotalLocalStorageGBDetails totalLocalStorageGB) {
this.totalLocalStorageGB = totalLocalStorageGB;
}
/**
*
* The minimum and maximum amount of total local storage, in GB.
*
*
* @return The minimum and maximum amount of total local storage, in GB.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsTotalLocalStorageGBDetails getTotalLocalStorageGB() {
return this.totalLocalStorageGB;
}
/**
*
* The minimum and maximum amount of total local storage, in GB.
*
*
* @param totalLocalStorageGB
* The minimum and maximum amount of total local storage, in GB.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withTotalLocalStorageGB(
AwsEc2LaunchTemplateDataInstanceRequirementsTotalLocalStorageGBDetails totalLocalStorageGB) {
setTotalLocalStorageGB(totalLocalStorageGB);
return this;
}
/**
*
* The minimum and maximum number of vCPUs.
*
*
* @param vCpuCount
* The minimum and maximum number of vCPUs.
*/
public void setVCpuCount(AwsEc2LaunchTemplateDataInstanceRequirementsVCpuCountDetails vCpuCount) {
this.vCpuCount = vCpuCount;
}
/**
*
* The minimum and maximum number of vCPUs.
*
*
* @return The minimum and maximum number of vCPUs.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsVCpuCountDetails getVCpuCount() {
return this.vCpuCount;
}
/**
*
* The minimum and maximum number of vCPUs.
*
*
* @param vCpuCount
* The minimum and maximum number of vCPUs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails withVCpuCount(AwsEc2LaunchTemplateDataInstanceRequirementsVCpuCountDetails vCpuCount) {
setVCpuCount(vCpuCount);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getAcceleratorCount() != null)
sb.append("AcceleratorCount: ").append(getAcceleratorCount()).append(",");
if (getAcceleratorManufacturers() != null)
sb.append("AcceleratorManufacturers: ").append(getAcceleratorManufacturers()).append(",");
if (getAcceleratorNames() != null)
sb.append("AcceleratorNames: ").append(getAcceleratorNames()).append(",");
if (getAcceleratorTotalMemoryMiB() != null)
sb.append("AcceleratorTotalMemoryMiB: ").append(getAcceleratorTotalMemoryMiB()).append(",");
if (getAcceleratorTypes() != null)
sb.append("AcceleratorTypes: ").append(getAcceleratorTypes()).append(",");
if (getBareMetal() != null)
sb.append("BareMetal: ").append(getBareMetal()).append(",");
if (getBaselineEbsBandwidthMbps() != null)
sb.append("BaselineEbsBandwidthMbps: ").append(getBaselineEbsBandwidthMbps()).append(",");
if (getBurstablePerformance() != null)
sb.append("BurstablePerformance: ").append(getBurstablePerformance()).append(",");
if (getCpuManufacturers() != null)
sb.append("CpuManufacturers: ").append(getCpuManufacturers()).append(",");
if (getExcludedInstanceTypes() != null)
sb.append("ExcludedInstanceTypes: ").append(getExcludedInstanceTypes()).append(",");
if (getInstanceGenerations() != null)
sb.append("InstanceGenerations: ").append(getInstanceGenerations()).append(",");
if (getLocalStorage() != null)
sb.append("LocalStorage: ").append(getLocalStorage()).append(",");
if (getLocalStorageTypes() != null)
sb.append("LocalStorageTypes: ").append(getLocalStorageTypes()).append(",");
if (getMemoryGiBPerVCpu() != null)
sb.append("MemoryGiBPerVCpu: ").append(getMemoryGiBPerVCpu()).append(",");
if (getMemoryMiB() != null)
sb.append("MemoryMiB: ").append(getMemoryMiB()).append(",");
if (getNetworkInterfaceCount() != null)
sb.append("NetworkInterfaceCount: ").append(getNetworkInterfaceCount()).append(",");
if (getOnDemandMaxPricePercentageOverLowestPrice() != null)
sb.append("OnDemandMaxPricePercentageOverLowestPrice: ").append(getOnDemandMaxPricePercentageOverLowestPrice()).append(",");
if (getRequireHibernateSupport() != null)
sb.append("RequireHibernateSupport: ").append(getRequireHibernateSupport()).append(",");
if (getSpotMaxPricePercentageOverLowestPrice() != null)
sb.append("SpotMaxPricePercentageOverLowestPrice: ").append(getSpotMaxPricePercentageOverLowestPrice()).append(",");
if (getTotalLocalStorageGB() != null)
sb.append("TotalLocalStorageGB: ").append(getTotalLocalStorageGB()).append(",");
if (getVCpuCount() != null)
sb.append("VCpuCount: ").append(getVCpuCount());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof AwsEc2LaunchTemplateDataInstanceRequirementsDetails == false)
return false;
AwsEc2LaunchTemplateDataInstanceRequirementsDetails other = (AwsEc2LaunchTemplateDataInstanceRequirementsDetails) obj;
if (other.getAcceleratorCount() == null ^ this.getAcceleratorCount() == null)
return false;
if (other.getAcceleratorCount() != null && other.getAcceleratorCount().equals(this.getAcceleratorCount()) == false)
return false;
if (other.getAcceleratorManufacturers() == null ^ this.getAcceleratorManufacturers() == null)
return false;
if (other.getAcceleratorManufacturers() != null && other.getAcceleratorManufacturers().equals(this.getAcceleratorManufacturers()) == false)
return false;
if (other.getAcceleratorNames() == null ^ this.getAcceleratorNames() == null)
return false;
if (other.getAcceleratorNames() != null && other.getAcceleratorNames().equals(this.getAcceleratorNames()) == false)
return false;
if (other.getAcceleratorTotalMemoryMiB() == null ^ this.getAcceleratorTotalMemoryMiB() == null)
return false;
if (other.getAcceleratorTotalMemoryMiB() != null && other.getAcceleratorTotalMemoryMiB().equals(this.getAcceleratorTotalMemoryMiB()) == false)
return false;
if (other.getAcceleratorTypes() == null ^ this.getAcceleratorTypes() == null)
return false;
if (other.getAcceleratorTypes() != null && other.getAcceleratorTypes().equals(this.getAcceleratorTypes()) == false)
return false;
if (other.getBareMetal() == null ^ this.getBareMetal() == null)
return false;
if (other.getBareMetal() != null && other.getBareMetal().equals(this.getBareMetal()) == false)
return false;
if (other.getBaselineEbsBandwidthMbps() == null ^ this.getBaselineEbsBandwidthMbps() == null)
return false;
if (other.getBaselineEbsBandwidthMbps() != null && other.getBaselineEbsBandwidthMbps().equals(this.getBaselineEbsBandwidthMbps()) == false)
return false;
if (other.getBurstablePerformance() == null ^ this.getBurstablePerformance() == null)
return false;
if (other.getBurstablePerformance() != null && other.getBurstablePerformance().equals(this.getBurstablePerformance()) == false)
return false;
if (other.getCpuManufacturers() == null ^ this.getCpuManufacturers() == null)
return false;
if (other.getCpuManufacturers() != null && other.getCpuManufacturers().equals(this.getCpuManufacturers()) == false)
return false;
if (other.getExcludedInstanceTypes() == null ^ this.getExcludedInstanceTypes() == null)
return false;
if (other.getExcludedInstanceTypes() != null && other.getExcludedInstanceTypes().equals(this.getExcludedInstanceTypes()) == false)
return false;
if (other.getInstanceGenerations() == null ^ this.getInstanceGenerations() == null)
return false;
if (other.getInstanceGenerations() != null && other.getInstanceGenerations().equals(this.getInstanceGenerations()) == false)
return false;
if (other.getLocalStorage() == null ^ this.getLocalStorage() == null)
return false;
if (other.getLocalStorage() != null && other.getLocalStorage().equals(this.getLocalStorage()) == false)
return false;
if (other.getLocalStorageTypes() == null ^ this.getLocalStorageTypes() == null)
return false;
if (other.getLocalStorageTypes() != null && other.getLocalStorageTypes().equals(this.getLocalStorageTypes()) == false)
return false;
if (other.getMemoryGiBPerVCpu() == null ^ this.getMemoryGiBPerVCpu() == null)
return false;
if (other.getMemoryGiBPerVCpu() != null && other.getMemoryGiBPerVCpu().equals(this.getMemoryGiBPerVCpu()) == false)
return false;
if (other.getMemoryMiB() == null ^ this.getMemoryMiB() == null)
return false;
if (other.getMemoryMiB() != null && other.getMemoryMiB().equals(this.getMemoryMiB()) == false)
return false;
if (other.getNetworkInterfaceCount() == null ^ this.getNetworkInterfaceCount() == null)
return false;
if (other.getNetworkInterfaceCount() != null && other.getNetworkInterfaceCount().equals(this.getNetworkInterfaceCount()) == false)
return false;
if (other.getOnDemandMaxPricePercentageOverLowestPrice() == null ^ this.getOnDemandMaxPricePercentageOverLowestPrice() == null)
return false;
if (other.getOnDemandMaxPricePercentageOverLowestPrice() != null
&& other.getOnDemandMaxPricePercentageOverLowestPrice().equals(this.getOnDemandMaxPricePercentageOverLowestPrice()) == false)
return false;
if (other.getRequireHibernateSupport() == null ^ this.getRequireHibernateSupport() == null)
return false;
if (other.getRequireHibernateSupport() != null && other.getRequireHibernateSupport().equals(this.getRequireHibernateSupport()) == false)
return false;
if (other.getSpotMaxPricePercentageOverLowestPrice() == null ^ this.getSpotMaxPricePercentageOverLowestPrice() == null)
return false;
if (other.getSpotMaxPricePercentageOverLowestPrice() != null
&& other.getSpotMaxPricePercentageOverLowestPrice().equals(this.getSpotMaxPricePercentageOverLowestPrice()) == false)
return false;
if (other.getTotalLocalStorageGB() == null ^ this.getTotalLocalStorageGB() == null)
return false;
if (other.getTotalLocalStorageGB() != null && other.getTotalLocalStorageGB().equals(this.getTotalLocalStorageGB()) == false)
return false;
if (other.getVCpuCount() == null ^ this.getVCpuCount() == null)
return false;
if (other.getVCpuCount() != null && other.getVCpuCount().equals(this.getVCpuCount()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getAcceleratorCount() == null) ? 0 : getAcceleratorCount().hashCode());
hashCode = prime * hashCode + ((getAcceleratorManufacturers() == null) ? 0 : getAcceleratorManufacturers().hashCode());
hashCode = prime * hashCode + ((getAcceleratorNames() == null) ? 0 : getAcceleratorNames().hashCode());
hashCode = prime * hashCode + ((getAcceleratorTotalMemoryMiB() == null) ? 0 : getAcceleratorTotalMemoryMiB().hashCode());
hashCode = prime * hashCode + ((getAcceleratorTypes() == null) ? 0 : getAcceleratorTypes().hashCode());
hashCode = prime * hashCode + ((getBareMetal() == null) ? 0 : getBareMetal().hashCode());
hashCode = prime * hashCode + ((getBaselineEbsBandwidthMbps() == null) ? 0 : getBaselineEbsBandwidthMbps().hashCode());
hashCode = prime * hashCode + ((getBurstablePerformance() == null) ? 0 : getBurstablePerformance().hashCode());
hashCode = prime * hashCode + ((getCpuManufacturers() == null) ? 0 : getCpuManufacturers().hashCode());
hashCode = prime * hashCode + ((getExcludedInstanceTypes() == null) ? 0 : getExcludedInstanceTypes().hashCode());
hashCode = prime * hashCode + ((getInstanceGenerations() == null) ? 0 : getInstanceGenerations().hashCode());
hashCode = prime * hashCode + ((getLocalStorage() == null) ? 0 : getLocalStorage().hashCode());
hashCode = prime * hashCode + ((getLocalStorageTypes() == null) ? 0 : getLocalStorageTypes().hashCode());
hashCode = prime * hashCode + ((getMemoryGiBPerVCpu() == null) ? 0 : getMemoryGiBPerVCpu().hashCode());
hashCode = prime * hashCode + ((getMemoryMiB() == null) ? 0 : getMemoryMiB().hashCode());
hashCode = prime * hashCode + ((getNetworkInterfaceCount() == null) ? 0 : getNetworkInterfaceCount().hashCode());
hashCode = prime * hashCode
+ ((getOnDemandMaxPricePercentageOverLowestPrice() == null) ? 0 : getOnDemandMaxPricePercentageOverLowestPrice().hashCode());
hashCode = prime * hashCode + ((getRequireHibernateSupport() == null) ? 0 : getRequireHibernateSupport().hashCode());
hashCode = prime * hashCode + ((getSpotMaxPricePercentageOverLowestPrice() == null) ? 0 : getSpotMaxPricePercentageOverLowestPrice().hashCode());
hashCode = prime * hashCode + ((getTotalLocalStorageGB() == null) ? 0 : getTotalLocalStorageGB().hashCode());
hashCode = prime * hashCode + ((getVCpuCount() == null) ? 0 : getVCpuCount().hashCode());
return hashCode;
}
@Override
public AwsEc2LaunchTemplateDataInstanceRequirementsDetails clone() {
try {
return (AwsEc2LaunchTemplateDataInstanceRequirementsDetails) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.securityhub.model.transform.AwsEc2LaunchTemplateDataInstanceRequirementsDetailsMarshaller.getInstance().marshall(this,
protocolMarshaller);
}
}