/* * 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 GetDistributionMetricData operation. /// Returns the data points of a specific metric for an Amazon Lightsail content delivery /// network (CDN) distribution. /// /// /// /// Metrics report the utilization of your resources, and the error counts generated by /// them. Monitor and collect metric data regularly to maintain the reliability, availability, /// and performance of your resources. /// /// public partial class GetDistributionMetricDataRequest : AmazonLightsailRequest { private string _distributionName; private DateTime? _endTime; private DistributionMetricName _metricName; private int? _period; private DateTime? _startTime; private List _statistics = new List(); private MetricUnit _unit; /// /// Gets and sets the property DistributionName. /// /// The name of the distribution for which to get metric data. /// /// /// /// Use the GetDistributions action to get a list of distribution names that /// you can specify. /// /// [AWSProperty(Required=true)] public string DistributionName { get { return this._distributionName; } set { this._distributionName = value; } } // Check to see if DistributionName property is set internal bool IsSetDistributionName() { return this._distributionName != null; } /// /// Gets and sets the property EndTime. /// /// The end of the time interval for which to get metric data. /// /// /// /// Constraints: /// ///
  • /// /// Specified in Coordinated Universal Time (UTC). /// ///
  • /// /// Specified in the Unix time format. /// /// /// /// For example, if you wish to use an end time of October 1, 2018, at 9 PM UTC, specify /// 1538427600 as the end time. /// ///
/// /// You can convert a human-friendly time to Unix time format using a converter like Epoch converter. /// ///
[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 distribution metric names are listed below, along with the most useful statistics /// to include in your request, and the published unit value. /// ///
  • /// /// Requests - The total number of viewer requests received by /// your Lightsail distribution, for all HTTP methods, and for both HTTP and HTTPS requests. /// /// /// /// Statistics: The most useful statistic is Sum. /// /// /// /// Unit: The published unit is None. /// ///
  • /// /// BytesDownloaded - The number of bytes downloaded by viewers /// for GET, HEAD, and OPTIONS requests. /// /// /// /// Statistics: The most useful statistic is Sum. /// /// /// /// Unit: The published unit is None. /// ///
  • /// /// BytesUploaded - The number of bytes uploaded to your origin /// by your Lightsail distribution, using POST and PUT requests. /// /// /// /// Statistics: The most useful statistic is Sum. /// /// /// /// Unit: The published unit is None. /// ///
  • /// /// TotalErrorRate - The percentage of all viewer requests for /// which the response's HTTP status code was 4xx or 5xx. /// /// /// /// Statistics: The most useful statistic is Average. /// /// /// /// Unit: The published unit is Percent. /// ///
  • /// /// 4xxErrorRate - The percentage of all viewer requests for which /// the response's HTTP status cod was 4xx. In these cases, the client or client viewer /// may have made an error. For example, a status code of 404 (Not Found) means that the /// client requested an object that could not be found. /// /// /// /// Statistics: The most useful statistic is Average. /// /// /// /// Unit: The published unit is Percent. /// ///
  • /// /// 5xxErrorRate - The percentage of all viewer requests for which /// the response's HTTP status code was 5xx. In these cases, the origin server did not /// satisfy the requests. For example, a status code of 503 (Service Unavailable) means /// that the origin server is currently unavailable. /// /// /// /// Statistics: The most useful statistic is Average. /// /// /// /// Unit: The published unit is Percent. /// ///
///
[AWSProperty(Required=true)] public DistributionMetricName 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, for the metric data points that will be returned. /// /// [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 start of the time interval for which to get metric data. /// /// /// /// Constraints: /// ///
  • /// /// Specified in Coordinated Universal Time (UTC). /// ///
  • /// /// Specified in the Unix time format. /// /// /// /// For example, if you wish to use a start time of October 1, 2018, at 8 PM UTC, specify /// 1538424000 as the start time. /// ///
/// /// You can convert a human-friendly time to Unix time format using a converter like Epoch converter. /// ///
[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; } /// /// 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; } } }