/*
* 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 compute-optimizer-2019-11-01.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.ComputeOptimizer.Model
{
///
/// Describes the projected utilization metrics of an Amazon ECS service recommendation
/// option.
///
///
///
/// To determine the performance difference between your current Amazon ECS service and
/// the recommended option, compare the utilization metric data of your service against
/// its projected utilization metric data.
///
///
public partial class ECSServiceProjectedUtilizationMetric
{
private double? _lowerBoundValue;
private ECSServiceMetricName _name;
private ECSServiceMetricStatistic _statistic;
private double? _upperBoundValue;
///
/// Gets and sets the property LowerBoundValue.
///
/// The lower bound values for the projected utilization metrics.
///
///
public double LowerBoundValue
{
get { return this._lowerBoundValue.GetValueOrDefault(); }
set { this._lowerBoundValue = value; }
}
// Check to see if LowerBoundValue property is set
internal bool IsSetLowerBoundValue()
{
return this._lowerBoundValue.HasValue;
}
///
/// Gets and sets the property Name.
///
/// The name of the projected utilization metric.
///
///
///
/// The following utilization metrics are available:
///
/// -
///
///
Cpu
— The percentage of allocated compute units that are currently in
/// use on the service tasks.
///
/// -
///
///
Memory
— The percentage of memory that's currently in use on the service
/// tasks.
///
///
///
public ECSServiceMetricName Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property Statistic.
///
/// The statistic of the projected utilization metric.
///
///
///
/// The Compute Optimizer API, Command Line Interface (CLI), and SDKs return utilization
/// metrics using only the Maximum
statistic, which is the highest value
/// observed during the specified period.
///
///
///
/// The Compute Optimizer console displays graphs for some utilization metrics using the
/// Average
statistic, which is the value of Sum
/ SampleCount
/// during the specified period. For more information, see Viewing
/// resource recommendations in the Compute Optimizer User Guide. You can also
/// get averaged utilization metric data for your resources using Amazon CloudWatch. For
/// more information, see the Amazon
/// CloudWatch User Guide.
///
///
public ECSServiceMetricStatistic Statistic
{
get { return this._statistic; }
set { this._statistic = value; }
}
// Check to see if Statistic property is set
internal bool IsSetStatistic()
{
return this._statistic != null;
}
///
/// Gets and sets the property UpperBoundValue.
///
/// The upper bound values for the projected utilization metrics.
///
///
public double UpperBoundValue
{
get { return this._upperBoundValue.GetValueOrDefault(); }
set { this._upperBoundValue = value; }
}
// Check to see if UpperBoundValue property is set
internal bool IsSetUpperBoundValue()
{
return this._upperBoundValue.HasValue;
}
}
}