/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the lightsail-2016-11-28.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Lightsail.Model
{
///
/// Describes a bundle, which is a set of specs describing your virtual private server
/// (or instance).
///
public partial class Bundle
{
private string _bundleId;
private int? _cpuCount;
private int? _diskSizeInGb;
private string _instanceType;
private bool? _isActive;
private string _name;
private int? _power;
private float? _price;
private float? _ramSizeInGb;
private List _supportedAppCategories = new List();
private List _supportedPlatforms = new List();
private int? _transferPerMonthInGb;
///
/// Gets and sets the property BundleId.
///
/// The bundle ID (e.g., micro_1_0
).
///
///
public string BundleId
{
get { return this._bundleId; }
set { this._bundleId = value; }
}
// Check to see if BundleId property is set
internal bool IsSetBundleId()
{
return this._bundleId != null;
}
///
/// Gets and sets the property CpuCount.
///
/// The number of vCPUs included in the bundle (e.g., 2
).
///
///
public int CpuCount
{
get { return this._cpuCount.GetValueOrDefault(); }
set { this._cpuCount = value; }
}
// Check to see if CpuCount property is set
internal bool IsSetCpuCount()
{
return this._cpuCount.HasValue;
}
///
/// Gets and sets the property DiskSizeInGb.
///
/// The size of the SSD (e.g., 30
).
///
///
public int DiskSizeInGb
{
get { return this._diskSizeInGb.GetValueOrDefault(); }
set { this._diskSizeInGb = value; }
}
// Check to see if DiskSizeInGb property is set
internal bool IsSetDiskSizeInGb()
{
return this._diskSizeInGb.HasValue;
}
///
/// Gets and sets the property InstanceType.
///
/// The Amazon EC2 instance type (e.g., t2.micro
).
///
///
public string InstanceType
{
get { return this._instanceType; }
set { this._instanceType = value; }
}
// Check to see if InstanceType property is set
internal bool IsSetInstanceType()
{
return this._instanceType != null;
}
///
/// Gets and sets the property IsActive.
///
/// A Boolean value indicating whether the bundle is active.
///
///
public bool IsActive
{
get { return this._isActive.GetValueOrDefault(); }
set { this._isActive = value; }
}
// Check to see if IsActive property is set
internal bool IsSetIsActive()
{
return this._isActive.HasValue;
}
///
/// Gets and sets the property Name.
///
/// A friendly name for the bundle (e.g., Micro
).
///
///
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property 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.
///
///
public int Power
{
get { return this._power.GetValueOrDefault(); }
set { this._power = value; }
}
// Check to see if Power property is set
internal bool IsSetPower()
{
return this._power.HasValue;
}
///
/// Gets and sets the property Price.
///
/// The price in US dollars (e.g., 5.0
) of the bundle.
///
///
public float Price
{
get { return this._price.GetValueOrDefault(); }
set { this._price = value; }
}
// Check to see if Price property is set
internal bool IsSetPrice()
{
return this._price.HasValue;
}
///
/// Gets and sets the property RamSizeInGb.
///
/// The amount of RAM in GB (e.g., 2.0
).
///
///
public float RamSizeInGb
{
get { return this._ramSizeInGb.GetValueOrDefault(); }
set { this._ramSizeInGb = value; }
}
// Check to see if RamSizeInGb property is set
internal bool IsSetRamSizeInGb()
{
return this._ramSizeInGb.HasValue;
}
///
/// Gets and sets the property SupportedAppCategories.
///
/// Virtual computer blueprints that are supported by a Lightsail for Research bundle.
///
///
///
/// This parameter only applies to Lightsail for Research resources.
///
///
///
public List SupportedAppCategories
{
get { return this._supportedAppCategories; }
set { this._supportedAppCategories = value; }
}
// Check to see if SupportedAppCategories property is set
internal bool IsSetSupportedAppCategories()
{
return this._supportedAppCategories != null && this._supportedAppCategories.Count > 0;
}
///
/// Gets and sets the property SupportedPlatforms.
///
/// 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.
///
///
public List SupportedPlatforms
{
get { return this._supportedPlatforms; }
set { this._supportedPlatforms = value; }
}
// Check to see if SupportedPlatforms property is set
internal bool IsSetSupportedPlatforms()
{
return this._supportedPlatforms != null && this._supportedPlatforms.Count > 0;
}
///
/// Gets and sets the property TransferPerMonthInGb.
///
/// The data transfer rate per month in GB (e.g., 2000
).
///
///
public int TransferPerMonthInGb
{
get { return this._transferPerMonthInGb.GetValueOrDefault(); }
set { this._transferPerMonthInGb = value; }
}
// Check to see if TransferPerMonthInGb property is set
internal bool IsSetTransferPerMonthInGb()
{
return this._transferPerMonthInGb.HasValue;
}
}
}