/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace AutoScalingPlans { namespace Model { /** */ class GetScalingPlanResourceForecastDataRequest : public AutoScalingPlansRequest { public: AWS_AUTOSCALINGPLANS_API GetScalingPlanResourceForecastDataRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetScalingPlanResourceForecastData"; } AWS_AUTOSCALINGPLANS_API Aws::String SerializePayload() const override; AWS_AUTOSCALINGPLANS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the scaling plan.

*/ inline const Aws::String& GetScalingPlanName() const{ return m_scalingPlanName; } /** *

The name of the scaling plan.

*/ inline bool ScalingPlanNameHasBeenSet() const { return m_scalingPlanNameHasBeenSet; } /** *

The name of the scaling plan.

*/ inline void SetScalingPlanName(const Aws::String& value) { m_scalingPlanNameHasBeenSet = true; m_scalingPlanName = value; } /** *

The name of the scaling plan.

*/ inline void SetScalingPlanName(Aws::String&& value) { m_scalingPlanNameHasBeenSet = true; m_scalingPlanName = std::move(value); } /** *

The name of the scaling plan.

*/ inline void SetScalingPlanName(const char* value) { m_scalingPlanNameHasBeenSet = true; m_scalingPlanName.assign(value); } /** *

The name of the scaling plan.

*/ inline GetScalingPlanResourceForecastDataRequest& WithScalingPlanName(const Aws::String& value) { SetScalingPlanName(value); return *this;} /** *

The name of the scaling plan.

*/ inline GetScalingPlanResourceForecastDataRequest& WithScalingPlanName(Aws::String&& value) { SetScalingPlanName(std::move(value)); return *this;} /** *

The name of the scaling plan.

*/ inline GetScalingPlanResourceForecastDataRequest& WithScalingPlanName(const char* value) { SetScalingPlanName(value); return *this;} /** *

The version number of the scaling plan. Currently, the only valid value is * 1.

*/ inline long long GetScalingPlanVersion() const{ return m_scalingPlanVersion; } /** *

The version number of the scaling plan. Currently, the only valid value is * 1.

*/ inline bool ScalingPlanVersionHasBeenSet() const { return m_scalingPlanVersionHasBeenSet; } /** *

The version number of the scaling plan. Currently, the only valid value is * 1.

*/ inline void SetScalingPlanVersion(long long value) { m_scalingPlanVersionHasBeenSet = true; m_scalingPlanVersion = value; } /** *

The version number of the scaling plan. Currently, the only valid value is * 1.

*/ inline GetScalingPlanResourceForecastDataRequest& WithScalingPlanVersion(long long value) { SetScalingPlanVersion(value); return *this;} /** *

The namespace of the AWS service. The only valid value is * autoscaling.

*/ inline const ServiceNamespace& GetServiceNamespace() const{ return m_serviceNamespace; } /** *

The namespace of the AWS service. The only valid value is * autoscaling.

*/ inline bool ServiceNamespaceHasBeenSet() const { return m_serviceNamespaceHasBeenSet; } /** *

The namespace of the AWS service. The only valid value is * autoscaling.

*/ inline void SetServiceNamespace(const ServiceNamespace& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = value; } /** *

The namespace of the AWS service. The only valid value is * autoscaling.

*/ inline void SetServiceNamespace(ServiceNamespace&& value) { m_serviceNamespaceHasBeenSet = true; m_serviceNamespace = std::move(value); } /** *

The namespace of the AWS service. The only valid value is * autoscaling.

*/ inline GetScalingPlanResourceForecastDataRequest& WithServiceNamespace(const ServiceNamespace& value) { SetServiceNamespace(value); return *this;} /** *

The namespace of the AWS service. The only valid value is * autoscaling.

*/ inline GetScalingPlanResourceForecastDataRequest& WithServiceNamespace(ServiceNamespace&& value) { SetServiceNamespace(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::String& GetResourceId() const{ return m_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.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

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.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

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.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

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.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

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.

*/ inline GetScalingPlanResourceForecastDataRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

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.

*/ inline GetScalingPlanResourceForecastDataRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

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.

*/ inline GetScalingPlanResourceForecastDataRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The scalable dimension for the resource. The only valid value is * autoscaling:autoScalingGroup:DesiredCapacity.

*/ inline const ScalableDimension& GetScalableDimension() const{ return m_scalableDimension; } /** *

The scalable dimension for the resource. The only valid value is * autoscaling:autoScalingGroup:DesiredCapacity.

*/ inline bool ScalableDimensionHasBeenSet() const { return m_scalableDimensionHasBeenSet; } /** *

The scalable dimension for the resource. The only valid value is * autoscaling:autoScalingGroup:DesiredCapacity.

*/ inline void SetScalableDimension(const ScalableDimension& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = value; } /** *

The scalable dimension for the resource. The only valid value is * autoscaling:autoScalingGroup:DesiredCapacity.

*/ inline void SetScalableDimension(ScalableDimension&& value) { m_scalableDimensionHasBeenSet = true; m_scalableDimension = std::move(value); } /** *

The scalable dimension for the resource. The only valid value is * autoscaling:autoScalingGroup:DesiredCapacity.

*/ inline GetScalingPlanResourceForecastDataRequest& WithScalableDimension(const ScalableDimension& value) { SetScalableDimension(value); return *this;} /** *

The scalable dimension for the resource. The only valid value is * autoscaling:autoScalingGroup:DesiredCapacity.

*/ inline GetScalingPlanResourceForecastDataRequest& WithScalableDimension(ScalableDimension&& value) { SetScalableDimension(std::move(value)); return *this;} /** *

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.

  • *
*/ inline const ForecastDataType& GetForecastDataType() const{ return m_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.

  • *
*/ inline bool ForecastDataTypeHasBeenSet() const { return m_forecastDataTypeHasBeenSet; } /** *

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.

  • *
*/ inline void SetForecastDataType(const ForecastDataType& value) { m_forecastDataTypeHasBeenSet = true; m_forecastDataType = value; } /** *

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.

  • *
*/ inline void SetForecastDataType(ForecastDataType&& value) { m_forecastDataTypeHasBeenSet = true; m_forecastDataType = std::move(value); } /** *

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.

  • *
*/ inline GetScalingPlanResourceForecastDataRequest& WithForecastDataType(const ForecastDataType& value) { SetForecastDataType(value); return *this;} /** *

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.

  • *
*/ inline GetScalingPlanResourceForecastDataRequest& WithForecastDataType(ForecastDataType&& value) { SetForecastDataType(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_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.

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

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.

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

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.

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

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.

*/ inline GetScalingPlanResourceForecastDataRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

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.

*/ inline GetScalingPlanResourceForecastDataRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_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.

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

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.

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *

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.

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *

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.

*/ inline GetScalingPlanResourceForecastDataRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

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.

*/ inline GetScalingPlanResourceForecastDataRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} private: Aws::String m_scalingPlanName; bool m_scalingPlanNameHasBeenSet = false; long long m_scalingPlanVersion; bool m_scalingPlanVersionHasBeenSet = false; ServiceNamespace m_serviceNamespace; bool m_serviceNamespaceHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; ScalableDimension m_scalableDimension; bool m_scalableDimensionHasBeenSet = false; ForecastDataType m_forecastDataType; bool m_forecastDataTypeHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; }; } // namespace Model } // namespace AutoScalingPlans } // namespace Aws