import { Value } from '../../../cloudformation/Value';
import { CapacityReservationOptionsRequestProps } from './CapacityReservationOptionsRequestProps';
/**
  Specifies the allocation strategy of On-Demand Instances in an EC2 Fleet.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html">the AWS Docs</a>
*/
export interface OnDemandOptionsRequestProps {
    /** <code>SingleAvailabilityZone</code>  <a name="cfn-ec2-ec2fleet-ondemandoptionsrequest-singleavailabilityzone"></a>
  Indicates that the fleet launches all On-Demand Instances into a single Availability Zone.<br />
  Supported only for fleets of type <code>instant</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    singleAvailabilityZone?: Value<boolean>;
    /** <code>AllocationStrategy</code>  <a name="cfn-ec2-ec2fleet-ondemandoptionsrequest-allocationstrategy"></a>
  The strategy that determines the order of the launch template overrides to use in fulfilling On-Demand capacity.<br />
  <code>lowest-price</code> - EC2 Fleet uses price to determine the order, launching the lowest price first.<br />
  <code>prioritized</code> - EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first.<br />
  Default: <code>lowest-price</code><br />
  
  Required: No<br />
  
  Allowed values: <code>lowest-price | prioritized</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    allocationStrategy?: Value<'lowest-price' | 'prioritized'>;
    /** <code>SingleInstanceType</code>  <a name="cfn-ec2-ec2fleet-ondemandoptionsrequest-singleinstancetype"></a>
  Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet.<br />
  Supported only for fleets of type <code>instant</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    singleInstanceType?: Value<boolean>;
    /** <code>MinTargetCapacity</code>  <a name="cfn-ec2-ec2fleet-ondemandoptionsrequest-mintargetcapacity"></a>
  The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.<br />
  Supported only for fleets of type <code>instant</code>.<br />
  At least one of the following must be specified: <code>SingleAvailabilityZone</code> | <code>SingleInstanceType</code><br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    minTargetCapacity?: Value<number>;
    /** <code>MaxTotalPrice</code>  <a name="cfn-ec2-ec2fleet-ondemandoptionsrequest-maxtotalprice"></a>
  The maximum amount per hour for On-Demand Instances that you’re willing to pay.<br />
  If your fleet includes T instances that are configured as <code>unlimited</code>, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The <code>MaxTotalPrice</code> does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for <code>MaxTotalPrice</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits">Surplus credits can incur charges</a> in the
  EC2 User Guide:
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    maxTotalPrice?: Value<string>;
    /** <code>CapacityReservationOptions</code>  <a name="cfn-ec2-ec2fleet-ondemandoptionsrequest-capacityreservationoptions"></a>
  The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.<br />
  Supported only for fleets of type <code>instant</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    capacityReservationOptions?: CapacityReservationOptionsRequestProps;
}
