/*
* 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 GetBucketMetricData operation.
/// Returns the data points of a specific metric for an Amazon Lightsail bucket.
///
///
///
/// Metrics report the utilization of a bucket. View and collect metric data regularly
/// to monitor the number of objects stored in a bucket (including object versions) and
/// the storage space used by those objects.
///
///
public partial class GetBucketMetricDataRequest : AmazonLightsailRequest
{
private string _bucketName;
private DateTime? _endTime;
private BucketMetricName _metricName;
private int? _period;
private DateTime? _startTime;
private List _statistics = new List();
private MetricUnit _unit;
///
/// Gets and sets the property BucketName.
///
/// The name of the bucket for which to get metric data.
///
///
[AWSProperty(Required=true, Min=3, Max=54)]
public string BucketName
{
get { return this._bucketName; }
set { this._bucketName = value; }
}
// Check to see if BucketName property is set
internal bool IsSetBucketName()
{
return this._bucketName != null;
}
///
/// Gets and sets the property EndTime.
///
/// The timestamp indicating the latest data to be returned.
///
///
[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 bucket metric names are listed below, along with the most useful statistics
/// to include in your request, and the published unit value.
///
///
///
/// These bucket metrics are reported once per day.
///
/// -
///
///
BucketSizeBytes
- The amount of data in bytes stored in a bucket.
/// This value is calculated by summing the size of all objects in the bucket (including
/// object versions), including the size of all parts for all incomplete multipart uploads
/// to the bucket.
///
///
///
/// Statistics: The most useful statistic is Maximum
.
///
///
///
/// Unit: The published unit is Bytes
.
///
/// -
///
///
NumberOfObjects
- The total number of objects stored in a bucket.
/// This value is calculated by counting all objects in the bucket (including object versions)
/// and the total number of parts for all incomplete multipart uploads to the bucket.
///
///
///
/// Statistics: The most useful statistic is Average
.
///
///
///
/// Unit: The published unit is Count
.
///
///
///
[AWSProperty(Required=true)]
public BucketMetricName 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.
///
///
///
/// Bucket storage metrics are reported once per day. Therefore, you should specify a
/// period of 86400 seconds, which is the number of seconds in a day.
///
///
///
[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 StartTime.
///
/// The timestamp indicating the earliest data to be returned.
///
///
[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
- The sum of all values submitted for the matching metric. 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;
}
///
/// Gets and sets the property Unit.
///
/// The unit for the metric data request.
///
///
///
/// Valid units depend on the metric data being requested. For the valid units with each
/// available metric, see the metricName
parameter.
///
///
[AWSProperty(Required=true)]
public MetricUnit Unit
{
get { return this._unit; }
set { this._unit = value; }
}
// Check to see if Unit property is set
internal bool IsSetUnit()
{
return this._unit != null;
}
}
}