/* * 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 { /// /// Container for the parameters to the CreateFleet operation. /// Creates an EC2 Fleet that contains the configuration information for On-Demand Instances /// and Spot Instances. Instances are launched immediately if there is available capacity. /// /// /// /// A single EC2 Fleet can include multiple launch specifications that vary by instance /// type, AMI, Availability Zone, or subnet. /// /// /// /// For more information, see EC2 /// Fleet in the Amazon EC2 User Guide. /// /// public partial class CreateFleetRequest : AmazonEC2Request { private string _clientToken; private string _context; private FleetExcessCapacityTerminationPolicy _excessCapacityTerminationPolicy; private List _launchTemplateConfigs = new List(); private OnDemandOptionsRequest _onDemandOptions; private bool? _replaceUnhealthyInstances; private SpotOptionsRequest _spotOptions; private List _tagSpecifications = new List(); private TargetCapacitySpecificationRequest _targetCapacitySpecification; private bool? _terminateInstancesWithExpiration; private FleetType _type; private DateTime? _validFromUtc; private DateTime? _validUntilUtc; /// /// Gets and sets the property ClientToken. /// /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the /// request. For more information, see Ensuring /// idempotency. /// /// public string ClientToken { get { return this._clientToken; } set { this._clientToken = value; } } // Check to see if ClientToken property is set internal bool IsSetClientToken() { return this._clientToken != null; } /// /// Gets and sets the property Context. /// /// Reserved. /// /// public string Context { get { return this._context; } set { this._context = value; } } // Check to see if Context property is set internal bool IsSetContext() { return this._context != null; } /// /// Gets and sets the property ExcessCapacityTerminationPolicy. /// /// Indicates whether running instances should be terminated if the total target capacity /// of the EC2 Fleet is decreased below the current size of the EC2 Fleet. /// /// /// /// Supported only for fleets of type maintain. /// /// public FleetExcessCapacityTerminationPolicy ExcessCapacityTerminationPolicy { get { return this._excessCapacityTerminationPolicy; } set { this._excessCapacityTerminationPolicy = value; } } // Check to see if ExcessCapacityTerminationPolicy property is set internal bool IsSetExcessCapacityTerminationPolicy() { return this._excessCapacityTerminationPolicy != null; } /// /// Gets and sets the property LaunchTemplateConfigs. /// /// The configuration for the EC2 Fleet. /// /// [AWSProperty(Required=true, Min=0, Max=50)] public List LaunchTemplateConfigs { get { return this._launchTemplateConfigs; } set { this._launchTemplateConfigs = value; } } // Check to see if LaunchTemplateConfigs property is set internal bool IsSetLaunchTemplateConfigs() { return this._launchTemplateConfigs != null && this._launchTemplateConfigs.Count > 0; } /// /// Gets and sets the property OnDemandOptions. /// /// Describes the configuration of On-Demand Instances in an EC2 Fleet. /// /// public OnDemandOptionsRequest OnDemandOptions { get { return this._onDemandOptions; } set { this._onDemandOptions = value; } } // Check to see if OnDemandOptions property is set internal bool IsSetOnDemandOptions() { return this._onDemandOptions != null; } /// /// Gets and sets the property ReplaceUnhealthyInstances. /// /// Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only /// for fleets of type maintain. For more information, see EC2 /// Fleet health checks in the Amazon EC2 User Guide. /// /// public bool ReplaceUnhealthyInstances { get { return this._replaceUnhealthyInstances.GetValueOrDefault(); } set { this._replaceUnhealthyInstances = value; } } // Check to see if ReplaceUnhealthyInstances property is set internal bool IsSetReplaceUnhealthyInstances() { return this._replaceUnhealthyInstances.HasValue; } /// /// Gets and sets the property SpotOptions. /// /// Describes the configuration of Spot Instances in an EC2 Fleet. /// /// public SpotOptionsRequest SpotOptions { get { return this._spotOptions; } set { this._spotOptions = value; } } // Check to see if SpotOptions property is set internal bool IsSetSpotOptions() { return this._spotOptions != null; } /// /// Gets and sets the property TagSpecifications. /// /// The key-value pair for tagging the EC2 Fleet request on creation. For more information, /// see Tagging /// your resources. /// /// /// /// If the fleet type is instant, specify a resource type of fleet /// to tag the fleet or instance to tag the instances at launch. /// /// /// /// If the fleet type is maintain or request, specify a resource /// type of fleet to tag the fleet. You cannot specify a resource type of /// instance. To tag instances at launch, specify the tags in a launch /// template. /// /// 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 TargetCapacitySpecification. /// /// The number of units to request. /// /// [AWSProperty(Required=true)] public TargetCapacitySpecificationRequest TargetCapacitySpecification { get { return this._targetCapacitySpecification; } set { this._targetCapacitySpecification = value; } } // Check to see if TargetCapacitySpecification property is set internal bool IsSetTargetCapacitySpecification() { return this._targetCapacitySpecification != null; } /// /// Gets and sets the property TerminateInstancesWithExpiration. /// /// Indicates whether running instances should be terminated when the EC2 Fleet expires. /// /// public bool TerminateInstancesWithExpiration { get { return this._terminateInstancesWithExpiration.GetValueOrDefault(); } set { this._terminateInstancesWithExpiration = value; } } // Check to see if TerminateInstancesWithExpiration property is set internal bool IsSetTerminateInstancesWithExpiration() { return this._terminateInstancesWithExpiration.HasValue; } /// /// Gets and sets the property Type. /// /// The fleet type. The default value is maintain. /// ///
  • /// /// maintain - The EC2 Fleet places an asynchronous request for your desired /// capacity, and continues to maintain your desired Spot capacity by replenishing interrupted /// Spot Instances. /// ///
  • /// /// request - The EC2 Fleet places an asynchronous one-time request for /// your desired capacity, but does submit Spot requests in alternative capacity pools /// if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances /// are interrupted. /// ///
  • /// /// instant - The EC2 Fleet places a synchronous one-time request for your /// desired capacity, and returns errors for any instances that could not be launched. /// ///
/// /// For more information, see EC2 /// Fleet request types in the Amazon EC2 User Guide. /// ///
public FleetType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } /// /// Gets and sets the property ValidFromUtc. /// /// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). /// The default is to start fulfilling the request immediately. /// /// public DateTime ValidFromUtc { get { return this._validFromUtc.GetValueOrDefault(); } set { this._validFrom = this._validFromUtc = value; } } // Check to see if ValidFromUtc property is set internal bool IsSetValidFromUtc() { return this._validFromUtc.HasValue; } /// /// Gets and sets the property ValidUntilUtc. /// /// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). /// At this point, no new EC2 Fleet requests are placed or able to fulfill the request. /// If no value is specified, the request remains until you cancel it. /// /// public DateTime ValidUntilUtc { get { return this._validUntilUtc.GetValueOrDefault(); } set { this._validUntil = this._validUntilUtc = value; } } // Check to see if ValidUntilUtc property is set internal bool IsSetValidUntilUtc() { return this._validUntilUtc.HasValue; } #region Backwards compatible properties private DateTime? _validFrom; private DateTime? _validUntil; /// /// Gets and sets the property ValidFromUtc. /// /// This property is deprecated. Setting this property results in non-UTC DateTimes not /// being marshalled correctly. Use ValidFromUtc instead. Setting either ValidFrom or /// ValidFromUtc results in both ValidFrom and ValidFromUtc being assigned, the latest /// assignment to either one of the two property is reflected in the value of both. ValidFrom /// is provided for backwards compatibility only and assigning a non-Utc DateTime to it /// results in the wrong timestamp being passed to the service. /// /// /// /// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). /// The default is to start fulfilling the request immediately. /// /// [Obsolete("Setting this property results in non-UTC DateTimes not being marshalled correctly. " + "Use ValidFromUtc instead. Setting either ValidFrom or ValidFromUtc results in both ValidFrom and " + "ValidFromUtc being assigned, the latest assignment to either one of the two property is " + "reflected in the value of both. ValidFrom is provided for backwards compatibility only and " + "assigning a non-Utc DateTime to it results in the wrong timestamp being passed to the service.", false)] public DateTime ValidFrom { get { return this._validFrom.GetValueOrDefault(); } set { this._validFrom = value; this._validFromUtc = new DateTime(value.Ticks, DateTimeKind.Utc); } } /// /// Gets and sets the property ValidUntilUtc. /// /// This property is deprecated. Setting this property results in non-UTC DateTimes not /// being marshalled correctly. Use ValidUntilUtc instead. Setting either ValidUntil or /// ValidUntilUtc results in both ValidUntil and ValidUntilUtc being assigned, the latest /// assignment to either one of the two property is reflected in the value of both. ValidUntil /// is provided for backwards compatibility only and assigning a non-Utc DateTime to it /// results in the wrong timestamp being passed to the service. /// /// /// /// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). /// At this point, no new EC2 Fleet requests are placed or able to fulfill the request. /// If no value is specified, the request remains until you cancel it. /// /// [Obsolete("Setting this property results in non-UTC DateTimes not being marshalled correctly. " + "Use ValidUntilUtc instead. Setting either ValidUntil or ValidUntilUtc results in both ValidUntil and " + "ValidUntilUtc being assigned, the latest assignment to either one of the two property is " + "reflected in the value of both. ValidUntil is provided for backwards compatibility only and " + "assigning a non-Utc DateTime to it results in the wrong timestamp being passed to the service.", false)] public DateTime ValidUntil { get { return this._validUntil.GetValueOrDefault(); } set { this._validUntil = value; this._validUntilUtc = new DateTime(value.Ticks, DateTimeKind.Utc); } } #endregion } }