package awsapplicationautoscaling // Contains predefined metric specification information for a target tracking scaling policy for Application Auto Scaling. // // `PredefinedMetricSpecification` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html) property type. // // Example: // // The code below shows an example of how to instantiate this type. // // The values are placeholders you should change. // import "github.com/aws/aws-cdk-go/awscdk" // // predefinedMetricSpecificationProperty := &PredefinedMetricSpecificationProperty{ // PredefinedMetricType: jsii.String("predefinedMetricType"), // // // the properties below are optional // ResourceLabel: jsii.String("resourceLabel"), // } // // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html // type CfnScalingPolicy_PredefinedMetricSpecificationProperty struct { // The metric type. // // The `ALBRequestCountPerTarget` metric type applies only to Spot fleet requests and ECS services. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predefinedmetricspecification-predefinedmetrictype // PredefinedMetricType *string `field:"required" json:"predefinedMetricType" yaml:"predefinedMetricType"` // 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 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](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operation. To find the ARN for the target group, use the [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) API operation. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predefinedmetricspecification-resourcelabel // ResourceLabel *string `field:"optional" json:"resourceLabel" yaml:"resourceLabel"` }