/*
* 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 lightsail-2016-11-28.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.Lightsail.Model
{
///
/// Container for the parameters to the GetContainerServiceMetricData operation.
/// Returns the data points of a specific metric of your Amazon Lightsail container service.
///
///
///
/// Metrics report the utilization of your resources. Monitor and collect metric data
/// regularly to maintain the reliability, availability, and performance of your resources.
///
///
public partial class GetContainerServiceMetricDataRequest : AmazonLightsailRequest
{
private DateTime? _endTime;
private ContainerServiceMetricName _metricName;
private int? _period;
private string _serviceName;
private DateTime? _startTime;
private List _statistics = new List();
///
/// Gets and sets the property EndTime.
///
/// The end time of the time period.
///
///
[AWSProperty(Required=true)]
public DateTime EndTime
{
get { return this._endTime.GetValueOrDefault(); }
set { this._endTime = value; }
}
// Check to see if EndTime property is set
internal bool IsSetEndTime()
{
return this._endTime.HasValue;
}
///
/// Gets and sets the property MetricName.
///
/// The metric for which you want to return information.
///
///
///
/// Valid container service metric names are listed below, along with the most useful
/// statistics to include in your request, and the published unit value.
///
/// -
///
///
CPUUtilization
- The average percentage of compute units that are currently
/// in use across all nodes of the container service. This metric identifies the processing
/// power required to run containers on each node of the container service.
///
///
///
/// Statistics: The most useful statistics are Maximum
and Average
.
///
///
///
/// Unit: The published unit is Percent
.
///
/// -
///
///
MemoryUtilization
- The average percentage of available memory that
/// is currently in use across all nodes of the container service. This metric identifies
/// the memory required to run containers on each node of the container service.
///
///
///
/// Statistics: The most useful statistics are Maximum
and Average
.
///
///
///
/// Unit: The published unit is Percent
.
///
///
///
[AWSProperty(Required=true)]
public ContainerServiceMetricName MetricName
{
get { return this._metricName; }
set { this._metricName = value; }
}
// Check to see if MetricName property is set
internal bool IsSetMetricName()
{
return this._metricName != null;
}
///
/// Gets and sets the property Period.
///
/// The granularity, in seconds, of the returned data points.
///
///
///
/// All container service metric data is available in 5-minute (300 seconds) granularity.
///
///
[AWSProperty(Required=true, Min=60, Max=86400)]
public int Period
{
get { return this._period.GetValueOrDefault(); }
set { this._period = value; }
}
// Check to see if Period property is set
internal bool IsSetPeriod()
{
return this._period.HasValue;
}
///
/// Gets and sets the property ServiceName.
///
/// The name of the container service for which to get metric data.
///
///
[AWSProperty(Required=true, Min=1, Max=63)]
public string ServiceName
{
get { return this._serviceName; }
set { this._serviceName = value; }
}
// Check to see if ServiceName property is set
internal bool IsSetServiceName()
{
return this._serviceName != null;
}
///
/// Gets and sets the property StartTime.
///
/// The start time of the time period.
///
///
[AWSProperty(Required=true)]
public DateTime StartTime
{
get { return this._startTime.GetValueOrDefault(); }
set { this._startTime = value; }
}
// Check to see if StartTime property is set
internal bool IsSetStartTime()
{
return this._startTime.HasValue;
}
///
/// Gets and sets the property Statistics.
///
/// The statistic for the metric.
///
///
///
/// The following statistics are available:
///
/// -
///
///
Minimum
- The lowest value observed during the specified period. Use
/// this value to determine low volumes of activity for your application.
///
/// -
///
///
Maximum
- The highest value observed during the specified period. Use
/// this value to determine high volumes of activity for your application.
///
/// -
///
///
Sum
- All values submitted for the matching metric added together. You
/// can use this statistic to determine the total volume of a metric.
///
/// -
///
///
Average
- The value of Sum
/ SampleCount
during
/// the specified period. By comparing this statistic with the Minimum
and
/// Maximum
values, you can determine the full scope of a metric and how
/// close the average use is to the Minimum
and Maximum
values.
/// This comparison helps you to know when to increase or decrease your resources.
///
/// -
///
///
SampleCount
- The count, or number, of data points used for the statistical
/// calculation.
///
///
///
[AWSProperty(Required=true)]
public List Statistics
{
get { return this._statistics; }
set { this._statistics = value; }
}
// Check to see if Statistics property is set
internal bool IsSetStatistics()
{
return this._statistics != null && this._statistics.Count > 0;
}
}
}