/*
* 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
{
///
/// Container for the parameters to the GetScalingPlanResourceForecastData operation.
/// Retrieves the forecast data for a scalable resource.
///
///
///
/// Capacity forecasts are represented as predicted values, or data points, that are calculated
/// using historical data points from a specified CloudWatch load metric. Data points
/// are available for up to 56 days.
///
///
public partial class GetScalingPlanResourceForecastDataRequest : AmazonAutoScalingPlansRequest
{
private DateTime? _endTime;
private ForecastDataType _forecastDataType;
private string _resourceId;
private ScalableDimension _scalableDimension;
private string _scalingPlanName;
private long? _scalingPlanVersion;
private ServiceNamespace _serviceNamespace;
private DateTime? _startTime;
///
/// Gets and sets the property EndTime.
///
/// The exclusive end time of the time range for the forecast data to get. The maximum
/// time duration between the start and end time is seven days.
///
///
///
/// Although this parameter can accept a date and time that is more than two days in the
/// future, the availability of forecast data has limits. AWS Auto Scaling only issues
/// forecasts for periods of two days in advance.
///
///
[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 ForecastDataType.
///
/// The type of forecast data to get.
///
/// -
///
///
LoadForecast
: The load metric forecast.
///
/// -
///
///
CapacityForecast
: The capacity forecast.
///
/// -
///
///
ScheduledActionMinCapacity
: The minimum capacity for each scheduled
/// scaling action. This data is calculated as the larger of two values: the capacity
/// forecast or the minimum capacity in the scaling instruction.
///
/// -
///
///
ScheduledActionMaxCapacity
: The maximum capacity for each scheduled
/// scaling action. The calculation used is determined by the predictive scaling maximum
/// capacity behavior setting in the scaling instruction.
///
///
///
[AWSProperty(Required=true)]
public ForecastDataType ForecastDataType
{
get { return this._forecastDataType; }
set { this._forecastDataType = value; }
}
// Check to see if ForecastDataType property is set
internal bool IsSetForecastDataType()
{
return this._forecastDataType != null;
}
///
/// Gets and sets the property ResourceId.
///
/// The ID of the resource. This string consists of a prefix (autoScalingGroup
)
/// followed by the name of a specified Auto Scaling group (my-asg
). Example:
/// autoScalingGroup/my-asg
.
///
///
[AWSProperty(Required=true)]
public string ResourceId
{
get { return this._resourceId; }
set { this._resourceId = value; }
}
// Check to see if ResourceId property is set
internal bool IsSetResourceId()
{
return this._resourceId != null;
}
///
/// Gets and sets the property ScalableDimension.
///
/// The scalable dimension for the resource. The only valid value is autoscaling:autoScalingGroup:DesiredCapacity
.
///
///
///
[AWSProperty(Required=true)]
public ScalableDimension ScalableDimension
{
get { return this._scalableDimension; }
set { this._scalableDimension = value; }
}
// Check to see if ScalableDimension property is set
internal bool IsSetScalableDimension()
{
return this._scalableDimension != null;
}
///
/// Gets and sets the property ScalingPlanName.
///
/// The name of the scaling plan.
///
///
[AWSProperty(Required=true, Min=1, Max=128)]
public string ScalingPlanName
{
get { return this._scalingPlanName; }
set { this._scalingPlanName = value; }
}
// Check to see if ScalingPlanName property is set
internal bool IsSetScalingPlanName()
{
return this._scalingPlanName != null;
}
///
/// Gets and sets the property ScalingPlanVersion.
///
/// The version number of the scaling plan. Currently, the only valid value is 1
.
///
///
[AWSProperty(Required=true)]
public long ScalingPlanVersion
{
get { return this._scalingPlanVersion.GetValueOrDefault(); }
set { this._scalingPlanVersion = value; }
}
// Check to see if ScalingPlanVersion property is set
internal bool IsSetScalingPlanVersion()
{
return this._scalingPlanVersion.HasValue;
}
///
/// Gets and sets the property ServiceNamespace.
///
/// The namespace of the AWS service. The only valid value is autoscaling
.
///
///
///
[AWSProperty(Required=true)]
public ServiceNamespace ServiceNamespace
{
get { return this._serviceNamespace; }
set { this._serviceNamespace = value; }
}
// Check to see if ServiceNamespace property is set
internal bool IsSetServiceNamespace()
{
return this._serviceNamespace != null;
}
///
/// Gets and sets the property StartTime.
///
/// The inclusive start time of the time range for the forecast data to get. The date
/// and time can be at most 56 days before the current date and time.
///
///
[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;
}
}
}