All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cloudshift.awscdk.dsl.services.autoscalingplans.CfnScalingPlanPredefinedScalingMetricSpecificationPropertyDsl.kt Maven / Gradle / Ivy

There is a newer version: 0.7.0
Show newest version
@file:Suppress("RedundantVisibilityModifier","RedundantUnitReturnType","RemoveRedundantQualifierName","unused","UnusedImport","ClassName","REDUNDANT_PROJECTION","DEPRECATION")

package cloudshift.awscdk.dsl.services.autoscalingplans

import cloudshift.awscdk.common.CdkDslMarker
import kotlin.String
import software.amazon.awscdk.services.autoscalingplans.CfnScalingPlan

/**
 * `PredefinedScalingMetricSpecification` is a subproperty of
 * [TargetTrackingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html)
 * that specifies a customized scaling metric for a target tracking configuration to use with AWS Auto
 * Scaling ( Auto Scaling Plans ).
 *
 * Example:
 *
 * ```
 * // The code below shows an example of how to instantiate this type.
 * // The values are placeholders you should change.
 * import software.amazon.awscdk.services.autoscalingplans.*;
 * PredefinedScalingMetricSpecificationProperty predefinedScalingMetricSpecificationProperty =
 * PredefinedScalingMetricSpecificationProperty.builder()
 * .predefinedScalingMetricType("predefinedScalingMetricType")
 * // the properties below are optional
 * .resourceLabel("resourceLabel")
 * .build();
 * ```
 *
 * [Documentation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedscalingmetricspecification.html)
 */
@CdkDslMarker
public class CfnScalingPlanPredefinedScalingMetricSpecificationPropertyDsl {
  private val cdkBuilder: CfnScalingPlan.PredefinedScalingMetricSpecificationProperty.Builder =
      CfnScalingPlan.PredefinedScalingMetricSpecificationProperty.builder()

  /**
   * @param predefinedScalingMetricType The metric type. 
   * The `ALBRequestCountPerTarget` metric type applies only to Auto Scaling groups, Spot Fleet
   * requests, and ECS services.
   */
  public fun predefinedScalingMetricType(predefinedScalingMetricType: String) {
    cdkBuilder.predefinedScalingMetricType(predefinedScalingMetricType)
  }

  /**
   * @param 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 for an Application Load Balancer attached to the Auto Scaling group, 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 is
   * app///targetgroup//,
   * where:
   *
   * * app// is the final portion of the load balancer ARN
   * * targetgroup// is the final portion of the target group
   * ARN.
   *
   * This is an example:
   * app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d.
   *
   * 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.
   */
  public fun resourceLabel(resourceLabel: String) {
    cdkBuilder.resourceLabel(resourceLabel)
  }

  public fun build(): CfnScalingPlan.PredefinedScalingMetricSpecificationProperty =
      cdkBuilder.build()
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy