class Aws::ApplicationAutoScaling::Types::PredefinedMetricSpecification

Represents a predefined metric for a target tracking scaling policy to use with Application Auto Scaling.

Only the Amazon Web Services that you're using send metrics to Amazon CloudWatch. To determine whether a desired metric already exists by looking up its namespace and dimension using the CloudWatch metrics dashboard in the console, follow the procedure in [Building dashboards with CloudWatch] in the *Application Auto Scaling User Guide*.

[1]: docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html

@note When making an API call, you may pass PredefinedMetricSpecification

data as a hash:

    {
      predefined_metric_type: "DynamoDBReadCapacityUtilization", # required, accepts DynamoDBReadCapacityUtilization, DynamoDBWriteCapacityUtilization, ALBRequestCountPerTarget, RDSReaderAverageCPUUtilization, RDSReaderAverageDatabaseConnections, EC2SpotFleetRequestAverageCPUUtilization, EC2SpotFleetRequestAverageNetworkIn, EC2SpotFleetRequestAverageNetworkOut, SageMakerVariantInvocationsPerInstance, ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization, AppStreamAverageCapacityUtilization, ComprehendInferenceUtilization, LambdaProvisionedConcurrencyUtilization, CassandraReadCapacityUtilization, CassandraWriteCapacityUtilization, KafkaBrokerStorageUtilization, ElastiCachePrimaryEngineCPUUtilization, ElastiCacheReplicaEngineCPUUtilization, ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage
      resource_label: "ResourceLabel",
    }

@!attribute [rw] predefined_metric_type

The metric type. The `ALBRequestCountPerTarget` metric type applies
only to Spot Fleet requests and ECS services.
@return [String]

@!attribute [rw] resource_label

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 Spot Fleet request or ECS service.

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][1] API operation. To find the ARN for the
target group, use the [DescribeTargetGroups][2] API operation.

[1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html
[2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PredefinedMetricSpecification AWS API Documentation

Constants

SENSITIVE