/* * 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 finspace-2021-03-12.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.Finspace.Model { /// /// The configuration based on which FinSpace will scale in or scale out nodes in your /// cluster. /// public partial class AutoScalingConfiguration { private AutoScalingMetric _autoScalingMetric; private int? _maxNodeCount; private double? _metricTarget; private int? _minNodeCount; private double? _scaleInCooldownSeconds; private double? _scaleOutCooldownSeconds; /// /// Gets and sets the property AutoScalingMetric. /// /// The metric your cluster will track in order to scale in and out. For example, CPU_UTILIZATION_PERCENTAGE /// is the average CPU usage across all the nodes in a cluster. /// /// public AutoScalingMetric AutoScalingMetric { get { return this._autoScalingMetric; } set { this._autoScalingMetric = value; } } // Check to see if AutoScalingMetric property is set internal bool IsSetAutoScalingMetric() { return this._autoScalingMetric != null; } /// /// Gets and sets the property MaxNodeCount. /// /// The highest number of nodes to scale. This value cannot be greater than 5. /// /// [AWSProperty(Min=1, Max=5)] public int MaxNodeCount { get { return this._maxNodeCount.GetValueOrDefault(); } set { this._maxNodeCount = value; } } // Check to see if MaxNodeCount property is set internal bool IsSetMaxNodeCount() { return this._maxNodeCount.HasValue; } /// /// Gets and sets the property MetricTarget. /// /// The desired value of the chosen autoScalingMetric. When the metric drops /// below this value, the cluster will scale in. When the metric goes above this value, /// the cluster will scale out. You can set the target value between 1 and 100 percent. /// /// [AWSProperty(Min=1, Max=100)] public double MetricTarget { get { return this._metricTarget.GetValueOrDefault(); } set { this._metricTarget = value; } } // Check to see if MetricTarget property is set internal bool IsSetMetricTarget() { return this._metricTarget.HasValue; } /// /// Gets and sets the property MinNodeCount. /// /// The lowest number of nodes to scale. This value must be at least 1 and less than the /// maxNodeCount. If the nodes in a cluster belong to multiple availability /// zones, then minNodeCount must be at least 3. /// /// [AWSProperty(Min=1, Max=5)] public int MinNodeCount { get { return this._minNodeCount.GetValueOrDefault(); } set { this._minNodeCount = value; } } // Check to see if MinNodeCount property is set internal bool IsSetMinNodeCount() { return this._minNodeCount.HasValue; } /// /// Gets and sets the property ScaleInCooldownSeconds. /// /// The duration in seconds that FinSpace will wait after a scale in event before initiating /// another scaling event. /// /// [AWSProperty(Min=0, Max=100000)] public double ScaleInCooldownSeconds { get { return this._scaleInCooldownSeconds.GetValueOrDefault(); } set { this._scaleInCooldownSeconds = value; } } // Check to see if ScaleInCooldownSeconds property is set internal bool IsSetScaleInCooldownSeconds() { return this._scaleInCooldownSeconds.HasValue; } /// /// Gets and sets the property ScaleOutCooldownSeconds. /// /// The duration in seconds that FinSpace will wait after a scale out event before initiating /// another scaling event. /// /// [AWSProperty(Min=0, Max=100000)] public double ScaleOutCooldownSeconds { get { return this._scaleOutCooldownSeconds.GetValueOrDefault(); } set { this._scaleOutCooldownSeconds = value; } } // Check to see if ScaleOutCooldownSeconds property is set internal bool IsSetScaleOutCooldownSeconds() { return this._scaleOutCooldownSeconds.HasValue; } } }