/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a scaling metric for a predictive scaling policy. When
* returned in the output of DescribePolicies
, it indicates that a
* predictive scaling policy uses individually specified load and scaling metrics
* instead of a metric pair.See Also:
AWS
* API Reference
The metric type.
*/ inline const PredefinedScalingMetricType& GetPredefinedMetricType() const{ return m_predefinedMetricType; } /** *The metric type.
*/ inline bool PredefinedMetricTypeHasBeenSet() const { return m_predefinedMetricTypeHasBeenSet; } /** *The metric type.
*/ inline void SetPredefinedMetricType(const PredefinedScalingMetricType& value) { m_predefinedMetricTypeHasBeenSet = true; m_predefinedMetricType = value; } /** *The metric type.
*/ inline void SetPredefinedMetricType(PredefinedScalingMetricType&& value) { m_predefinedMetricTypeHasBeenSet = true; m_predefinedMetricType = std::move(value); } /** *The metric type.
*/ inline PredictiveScalingPredefinedScalingMetric& WithPredefinedMetricType(const PredefinedScalingMetricType& value) { SetPredefinedMetricType(value); return *this;} /** *The metric type.
*/ inline PredictiveScalingPredefinedScalingMetric& WithPredefinedMetricType(PredefinedScalingMetricType&& value) { SetPredefinedMetricType(std::move(value)); return *this;} /** *A label that uniquely identifies a specific Application Load Balancer target * group from which to determine the average request count served by your Auto * Scaling group. You can't specify a resource label unless the target group is * attached to the Auto Scaling group.
You create the resource label by * appending the final portion of the load balancer ARN and the final portion of * the target group ARN into a single value, separated by a forward slash (/). The * format of the resource label is:
* app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
.
Where:
app/<load-balancer-name>/<load-balancer-id> is the final portion * of the load balancer ARN
targetgroup/<target-group-name>/<target-group-id> is the final * portion of the target group ARN.
To find the ARN for an * Application Load Balancer, use the DescribeLoadBalancers * API operation. To find the ARN for the target group, use the DescribeTargetGroups * API operation.
*/ inline const Aws::String& GetResourceLabel() const{ return m_resourceLabel; } /** *A label that uniquely identifies a specific Application Load Balancer target * group from which to determine the average request count served by your Auto * Scaling group. You can't specify a resource label unless the target group is * attached to the Auto Scaling group.
You create the resource label by * appending the final portion of the load balancer ARN and the final portion of * the target group ARN into a single value, separated by a forward slash (/). The * format of the resource label is:
* app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
.
Where:
app/<load-balancer-name>/<load-balancer-id> is the final portion * of the load balancer ARN
targetgroup/<target-group-name>/<target-group-id> is the final * portion of the target group ARN.
To find the ARN for an * Application Load Balancer, use the DescribeLoadBalancers * API operation. To find the ARN for the target group, use the DescribeTargetGroups * API operation.
*/ inline bool ResourceLabelHasBeenSet() const { return m_resourceLabelHasBeenSet; } /** *A label that uniquely identifies a specific Application Load Balancer target * group from which to determine the average request count served by your Auto * Scaling group. You can't specify a resource label unless the target group is * attached to the Auto Scaling group.
You create the resource label by * appending the final portion of the load balancer ARN and the final portion of * the target group ARN into a single value, separated by a forward slash (/). The * format of the resource label is:
* app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
.
Where:
app/<load-balancer-name>/<load-balancer-id> is the final portion * of the load balancer ARN
targetgroup/<target-group-name>/<target-group-id> is the final * portion of the target group ARN.
To find the ARN for an * Application Load Balancer, use the DescribeLoadBalancers * API operation. To find the ARN for the target group, use the DescribeTargetGroups * API operation.
*/ inline void SetResourceLabel(const Aws::String& value) { m_resourceLabelHasBeenSet = true; m_resourceLabel = value; } /** *A label that uniquely identifies a specific Application Load Balancer target * group from which to determine the average request count served by your Auto * Scaling group. You can't specify a resource label unless the target group is * attached to the Auto Scaling group.
You create the resource label by * appending the final portion of the load balancer ARN and the final portion of * the target group ARN into a single value, separated by a forward slash (/). The * format of the resource label is:
* app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
.
Where:
app/<load-balancer-name>/<load-balancer-id> is the final portion * of the load balancer ARN
targetgroup/<target-group-name>/<target-group-id> is the final * portion of the target group ARN.
To find the ARN for an * Application Load Balancer, use the DescribeLoadBalancers * API operation. To find the ARN for the target group, use the DescribeTargetGroups * API operation.
*/ inline void SetResourceLabel(Aws::String&& value) { m_resourceLabelHasBeenSet = true; m_resourceLabel = std::move(value); } /** *A label that uniquely identifies a specific Application Load Balancer target * group from which to determine the average request count served by your Auto * Scaling group. You can't specify a resource label unless the target group is * attached to the Auto Scaling group.
You create the resource label by * appending the final portion of the load balancer ARN and the final portion of * the target group ARN into a single value, separated by a forward slash (/). The * format of the resource label is:
* app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
.
Where:
app/<load-balancer-name>/<load-balancer-id> is the final portion * of the load balancer ARN
targetgroup/<target-group-name>/<target-group-id> is the final * portion of the target group ARN.
To find the ARN for an * Application Load Balancer, use the DescribeLoadBalancers * API operation. To find the ARN for the target group, use the DescribeTargetGroups * API operation.
*/ inline void SetResourceLabel(const char* value) { m_resourceLabelHasBeenSet = true; m_resourceLabel.assign(value); } /** *A label that uniquely identifies a specific Application Load Balancer target * group from which to determine the average request count served by your Auto * Scaling group. You can't specify a resource label unless the target group is * attached to the Auto Scaling group.
You create the resource label by * appending the final portion of the load balancer ARN and the final portion of * the target group ARN into a single value, separated by a forward slash (/). The * format of the resource label is:
* app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
.
Where:
app/<load-balancer-name>/<load-balancer-id> is the final portion * of the load balancer ARN
targetgroup/<target-group-name>/<target-group-id> is the final * portion of the target group ARN.
To find the ARN for an * Application Load Balancer, use the DescribeLoadBalancers * API operation. To find the ARN for the target group, use the DescribeTargetGroups * API operation.
*/ inline PredictiveScalingPredefinedScalingMetric& WithResourceLabel(const Aws::String& value) { SetResourceLabel(value); return *this;} /** *A label that uniquely identifies a specific Application Load Balancer target * group from which to determine the average request count served by your Auto * Scaling group. You can't specify a resource label unless the target group is * attached to the Auto Scaling group.
You create the resource label by * appending the final portion of the load balancer ARN and the final portion of * the target group ARN into a single value, separated by a forward slash (/). The * format of the resource label is:
* app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
.
Where:
app/<load-balancer-name>/<load-balancer-id> is the final portion * of the load balancer ARN
targetgroup/<target-group-name>/<target-group-id> is the final * portion of the target group ARN.
To find the ARN for an * Application Load Balancer, use the DescribeLoadBalancers * API operation. To find the ARN for the target group, use the DescribeTargetGroups * API operation.
*/ inline PredictiveScalingPredefinedScalingMetric& WithResourceLabel(Aws::String&& value) { SetResourceLabel(std::move(value)); return *this;} /** *A label that uniquely identifies a specific Application Load Balancer target * group from which to determine the average request count served by your Auto * Scaling group. You can't specify a resource label unless the target group is * attached to the Auto Scaling group.
You create the resource label by * appending the final portion of the load balancer ARN and the final portion of * the target group ARN into a single value, separated by a forward slash (/). The * format of the resource label is:
* app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
.
Where:
app/<load-balancer-name>/<load-balancer-id> is the final portion * of the load balancer ARN
targetgroup/<target-group-name>/<target-group-id> is the final * portion of the target group ARN.
To find the ARN for an * Application Load Balancer, use the DescribeLoadBalancers * API operation. To find the ARN for the target group, use the DescribeTargetGroups * API operation.
*/ inline PredictiveScalingPredefinedScalingMetric& WithResourceLabel(const char* value) { SetResourceLabel(value); return *this;} private: PredefinedScalingMetricType m_predefinedMetricType; bool m_predefinedMetricTypeHasBeenSet = false; Aws::String m_resourceLabel; bool m_resourceLabelHasBeenSet = false; }; } // namespace Model } // namespace AutoScaling } // namespace Aws