/*
* 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 ec2-2016-11-15.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.EC2.Model
{
///
/// Describes an image.
///
public partial class Image
{
private ArchitectureValues _architecture;
private List _blockDeviceMappings = new List();
private BootModeValues _bootMode;
private string _creationDate;
private string _deprecationTime;
private string _description;
private bool? _enaSupport;
private HypervisorType _hypervisor;
private string _imageId;
private string _imageLocation;
private string _imageOwnerAlias;
private ImageTypeValues _imageType;
private ImdsSupportValues _imdsSupport;
private string _kernelId;
private string _name;
private string _ownerId;
private PlatformValues _platform;
private string _platformDetails;
private List _productCodes = new List();
private bool? _public;
private string _ramdiskId;
private string _rootDeviceName;
private DeviceType _rootDeviceType;
private string _sriovNetSupport;
private ImageState _state;
private StateReason _stateReason;
private List _tags = new List();
private TpmSupportValues _tpmSupport;
private string _usageOperation;
private VirtualizationType _virtualizationType;
///
/// Gets and sets the property Architecture.
///
/// The architecture of the image.
///
///
public ArchitectureValues Architecture
{
get { return this._architecture; }
set { this._architecture = value; }
}
// Check to see if Architecture property is set
internal bool IsSetArchitecture()
{
return this._architecture != null;
}
///
/// Gets and sets the property BlockDeviceMappings.
///
/// Any block device mapping entries.
///
///
public List BlockDeviceMappings
{
get { return this._blockDeviceMappings; }
set { this._blockDeviceMappings = value; }
}
// Check to see if BlockDeviceMappings property is set
internal bool IsSetBlockDeviceMappings()
{
return this._blockDeviceMappings != null && this._blockDeviceMappings.Count > 0;
}
///
/// Gets and sets the property BootMode.
///
/// The boot mode of the image. For more information, see Boot
/// modes in the Amazon EC2 User Guide.
///
///
public BootModeValues BootMode
{
get { return this._bootMode; }
set { this._bootMode = value; }
}
// Check to see if BootMode property is set
internal bool IsSetBootMode()
{
return this._bootMode != null;
}
///
/// Gets and sets the property CreationDate.
///
/// The date and time the image was created.
///
///
public string CreationDate
{
get { return this._creationDate; }
set { this._creationDate = value; }
}
// Check to see if CreationDate property is set
internal bool IsSetCreationDate()
{
return this._creationDate != null;
}
///
/// Gets and sets the property DeprecationTime.
///
/// The date and time to deprecate the AMI, in UTC, in the following format: YYYY-MM-DDTHH:MM:SSZ.
/// If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest
/// minute.
///
///
public string DeprecationTime
{
get { return this._deprecationTime; }
set { this._deprecationTime = value; }
}
// Check to see if DeprecationTime property is set
internal bool IsSetDeprecationTime()
{
return this._deprecationTime != null;
}
///
/// Gets and sets the property Description.
///
/// The description of the AMI that was provided during image creation.
///
///
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property EnaSupport.
///
/// Specifies whether enhanced networking with ENA is enabled.
///
///
public bool EnaSupport
{
get { return this._enaSupport.GetValueOrDefault(); }
set { this._enaSupport = value; }
}
// Check to see if EnaSupport property is set
internal bool IsSetEnaSupport()
{
return this._enaSupport.HasValue;
}
///
/// Gets and sets the property Hypervisor.
///
/// The hypervisor type of the image.
///
///
public HypervisorType Hypervisor
{
get { return this._hypervisor; }
set { this._hypervisor = value; }
}
// Check to see if Hypervisor property is set
internal bool IsSetHypervisor()
{
return this._hypervisor != null;
}
///
/// Gets and sets the property ImageId.
///
/// The ID of the AMI.
///
///
public string ImageId
{
get { return this._imageId; }
set { this._imageId = value; }
}
// Check to see if ImageId property is set
internal bool IsSetImageId()
{
return this._imageId != null;
}
///
/// Gets and sets the property ImageLocation.
///
/// The location of the AMI.
///
///
public string ImageLocation
{
get { return this._imageLocation; }
set { this._imageLocation = value; }
}
// Check to see if ImageLocation property is set
internal bool IsSetImageLocation()
{
return this._imageLocation != null;
}
///
/// Gets and sets the property ImageOwnerAlias.
///
/// The Amazon Web Services account alias (for example, amazon
, self
)
/// or the Amazon Web Services account ID of the AMI owner.
///
///
public string ImageOwnerAlias
{
get { return this._imageOwnerAlias; }
set { this._imageOwnerAlias = value; }
}
// Check to see if ImageOwnerAlias property is set
internal bool IsSetImageOwnerAlias()
{
return this._imageOwnerAlias != null;
}
///
/// Gets and sets the property ImageType.
///
/// The type of image.
///
///
public ImageTypeValues ImageType
{
get { return this._imageType; }
set { this._imageType = value; }
}
// Check to see if ImageType property is set
internal bool IsSetImageType()
{
return this._imageType != null;
}
///
/// Gets and sets the property ImdsSupport.
///
/// If v2.0
, it indicates that IMDSv2 is specified in the AMI. Instances
/// launched from this AMI will have HttpTokens
automatically set to required
/// so that, by default, the instance requires that IMDSv2 is used when requesting instance
/// metadata. In addition, HttpPutResponseHopLimit
is set to 2
.
/// For more information, see Configure
/// the AMI in the Amazon EC2 User Guide.
///
///
public ImdsSupportValues ImdsSupport
{
get { return this._imdsSupport; }
set { this._imdsSupport = value; }
}
// Check to see if ImdsSupport property is set
internal bool IsSetImdsSupport()
{
return this._imdsSupport != null;
}
///
/// Gets and sets the property KernelId.
///
/// The kernel associated with the image, if any. Only applicable for machine images.
///
///
public string KernelId
{
get { return this._kernelId; }
set { this._kernelId = value; }
}
// Check to see if KernelId property is set
internal bool IsSetKernelId()
{
return this._kernelId != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the AMI that was provided during image creation.
///
///
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 OwnerId.
///
/// The ID of the Amazon Web Services account that owns the image.
///
///
public string OwnerId
{
get { return this._ownerId; }
set { this._ownerId = value; }
}
// Check to see if OwnerId property is set
internal bool IsSetOwnerId()
{
return this._ownerId != null;
}
///
/// Gets and sets the property Platform.
///
/// This value is set to windows
for Windows AMIs; otherwise, it is blank.
///
///
public PlatformValues Platform
{
get { return this._platform; }
set { this._platform = value; }
}
// Check to see if Platform property is set
internal bool IsSetPlatform()
{
return this._platform != null;
}
///
/// Gets and sets the property PlatformDetails.
///
/// The platform details associated with the billing code of the AMI. For more information,
/// see Understand
/// AMI billing information in the Amazon EC2 User Guide.
///
///
public string PlatformDetails
{
get { return this._platformDetails; }
set { this._platformDetails = value; }
}
// Check to see if PlatformDetails property is set
internal bool IsSetPlatformDetails()
{
return this._platformDetails != null;
}
///
/// Gets and sets the property ProductCodes.
///
/// Any product codes associated with the AMI.
///
///
public List ProductCodes
{
get { return this._productCodes; }
set { this._productCodes = value; }
}
// Check to see if ProductCodes property is set
internal bool IsSetProductCodes()
{
return this._productCodes != null && this._productCodes.Count > 0;
}
///
/// Gets and sets the property Public.
///
/// Indicates whether the image has public launch permissions. The value is true
/// if this image has public launch permissions or false
if it has only implicit
/// and explicit launch permissions.
///
///
public bool Public
{
get { return this._public.GetValueOrDefault(); }
set { this._public = value; }
}
// Check to see if Public property is set
internal bool IsSetPublic()
{
return this._public.HasValue;
}
///
/// Gets and sets the property RamdiskId.
///
/// The RAM disk associated with the image, if any. Only applicable for machine images.
///
///
public string RamdiskId
{
get { return this._ramdiskId; }
set { this._ramdiskId = value; }
}
// Check to see if RamdiskId property is set
internal bool IsSetRamdiskId()
{
return this._ramdiskId != null;
}
///
/// Gets and sets the property RootDeviceName.
///
/// The device name of the root device volume (for example, /dev/sda1
).
///
///
public string RootDeviceName
{
get { return this._rootDeviceName; }
set { this._rootDeviceName = value; }
}
// Check to see if RootDeviceName property is set
internal bool IsSetRootDeviceName()
{
return this._rootDeviceName != null;
}
///
/// Gets and sets the property RootDeviceType.
///
/// The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an
/// instance store volume.
///
///
public DeviceType RootDeviceType
{
get { return this._rootDeviceType; }
set { this._rootDeviceType = value; }
}
// Check to see if RootDeviceType property is set
internal bool IsSetRootDeviceType()
{
return this._rootDeviceType != null;
}
///
/// Gets and sets the property SriovNetSupport.
///
/// Specifies whether enhanced networking with the Intel 82599 Virtual Function interface
/// is enabled.
///
///
public string SriovNetSupport
{
get { return this._sriovNetSupport; }
set { this._sriovNetSupport = value; }
}
// Check to see if SriovNetSupport property is set
internal bool IsSetSriovNetSupport()
{
return this._sriovNetSupport != null;
}
///
/// Gets and sets the property State.
///
/// The current state of the AMI. If the state is available
, the image is
/// successfully registered and can be used to launch an instance.
///
///
public ImageState 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 StateReason.
///
/// The reason for the state change.
///
///
public StateReason StateReason
{
get { return this._stateReason; }
set { this._stateReason = value; }
}
// Check to see if StateReason property is set
internal bool IsSetStateReason()
{
return this._stateReason != null;
}
///
/// Gets and sets the property Tags.
///
/// Any tags assigned to the image.
///
///
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 TpmSupport.
///
/// If the image is configured for NitroTPM support, the value is v2.0
. For
/// more information, see NitroTPM
/// in the Amazon EC2 User Guide.
///
///
public TpmSupportValues TpmSupport
{
get { return this._tpmSupport; }
set { this._tpmSupport = value; }
}
// Check to see if TpmSupport property is set
internal bool IsSetTpmSupport()
{
return this._tpmSupport != null;
}
///
/// Gets and sets the property UsageOperation.
///
/// The operation of the Amazon EC2 instance and the billing code that is associated with
/// the AMI. usageOperation
corresponds to the lineitem/Operation
/// column on your Amazon Web Services Cost and Usage Report and in the Amazon
/// Web Services Price List API. You can view these fields on the Instances
/// or AMIs pages in the Amazon EC2 console, or in the responses that are returned
/// by the DescribeImages
/// command in the Amazon EC2 API, or the describe-images
/// command in the CLI.
///
///
public string UsageOperation
{
get { return this._usageOperation; }
set { this._usageOperation = value; }
}
// Check to see if UsageOperation property is set
internal bool IsSetUsageOperation()
{
return this._usageOperation != null;
}
///
/// Gets and sets the property VirtualizationType.
///
/// The type of virtualization of the AMI.
///
///
public VirtualizationType VirtualizationType
{
get { return this._virtualizationType; }
set { this._virtualizationType = value; }
}
// Check to see if VirtualizationType property is set
internal bool IsSetVirtualizationType()
{
return this._virtualizationType != null;
}
}
}