/* * 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 one or more Spot Instances. If you include /// On-Demand capacity in your fleet request or want to specify an EFA network device, /// you can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig. /// public partial class SpotFleetLaunchSpecification { private string _addressingType; private List _blockDeviceMappings = new List(); private bool? _ebsOptimized; private IamInstanceProfileSpecification _iamInstanceProfile; private string _imageId; private InstanceRequirements _instanceRequirements; private InstanceType _instanceType; private string _kernelId; private string _keyName; private SpotFleetMonitoring _monitoring; private List _networkInterfaces = new List(); private SpotPlacement _placement; private string _ramdiskId; private List _securityGroups = new List(); private string _spotPrice; private string _subnetId; private List _tagSpecifications = new List(); private string _userData; private double? _weightedCapacity; /// /// Gets and sets the property AddressingType. /// /// Deprecated. /// /// public string AddressingType { get { return this._addressingType; } set { this._addressingType = value; } } // Check to see if AddressingType property is set internal bool IsSetAddressingType() { return this._addressingType != null; } /// /// Gets and sets the property BlockDeviceMappings. /// /// One or more block devices that are mapped to the Spot Instances. You can't specify /// both a snapshot ID and an encryption value. This is because only blank volumes can /// be encrypted on creation. If a snapshot is the basis for a volume, it is not blank /// and its encryption status is used for the volume encryption status. /// /// 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 EbsOptimized. /// /// Indicates whether the instances are optimized for EBS I/O. This optimization provides /// dedicated throughput to Amazon EBS and an optimized configuration stack to provide /// optimal EBS I/O performance. This optimization isn't available with all instance types. /// Additional usage charges apply when using an EBS Optimized instance. /// /// /// /// Default: false /// /// public bool EbsOptimized { get { return this._ebsOptimized.GetValueOrDefault(); } set { this._ebsOptimized = value; } } // Check to see if EbsOptimized property is set internal bool IsSetEbsOptimized() { return this._ebsOptimized.HasValue; } /// /// Gets and sets the property IamInstanceProfile. /// /// The IAM instance profile. /// /// public IamInstanceProfileSpecification IamInstanceProfile { get { return this._iamInstanceProfile; } set { this._iamInstanceProfile = value; } } // Check to see if IamInstanceProfile property is set internal bool IsSetIamInstanceProfile() { return this._iamInstanceProfile != 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 InstanceRequirements. /// /// The attributes for the instance types. When you specify instance attributes, Amazon /// EC2 will identify instance types with those attributes. /// /// /// /// If you specify InstanceRequirements, you can't specify InstanceType. /// /// /// public InstanceRequirements InstanceRequirements { get { return this._instanceRequirements; } set { this._instanceRequirements = value; } } // Check to see if InstanceRequirements property is set internal bool IsSetInstanceRequirements() { return this._instanceRequirements != null; } /// /// Gets and sets the property InstanceType. /// /// The instance type. /// /// 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 KernelId. /// /// The ID of the kernel. /// /// 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 KeyName. /// /// The name of the key pair. /// /// public string KeyName { get { return this._keyName; } set { this._keyName = value; } } // Check to see if KeyName property is set internal bool IsSetKeyName() { return this._keyName != null; } /// /// Gets and sets the property Monitoring. /// /// Enable or disable monitoring for the instances. /// /// public SpotFleetMonitoring Monitoring { get { return this._monitoring; } set { this._monitoring = value; } } // Check to see if Monitoring property is set internal bool IsSetMonitoring() { return this._monitoring != null; } /// /// Gets and sets the property NetworkInterfaces. /// /// One or more network interfaces. If you specify a network interface, you must specify /// subnet IDs and security group IDs using the network interface. /// /// /// /// SpotFleetLaunchSpecification currently does not support Elastic Fabric /// Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig. /// /// /// public List NetworkInterfaces { get { return this._networkInterfaces; } set { this._networkInterfaces = value; } } // Check to see if NetworkInterfaces property is set internal bool IsSetNetworkInterfaces() { return this._networkInterfaces != null && this._networkInterfaces.Count > 0; } /// /// Gets and sets the property Placement. /// /// The placement information. /// /// public SpotPlacement 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 RamdiskId. /// /// The ID of the RAM disk. Some kernels require additional drivers at launch. Check the /// kernel requirements for information about whether you need to specify a RAM disk. /// To find kernel requirements, refer to the Amazon Web Services Resource Center and /// search for the kernel ID. /// /// 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 SecurityGroups. /// /// The security groups. /// /// public List SecurityGroups { get { return this._securityGroups; } set { this._securityGroups = value; } } // Check to see if SecurityGroups property is set internal bool IsSetSecurityGroups() { return this._securityGroups != null && this._securityGroups.Count > 0; } /// /// Gets and sets the property SpotPrice. /// /// The maximum price per unit hour that you are willing to pay for a Spot Instance. We /// do not recommend using this parameter because it can lead to increased interruptions. /// If you do not specify this parameter, you will pay the current Spot price. /// /// /// /// If you specify a maximum price, your instances will be interrupted more frequently /// than if you do not specify this parameter. /// /// /// public string SpotPrice { get { return this._spotPrice; } set { this._spotPrice = value; } } // Check to see if SpotPrice property is set internal bool IsSetSpotPrice() { return this._spotPrice != null; } /// /// Gets and sets the property SubnetId. /// /// The IDs of the subnets in which to launch the instances. To specify multiple subnets, /// separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2". /// /// 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 TagSpecifications. /// /// The tags to apply during creation. /// /// public List TagSpecifications { get { return this._tagSpecifications; } set { this._tagSpecifications = value; } } // Check to see if TagSpecifications property is set internal bool IsSetTagSpecifications() { return this._tagSpecifications != null && this._tagSpecifications.Count > 0; } /// /// Gets and sets the property UserData. /// /// The base64-encoded user data that instances use when starting up. User data is limited /// to 16 KB. /// /// [AWSProperty(Sensitive=true)] public string UserData { get { return this._userData; } set { this._userData = value; } } // Check to see if UserData property is set internal bool IsSetUserData() { return this._userData != null; } /// /// Gets and sets the property WeightedCapacity. /// /// The number of units provided by the specified instance type. These are the same units /// that you chose to set the target capacity in terms of instances, or a performance /// characteristic such as vCPUs, memory, or I/O. /// /// /// /// If the target capacity divided by this value is not a whole number, Amazon EC2 rounds /// the number of instances to the next whole number. If this value is not specified, /// the default is 1. /// /// public double WeightedCapacity { get { return this._weightedCapacity.GetValueOrDefault(); } set { this._weightedCapacity = value; } } // Check to see if WeightedCapacity property is set internal bool IsSetWeightedCapacity() { return this._weightedCapacity.HasValue; } } }