/* * 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 autoscaling-plans-2018-01-06.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.AutoScalingPlans.Model { /// /// Represents a CloudWatch metric of your choosing that can be used for predictive scaling. /// /// /// /// /// For predictive scaling to work with a customized load metric specification, AWS Auto /// Scaling needs access to the Sum and Average statistics that /// CloudWatch computes from metric data. /// /// /// /// When you choose a load metric, make sure that the required Sum and Average /// statistics for your metric are available in CloudWatch and that they provide relevant /// data for predictive scaling. The Sum statistic must represent the total /// load on the resource, and the Average statistic must represent the average /// load per capacity unit of the resource. For example, there is a metric that counts /// the number of requests processed by your Auto Scaling group. If the Sum /// statistic represents the total request count processed by the group, then the Average /// statistic for the specified metric must represent the average request count processed /// by each instance of the group. /// /// /// /// If you publish your own metrics, you can aggregate the data points at a given interval /// and then publish the aggregated data points to CloudWatch. Before AWS Auto Scaling /// generates the forecast, it sums up all the metric data points that occurred within /// each hour to match the granularity period that is used in the forecast (60 minutes). /// /// /// /// For information about terminology, available metrics, or how to publish new metrics, /// see Amazon /// CloudWatch Concepts in the Amazon CloudWatch User Guide. /// /// /// /// After creating your scaling plan, you can use the AWS Auto Scaling console to visualize /// forecasts for the specified metric. For more information, see View /// Scaling Information for a Resource in the AWS Auto Scaling User Guide. /// /// public partial class CustomizedLoadMetricSpecification { private List _dimensions = new List(); private string _metricName; private string _awsNamespace; private MetricStatistic _statistic; private string _unit; /// /// Gets and sets the property Dimensions. /// /// The dimensions of the metric. /// /// /// /// Conditional: If you published your metric with dimensions, you must specify the same /// dimensions in your customized load metric specification. /// /// public List Dimensions { get { return this._dimensions; } set { this._dimensions = value; } } // Check to see if Dimensions property is set internal bool IsSetDimensions() { return this._dimensions != null && this._dimensions.Count > 0; } /// /// Gets and sets the property MetricName. /// /// The name of the metric. /// /// [AWSProperty(Required=true)] public string 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 Namespace. /// /// The namespace of the metric. /// /// [AWSProperty(Required=true)] public string Namespace { get { return this._awsNamespace; } set { this._awsNamespace = value; } } // Check to see if Namespace property is set internal bool IsSetNamespace() { return this._awsNamespace != null; } /// /// Gets and sets the property Statistic. /// /// The statistic of the metric. The only valid value is Sum. /// /// [AWSProperty(Required=true)] public MetricStatistic 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 Unit. /// /// The unit of the metric. /// /// public string Unit { get { return this._unit; } set { this._unit = value; } } // Check to see if Unit property is set internal bool IsSetUnit() { return this._unit != null; } } }