/*
* 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 securityhub-2018-10-26.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.SecurityHub.Model
{
///
/// Information about the instances distribution.
///
public partial class AwsAutoScalingAutoScalingGroupMixedInstancesPolicyInstancesDistributionDetails
{
private string _onDemandAllocationStrategy;
private int? _onDemandBaseCapacity;
private int? _onDemandPercentageAboveBaseCapacity;
private string _spotAllocationStrategy;
private int? _spotInstancePools;
private string _spotMaxPrice;
///
/// Gets and sets the property OnDemandAllocationStrategy.
///
/// How to allocate instance types to fulfill On-Demand capacity. The valid value is prioritized
.
///
///
public string OnDemandAllocationStrategy
{
get { return this._onDemandAllocationStrategy; }
set { this._onDemandAllocationStrategy = value; }
}
// Check to see if OnDemandAllocationStrategy property is set
internal bool IsSetOnDemandAllocationStrategy()
{
return this._onDemandAllocationStrategy != null;
}
///
/// Gets and sets the property OnDemandBaseCapacity.
///
/// The minimum amount of the Auto Scaling group's capacity that must be fulfilled by
/// On-Demand Instances.
///
///
public int OnDemandBaseCapacity
{
get { return this._onDemandBaseCapacity.GetValueOrDefault(); }
set { this._onDemandBaseCapacity = value; }
}
// Check to see if OnDemandBaseCapacity property is set
internal bool IsSetOnDemandBaseCapacity()
{
return this._onDemandBaseCapacity.HasValue;
}
///
/// Gets and sets the property OnDemandPercentageAboveBaseCapacity.
///
/// The percentage of On-Demand Instances and Spot Instances for additional capacity beyond
/// OnDemandBaseCapacity
.
///
///
public int OnDemandPercentageAboveBaseCapacity
{
get { return this._onDemandPercentageAboveBaseCapacity.GetValueOrDefault(); }
set { this._onDemandPercentageAboveBaseCapacity = value; }
}
// Check to see if OnDemandPercentageAboveBaseCapacity property is set
internal bool IsSetOnDemandPercentageAboveBaseCapacity()
{
return this._onDemandPercentageAboveBaseCapacity.HasValue;
}
///
/// Gets and sets the property SpotAllocationStrategy.
///
/// How to allocate instances across Spot Instance pools. Valid values are as follows:
///
/// -
///
///
lowest-price
///
/// -
///
///
capacity-optimized
///
/// -
///
///
capacity-optimized-prioritized
///
///
///
public string SpotAllocationStrategy
{
get { return this._spotAllocationStrategy; }
set { this._spotAllocationStrategy = value; }
}
// Check to see if SpotAllocationStrategy property is set
internal bool IsSetSpotAllocationStrategy()
{
return this._spotAllocationStrategy != null;
}
///
/// Gets and sets the property SpotInstancePools.
///
/// The number of Spot Instance pools across which to allocate your Spot Instances.
///
///
public int SpotInstancePools
{
get { return this._spotInstancePools.GetValueOrDefault(); }
set { this._spotInstancePools = value; }
}
// Check to see if SpotInstancePools property is set
internal bool IsSetSpotInstancePools()
{
return this._spotInstancePools.HasValue;
}
///
/// Gets and sets the property SpotMaxPrice.
///
/// The maximum price per unit hour that you are willing to pay for a Spot Instance.
///
///
public string SpotMaxPrice
{
get { return this._spotMaxPrice; }
set { this._spotMaxPrice = value; }
}
// Check to see if SpotMaxPrice property is set
internal bool IsSetSpotMaxPrice()
{
return this._spotMaxPrice != null;
}
}
}