/*
* 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 an instance (a virtual private server).
///
public partial class Instance
{
private List _addOns = new List();
private string _arn;
private string _blueprintId;
private string _blueprintName;
private string _bundleId;
private DateTime? _createdAt;
private InstanceHardware _hardware;
private IpAddressType _ipAddressType;
private List _ipv6Addresses = new List();
private bool? _isStaticIp;
private ResourceLocation _location;
private InstanceMetadataOptions _metadataOptions;
private string _name;
private InstanceNetworking _networking;
private string _privateIpAddress;
private string _publicIpAddress;
private ResourceType _resourceType;
private string _sshKeyName;
private InstanceState _state;
private string _supportCode;
private List _tags = new List();
private string _username;
///
/// Gets and sets the property AddOns.
///
/// An array of objects representing the add-ons enabled on the instance.
///
///
public List AddOns
{
get { return this._addOns; }
set { this._addOns = value; }
}
// Check to see if AddOns property is set
internal bool IsSetAddOns()
{
return this._addOns != null && this._addOns.Count > 0;
}
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE
).
///
///
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property BlueprintId.
///
/// The blueprint ID (e.g., os_amlinux_2016_03
).
///
///
public string BlueprintId
{
get { return this._blueprintId; }
set { this._blueprintId = value; }
}
// Check to see if BlueprintId property is set
internal bool IsSetBlueprintId()
{
return this._blueprintId != null;
}
///
/// Gets and sets the property BlueprintName.
///
/// The friendly name of the blueprint (e.g., Amazon Linux
).
///
///
public string BlueprintName
{
get { return this._blueprintName; }
set { this._blueprintName = value; }
}
// Check to see if BlueprintName property is set
internal bool IsSetBlueprintName()
{
return this._blueprintName != null;
}
///
/// Gets and sets the property BundleId.
///
/// The bundle for the instance (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 CreatedAt.
///
/// The timestamp when the instance was created (e.g., 1479734909.17
) in
/// Unix time format.
///
///
public DateTime CreatedAt
{
get { return this._createdAt.GetValueOrDefault(); }
set { this._createdAt = value; }
}
// Check to see if CreatedAt property is set
internal bool IsSetCreatedAt()
{
return this._createdAt.HasValue;
}
///
/// Gets and sets the property Hardware.
///
/// The size of the vCPU and the amount of RAM for the instance.
///
///
public InstanceHardware Hardware
{
get { return this._hardware; }
set { this._hardware = value; }
}
// Check to see if Hardware property is set
internal bool IsSetHardware()
{
return this._hardware != null;
}
///
/// Gets and sets the property IpAddressType.
///
/// The IP address type of the instance.
///
///
///
/// The possible values are ipv4
for IPv4 only, and dualstack
/// for IPv4 and IPv6.
///
///
public IpAddressType IpAddressType
{
get { return this._ipAddressType; }
set { this._ipAddressType = value; }
}
// Check to see if IpAddressType property is set
internal bool IsSetIpAddressType()
{
return this._ipAddressType != null;
}
///
/// Gets and sets the property Ipv6Addresses.
///
/// The IPv6 addresses of the instance.
///
///
public List Ipv6Addresses
{
get { return this._ipv6Addresses; }
set { this._ipv6Addresses = value; }
}
// Check to see if Ipv6Addresses property is set
internal bool IsSetIpv6Addresses()
{
return this._ipv6Addresses != null && this._ipv6Addresses.Count > 0;
}
///
/// Gets and sets the property IsStaticIp.
///
/// A Boolean value indicating whether this instance has a static IP assigned to it.
///
///
public bool IsStaticIp
{
get { return this._isStaticIp.GetValueOrDefault(); }
set { this._isStaticIp = value; }
}
// Check to see if IsStaticIp property is set
internal bool IsSetIsStaticIp()
{
return this._isStaticIp.HasValue;
}
///
/// Gets and sets the property Location.
///
/// The region name and Availability Zone where the instance is located.
///
///
public ResourceLocation Location
{
get { return this._location; }
set { this._location = value; }
}
// Check to see if Location property is set
internal bool IsSetLocation()
{
return this._location != null;
}
///
/// Gets and sets the property MetadataOptions.
///
/// The metadata options for the Amazon Lightsail instance.
///
///
public InstanceMetadataOptions MetadataOptions
{
get { return this._metadataOptions; }
set { this._metadataOptions = value; }
}
// Check to see if MetadataOptions property is set
internal bool IsSetMetadataOptions()
{
return this._metadataOptions != null;
}
///
/// Gets and sets the property Name.
///
/// The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1
).
///
///
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 Networking.
///
/// Information about the public ports and monthly data transfer rates for the instance.
///
///
public InstanceNetworking Networking
{
get { return this._networking; }
set { this._networking = value; }
}
// Check to see if Networking property is set
internal bool IsSetNetworking()
{
return this._networking != null;
}
///
/// Gets and sets the property PrivateIpAddress.
///
/// The private IP address of the instance.
///
///
public string PrivateIpAddress
{
get { return this._privateIpAddress; }
set { this._privateIpAddress = value; }
}
// Check to see if PrivateIpAddress property is set
internal bool IsSetPrivateIpAddress()
{
return this._privateIpAddress != null;
}
///
/// Gets and sets the property PublicIpAddress.
///
/// The public IP address of the instance.
///
///
public string PublicIpAddress
{
get { return this._publicIpAddress; }
set { this._publicIpAddress = value; }
}
// Check to see if PublicIpAddress property is set
internal bool IsSetPublicIpAddress()
{
return this._publicIpAddress != null;
}
///
/// Gets and sets the property ResourceType.
///
/// The type of resource (usually Instance
).
///
///
public ResourceType ResourceType
{
get { return this._resourceType; }
set { this._resourceType = value; }
}
// Check to see if ResourceType property is set
internal bool IsSetResourceType()
{
return this._resourceType != null;
}
///
/// Gets and sets the property SshKeyName.
///
/// The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair
).
///
///
public string SshKeyName
{
get { return this._sshKeyName; }
set { this._sshKeyName = value; }
}
// Check to see if SshKeyName property is set
internal bool IsSetSshKeyName()
{
return this._sshKeyName != null;
}
///
/// Gets and sets the property State.
///
/// The status code and the state (e.g., running
) for the instance.
///
///
public InstanceState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property SupportCode.
///
/// The support code. Include this code in your email to support when you have questions
/// about an instance or another resource in Lightsail. This code enables our support
/// team to look up your Lightsail information more easily.
///
///
public string SupportCode
{
get { return this._supportCode; }
set { this._supportCode = value; }
}
// Check to see if SupportCode property is set
internal bool IsSetSupportCode()
{
return this._supportCode != null;
}
///
/// Gets and sets the property Tags.
///
/// The tag keys and optional values for the resource. For more information about tags
/// in Lightsail, see the Amazon
/// Lightsail Developer Guide.
///
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property Username.
///
/// The user name for connecting to the instance (e.g., ec2-user
).
///
///
public string Username
{
get { return this._username; }
set { this._username = value; }
}
// Check to see if Username property is set
internal bool IsSetUsername()
{
return this._username != null;
}
}
}