/* * Copyright 2018-2023 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.lightsail.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Describes a bundle, which is a set of specs describing your virtual private server (or instance). *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Bundle implements Serializable, Cloneable, StructuredPojo { /** *
* The price in US dollars (e.g., 5.0
) of the bundle.
*
* The number of vCPUs included in the bundle (e.g., 2
).
*
* The size of the SSD (e.g., 30
).
*
* The bundle ID (e.g., micro_1_0
).
*
* The Amazon EC2 instance type (e.g., t2.micro
).
*
* A Boolean value indicating whether the bundle is active. *
*/ private Boolean isActive; /** *
* A friendly name for the bundle (e.g., Micro
).
*
* A numeric value that represents the power of the bundle (e.g., 500
). You can use the bundle's power
* value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the
* bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a
* blueprint with a minimum power value of 500.
*
* The amount of RAM in GB (e.g., 2.0
).
*
* The data transfer rate per month in GB (e.g., 2000
).
*
* The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only
* launch a WINDOWS
bundle on a blueprint that supports the WINDOWS
platform.
* LINUX_UNIX
blueprints require a LINUX_UNIX
bundle.
*
* Virtual computer blueprints that are supported by a Lightsail for Research bundle. *
** This parameter only applies to Lightsail for Research resources. *
*
* The price in US dollars (e.g., 5.0
) of the bundle.
*
5.0
) of the bundle.
*/
public void setPrice(Float price) {
this.price = price;
}
/**
*
* The price in US dollars (e.g., 5.0
) of the bundle.
*
5.0
) of the bundle.
*/
public Float getPrice() {
return this.price;
}
/**
*
* The price in US dollars (e.g., 5.0
) of the bundle.
*
5.0
) of the bundle.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Bundle withPrice(Float price) {
setPrice(price);
return this;
}
/**
*
* The number of vCPUs included in the bundle (e.g., 2
).
*
2
).
*/
public void setCpuCount(Integer cpuCount) {
this.cpuCount = cpuCount;
}
/**
*
* The number of vCPUs included in the bundle (e.g., 2
).
*
2
).
*/
public Integer getCpuCount() {
return this.cpuCount;
}
/**
*
* The number of vCPUs included in the bundle (e.g., 2
).
*
2
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Bundle withCpuCount(Integer cpuCount) {
setCpuCount(cpuCount);
return this;
}
/**
*
* The size of the SSD (e.g., 30
).
*
30
).
*/
public void setDiskSizeInGb(Integer diskSizeInGb) {
this.diskSizeInGb = diskSizeInGb;
}
/**
*
* The size of the SSD (e.g., 30
).
*
30
).
*/
public Integer getDiskSizeInGb() {
return this.diskSizeInGb;
}
/**
*
* The size of the SSD (e.g., 30
).
*
30
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Bundle withDiskSizeInGb(Integer diskSizeInGb) {
setDiskSizeInGb(diskSizeInGb);
return this;
}
/**
*
* The bundle ID (e.g., micro_1_0
).
*
micro_1_0
).
*/
public void setBundleId(String bundleId) {
this.bundleId = bundleId;
}
/**
*
* The bundle ID (e.g., micro_1_0
).
*
micro_1_0
).
*/
public String getBundleId() {
return this.bundleId;
}
/**
*
* The bundle ID (e.g., micro_1_0
).
*
micro_1_0
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Bundle withBundleId(String bundleId) {
setBundleId(bundleId);
return this;
}
/**
*
* The Amazon EC2 instance type (e.g., t2.micro
).
*
t2.micro
).
*/
public void setInstanceType(String instanceType) {
this.instanceType = instanceType;
}
/**
*
* The Amazon EC2 instance type (e.g., t2.micro
).
*
t2.micro
).
*/
public String getInstanceType() {
return this.instanceType;
}
/**
*
* The Amazon EC2 instance type (e.g., t2.micro
).
*
t2.micro
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Bundle withInstanceType(String instanceType) {
setInstanceType(instanceType);
return this;
}
/**
* * A Boolean value indicating whether the bundle is active. *
* * @param isActive * A Boolean value indicating whether the bundle is active. */ public void setIsActive(Boolean isActive) { this.isActive = isActive; } /** ** A Boolean value indicating whether the bundle is active. *
* * @return A Boolean value indicating whether the bundle is active. */ public Boolean getIsActive() { return this.isActive; } /** ** A Boolean value indicating whether the bundle is active. *
* * @param isActive * A Boolean value indicating whether the bundle is active. * @return Returns a reference to this object so that method calls can be chained together. */ public Bundle withIsActive(Boolean isActive) { setIsActive(isActive); return this; } /** ** A Boolean value indicating whether the bundle is active. *
* * @return A Boolean value indicating whether the bundle is active. */ public Boolean isActive() { return this.isActive; } /** *
* A friendly name for the bundle (e.g., Micro
).
*
Micro
).
*/
public void setName(String name) {
this.name = name;
}
/**
*
* A friendly name for the bundle (e.g., Micro
).
*
Micro
).
*/
public String getName() {
return this.name;
}
/**
*
* A friendly name for the bundle (e.g., Micro
).
*
Micro
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Bundle withName(String name) {
setName(name);
return this;
}
/**
*
* A numeric value that represents the power of the bundle (e.g., 500
). You can use the bundle's power
* value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the
* bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a
* blueprint with a minimum power value of 500.
*
500
). You can use the bundle's
* power value in conjunction with a blueprint's minimum power value to determine whether the blueprint will
* run on the bundle. For example, you need a bundle with a power value of 500 or more to create an instance
* that uses a blueprint with a minimum power value of 500.
*/
public void setPower(Integer power) {
this.power = power;
}
/**
*
* A numeric value that represents the power of the bundle (e.g., 500
). You can use the bundle's power
* value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the
* bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a
* blueprint with a minimum power value of 500.
*
500
). You can use the
* bundle's power value in conjunction with a blueprint's minimum power value to determine whether the
* blueprint will run on the bundle. For example, you need a bundle with a power value of 500 or more to
* create an instance that uses a blueprint with a minimum power value of 500.
*/
public Integer getPower() {
return this.power;
}
/**
*
* A numeric value that represents the power of the bundle (e.g., 500
). You can use the bundle's power
* value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the
* bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a
* blueprint with a minimum power value of 500.
*
500
). You can use the bundle's
* power value in conjunction with a blueprint's minimum power value to determine whether the blueprint will
* run on the bundle. For example, you need a bundle with a power value of 500 or more to create an instance
* that uses a blueprint with a minimum power value of 500.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Bundle withPower(Integer power) {
setPower(power);
return this;
}
/**
*
* The amount of RAM in GB (e.g., 2.0
).
*
2.0
).
*/
public void setRamSizeInGb(Float ramSizeInGb) {
this.ramSizeInGb = ramSizeInGb;
}
/**
*
* The amount of RAM in GB (e.g., 2.0
).
*
2.0
).
*/
public Float getRamSizeInGb() {
return this.ramSizeInGb;
}
/**
*
* The amount of RAM in GB (e.g., 2.0
).
*
2.0
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Bundle withRamSizeInGb(Float ramSizeInGb) {
setRamSizeInGb(ramSizeInGb);
return this;
}
/**
*
* The data transfer rate per month in GB (e.g., 2000
).
*
2000
).
*/
public void setTransferPerMonthInGb(Integer transferPerMonthInGb) {
this.transferPerMonthInGb = transferPerMonthInGb;
}
/**
*
* The data transfer rate per month in GB (e.g., 2000
).
*
2000
).
*/
public Integer getTransferPerMonthInGb() {
return this.transferPerMonthInGb;
}
/**
*
* The data transfer rate per month in GB (e.g., 2000
).
*
2000
).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Bundle withTransferPerMonthInGb(Integer transferPerMonthInGb) {
setTransferPerMonthInGb(transferPerMonthInGb);
return this;
}
/**
*
* The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only
* launch a WINDOWS
bundle on a blueprint that supports the WINDOWS
platform.
* LINUX_UNIX
blueprints require a LINUX_UNIX
bundle.
*
WINDOWS
bundle on a blueprint that supports the WINDOWS
* platform. LINUX_UNIX
blueprints require a LINUX_UNIX
bundle.
* @see InstancePlatform
*/
public java.util.List
* The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only
* launch a WINDOWS
bundle on a blueprint that supports the WINDOWS
platform.
* LINUX_UNIX
blueprints require a LINUX_UNIX
bundle.
*
WINDOWS
bundle on a blueprint that supports the WINDOWS
platform.
* LINUX_UNIX
blueprints require a LINUX_UNIX
bundle.
* @see InstancePlatform
*/
public void setSupportedPlatforms(java.util.Collection
* The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only
* launch a WINDOWS
bundle on a blueprint that supports the WINDOWS
platform.
* LINUX_UNIX
blueprints require a LINUX_UNIX
bundle.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSupportedPlatforms(java.util.Collection)} or {@link #withSupportedPlatforms(java.util.Collection)} if * you want to override the existing values. *
* * @param supportedPlatforms * The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can * only launch aWINDOWS
bundle on a blueprint that supports the WINDOWS
platform.
* LINUX_UNIX
blueprints require a LINUX_UNIX
bundle.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InstancePlatform
*/
public Bundle withSupportedPlatforms(String... supportedPlatforms) {
if (this.supportedPlatforms == null) {
setSupportedPlatforms(new java.util.ArrayList
* The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only
* launch a WINDOWS
bundle on a blueprint that supports the WINDOWS
platform.
* LINUX_UNIX
blueprints require a LINUX_UNIX
bundle.
*
WINDOWS
bundle on a blueprint that supports the WINDOWS
platform.
* LINUX_UNIX
blueprints require a LINUX_UNIX
bundle.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InstancePlatform
*/
public Bundle withSupportedPlatforms(java.util.Collection
* The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only
* launch a WINDOWS
bundle on a blueprint that supports the WINDOWS
platform.
* LINUX_UNIX
blueprints require a LINUX_UNIX
bundle.
*
WINDOWS
bundle on a blueprint that supports the WINDOWS
platform.
* LINUX_UNIX
blueprints require a LINUX_UNIX
bundle.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InstancePlatform
*/
public Bundle withSupportedPlatforms(InstancePlatform... supportedPlatforms) {
java.util.ArrayList* Virtual computer blueprints that are supported by a Lightsail for Research bundle. *
** This parameter only applies to Lightsail for Research resources. *
** This parameter only applies to Lightsail for Research resources. *
* @see AppCategory */ public java.util.List* Virtual computer blueprints that are supported by a Lightsail for Research bundle. *
** This parameter only applies to Lightsail for Research resources. *
** This parameter only applies to Lightsail for Research resources. *
* @see AppCategory */ public void setSupportedAppCategories(java.util.Collection* Virtual computer blueprints that are supported by a Lightsail for Research bundle. *
** This parameter only applies to Lightsail for Research resources. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSupportedAppCategories(java.util.Collection)} or * {@link #withSupportedAppCategories(java.util.Collection)} if you want to override the existing values. *
* * @param supportedAppCategories * Virtual computer blueprints that are supported by a Lightsail for Research bundle.* This parameter only applies to Lightsail for Research resources. *
* @return Returns a reference to this object so that method calls can be chained together. * @see AppCategory */ public Bundle withSupportedAppCategories(String... supportedAppCategories) { if (this.supportedAppCategories == null) { setSupportedAppCategories(new java.util.ArrayList* Virtual computer blueprints that are supported by a Lightsail for Research bundle. *
** This parameter only applies to Lightsail for Research resources. *
** This parameter only applies to Lightsail for Research resources. *
* @return Returns a reference to this object so that method calls can be chained together. * @see AppCategory */ public Bundle withSupportedAppCategories(java.util.Collection* Virtual computer blueprints that are supported by a Lightsail for Research bundle. *
** This parameter only applies to Lightsail for Research resources. *
** This parameter only applies to Lightsail for Research resources. *
* @return Returns a reference to this object so that method calls can be chained together. * @see AppCategory */ public Bundle withSupportedAppCategories(AppCategory... supportedAppCategories) { java.util.ArrayList