/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a predefined metric for a target tracking scaling policy to use
* with Amazon EC2 Auto Scaling.See Also:
AWS
* API Reference
The metric type. The following predefined metrics are available:
ASGAverageCPUUtilization - Average CPU utilization of the
* Auto Scaling group.
ASGAverageNetworkIn -
* Average number of bytes received on all network interfaces by the Auto Scaling
* group.
ASGAverageNetworkOut - Average number of
* bytes sent out on all network interfaces by the Auto Scaling group.
ALBRequestCountPerTarget - Number of requests completed
* per target in an Application Load Balancer target group.
The metric type. The following predefined metrics are available:
ASGAverageCPUUtilization - Average CPU utilization of the
* Auto Scaling group.
ASGAverageNetworkIn -
* Average number of bytes received on all network interfaces by the Auto Scaling
* group.
ASGAverageNetworkOut - Average number of
* bytes sent out on all network interfaces by the Auto Scaling group.
ALBRequestCountPerTarget - Number of requests completed
* per target in an Application Load Balancer target group.
The metric type. The following predefined metrics are available:
ASGAverageCPUUtilization - Average CPU utilization of the
* Auto Scaling group.
ASGAverageNetworkIn -
* Average number of bytes received on all network interfaces by the Auto Scaling
* group.
ASGAverageNetworkOut - Average number of
* bytes sent out on all network interfaces by the Auto Scaling group.
ALBRequestCountPerTarget - Number of requests completed
* per target in an Application Load Balancer target group.
The metric type. The following predefined metrics are available:
ASGAverageCPUUtilization - Average CPU utilization of the
* Auto Scaling group.
ASGAverageNetworkIn -
* Average number of bytes received on all network interfaces by the Auto Scaling
* group.
ASGAverageNetworkOut - Average number of
* bytes sent out on all network interfaces by the Auto Scaling group.
ALBRequestCountPerTarget - Number of requests completed
* per target in an Application Load Balancer target group.
The metric type. The following predefined metrics are available:
ASGAverageCPUUtilization - Average CPU utilization of the
* Auto Scaling group.
ASGAverageNetworkIn -
* Average number of bytes received on all network interfaces by the Auto Scaling
* group.
ASGAverageNetworkOut - Average number of
* bytes sent out on all network interfaces by the Auto Scaling group.
ALBRequestCountPerTarget - Number of requests completed
* per target in an Application Load Balancer target group.
The metric type. The following predefined metrics are available:
ASGAverageCPUUtilization - Average CPU utilization of the
* Auto Scaling group.
ASGAverageNetworkIn -
* Average number of bytes received on all network interfaces by the Auto Scaling
* group.
ASGAverageNetworkOut - Average number of
* bytes sent out on all network interfaces by the Auto Scaling group.
ALBRequestCountPerTarget - Number of requests completed
* per target in an Application Load Balancer target group.
Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is ALBRequestCountPerTarget
* and there is a target group attached to the Auto Scaling group.
Elastic
* Load Balancing sends data about your load balancers to Amazon CloudWatch.
* CloudWatch collects the data and specifies the format to use to access the data.
* The format is
* app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id
* , where
* app/load-balancer-name/load-balancer-id is the final
* portion of the load balancer ARN, and
* 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; } /** *Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is ALBRequestCountPerTarget
* and there is a target group attached to the Auto Scaling group.
Elastic
* Load Balancing sends data about your load balancers to Amazon CloudWatch.
* CloudWatch collects the data and specifies the format to use to access the data.
* The format is
* app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id
* , where
* app/load-balancer-name/load-balancer-id is the final
* portion of the load balancer ARN, and
* 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; } /** *Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is ALBRequestCountPerTarget
* and there is a target group attached to the Auto Scaling group.
Elastic
* Load Balancing sends data about your load balancers to Amazon CloudWatch.
* CloudWatch collects the data and specifies the format to use to access the data.
* The format is
* app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id
* , where
* app/load-balancer-name/load-balancer-id is the final
* portion of the load balancer ARN, and
* 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; } /** *Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is ALBRequestCountPerTarget
* and there is a target group attached to the Auto Scaling group.
Elastic
* Load Balancing sends data about your load balancers to Amazon CloudWatch.
* CloudWatch collects the data and specifies the format to use to access the data.
* The format is
* app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id
* , where
* app/load-balancer-name/load-balancer-id is the final
* portion of the load balancer ARN, and
* 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); } /** *Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is ALBRequestCountPerTarget
* and there is a target group attached to the Auto Scaling group.
Elastic
* Load Balancing sends data about your load balancers to Amazon CloudWatch.
* CloudWatch collects the data and specifies the format to use to access the data.
* The format is
* app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id
* , where
* app/load-balancer-name/load-balancer-id is the final
* portion of the load balancer ARN, and
* 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); } /** *Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is ALBRequestCountPerTarget
* and there is a target group attached to the Auto Scaling group.
Elastic
* Load Balancing sends data about your load balancers to Amazon CloudWatch.
* CloudWatch collects the data and specifies the format to use to access the data.
* The format is
* app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id
* , where
* app/load-balancer-name/load-balancer-id is the final
* portion of the load balancer ARN, and
* 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 PredefinedMetricSpecification& WithResourceLabel(const Aws::String& value) { SetResourceLabel(value); return *this;} /** *Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is ALBRequestCountPerTarget
* and there is a target group attached to the Auto Scaling group.
Elastic
* Load Balancing sends data about your load balancers to Amazon CloudWatch.
* CloudWatch collects the data and specifies the format to use to access the data.
* The format is
* app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id
* , where
* app/load-balancer-name/load-balancer-id is the final
* portion of the load balancer ARN, and
* 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 PredefinedMetricSpecification& WithResourceLabel(Aws::String&& value) { SetResourceLabel(std::move(value)); return *this;} /** *Identifies the resource associated with the metric type. You can't specify a
* resource label unless the metric type is ALBRequestCountPerTarget
* and there is a target group attached to the Auto Scaling group.
Elastic
* Load Balancing sends data about your load balancers to Amazon CloudWatch.
* CloudWatch collects the data and specifies the format to use to access the data.
* The format is
* app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id
* , where
* app/load-balancer-name/load-balancer-id is the final
* portion of the load balancer ARN, and
* 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 PredefinedMetricSpecification& WithResourceLabel(const char* value) { SetResourceLabel(value); return *this;} private: MetricType m_predefinedMetricType; bool m_predefinedMetricTypeHasBeenSet; Aws::String m_resourceLabel; bool m_resourceLabelHasBeenSet; }; } // namespace Model } // namespace AutoScaling } // namespace Aws