/*
* 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 the launch specification for VM import.
///
public partial class ImportInstanceLaunchSpecification
{
private string _additionalInfo;
private ArchitectureValues _architecture;
private List _groupIds = new List();
private List _groupNames = new List();
private ShutdownBehavior _instanceInitiatedShutdownBehavior;
private InstanceType _instanceType;
private bool? _monitoring;
private Placement _placement;
private string _privateIpAddress;
private string _subnetId;
private UserData _userData;
///
/// Gets and sets the property AdditionalInfo.
///
/// Reserved.
///
///
public string AdditionalInfo
{
get { return this._additionalInfo; }
set { this._additionalInfo = value; }
}
// Check to see if AdditionalInfo property is set
internal bool IsSetAdditionalInfo()
{
return this._additionalInfo != null;
}
///
/// Gets and sets the property Architecture.
///
/// The architecture of the instance.
///
///
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 GroupIds.
///
/// The security group IDs.
///
///
public List GroupIds
{
get { return this._groupIds; }
set { this._groupIds = value; }
}
// Check to see if GroupIds property is set
internal bool IsSetGroupIds()
{
return this._groupIds != null && this._groupIds.Count > 0;
}
///
/// Gets and sets the property GroupNames.
///
/// The security group names.
///
///
public List GroupNames
{
get { return this._groupNames; }
set { this._groupNames = value; }
}
// Check to see if GroupNames property is set
internal bool IsSetGroupNames()
{
return this._groupNames != null && this._groupNames.Count > 0;
}
///
/// Gets and sets the property InstanceInitiatedShutdownBehavior.
///
/// Indicates whether an instance stops or terminates when you initiate shutdown from
/// the instance (using the operating system command for system shutdown).
///
///
public ShutdownBehavior InstanceInitiatedShutdownBehavior
{
get { return this._instanceInitiatedShutdownBehavior; }
set { this._instanceInitiatedShutdownBehavior = value; }
}
// Check to see if InstanceInitiatedShutdownBehavior property is set
internal bool IsSetInstanceInitiatedShutdownBehavior()
{
return this._instanceInitiatedShutdownBehavior != null;
}
///
/// Gets and sets the property InstanceType.
///
/// The instance type. For more information about the instance types that you can import,
/// see Instance
/// Types in the VM Import/Export User Guide.
///
///
public InstanceType 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 Monitoring.
///
/// Indicates whether monitoring is enabled.
///
///
public bool Monitoring
{
get { return this._monitoring.GetValueOrDefault(); }
set { this._monitoring = value; }
}
// Check to see if Monitoring property is set
internal bool IsSetMonitoring()
{
return this._monitoring.HasValue;
}
///
/// Gets and sets the property Placement.
///
/// The placement information for the instance.
///
///
public Placement Placement
{
get { return this._placement; }
set { this._placement = value; }
}
// Check to see if Placement property is set
internal bool IsSetPlacement()
{
return this._placement != null;
}
///
/// Gets and sets the property PrivateIpAddress.
///
/// [EC2-VPC] An available IP address from the IP address range of the subnet.
///
///
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 SubnetId.
///
/// [EC2-VPC] The ID of the subnet in which to launch the instance.
///
///
public string SubnetId
{
get { return this._subnetId; }
set { this._subnetId = value; }
}
// Check to see if SubnetId property is set
internal bool IsSetSubnetId()
{
return this._subnetId != null;
}
///
/// Gets and sets the property UserData.
///
/// The Base64-encoded user data to make available to the instance.
///
///
[AWSProperty(Sensitive=true)]
public UserData UserData
{
get { return this._userData; }
set { this._userData = value; }
}
// Check to see if UserData property is set
internal bool IsSetUserData()
{
return this._userData != null;
}
}
}