class Aws::AutoScalingPlans::Types::UpdateScalingPlanRequest

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

data as a hash:

    {
      scaling_plan_name: "ScalingPlanName", # required
      scaling_plan_version: 1, # required
      application_source: {
        cloud_formation_stack_arn: "XmlString",
        tag_filters: [
          {
            key: "XmlStringMaxLen128",
            values: ["XmlStringMaxLen256"],
          },
        ],
      },
      scaling_instructions: [
        {
          service_namespace: "autoscaling", # required, accepts autoscaling, ecs, ec2, rds, dynamodb
          resource_id: "ResourceIdMaxLen1600", # required
          scalable_dimension: "autoscaling:autoScalingGroup:DesiredCapacity", # required, accepts autoscaling:autoScalingGroup:DesiredCapacity, ecs:service:DesiredCount, ec2:spot-fleet-request:TargetCapacity, rds:cluster:ReadReplicaCount, dynamodb:table:ReadCapacityUnits, dynamodb:table:WriteCapacityUnits, dynamodb:index:ReadCapacityUnits, dynamodb:index:WriteCapacityUnits
          min_capacity: 1, # required
          max_capacity: 1, # required
          target_tracking_configurations: [ # required
            {
              predefined_scaling_metric_specification: {
                predefined_scaling_metric_type: "ASGAverageCPUUtilization", # required, accepts ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, DynamoDBReadCapacityUtilization, DynamoDBWriteCapacityUtilization, ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization, ALBRequestCountPerTarget, RDSReaderAverageCPUUtilization, RDSReaderAverageDatabaseConnections, EC2SpotFleetRequestAverageCPUUtilization, EC2SpotFleetRequestAverageNetworkIn, EC2SpotFleetRequestAverageNetworkOut
                resource_label: "ResourceLabel",
              },
              customized_scaling_metric_specification: {
                metric_name: "MetricName", # required
                namespace: "MetricNamespace", # required
                dimensions: [
                  {
                    name: "MetricDimensionName", # required
                    value: "MetricDimensionValue", # required
                  },
                ],
                statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
                unit: "MetricUnit",
              },
              target_value: 1.0, # required
              disable_scale_in: false,
              scale_out_cooldown: 1,
              scale_in_cooldown: 1,
              estimated_instance_warmup: 1,
            },
          ],
          predefined_load_metric_specification: {
            predefined_load_metric_type: "ASGTotalCPUUtilization", # required, accepts ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount
            resource_label: "ResourceLabel",
          },
          customized_load_metric_specification: {
            metric_name: "MetricName", # required
            namespace: "MetricNamespace", # required
            dimensions: [
              {
                name: "MetricDimensionName", # required
                value: "MetricDimensionValue", # required
              },
            ],
            statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
            unit: "MetricUnit",
          },
          scheduled_action_buffer_time: 1,
          predictive_scaling_max_capacity_behavior: "SetForecastCapacityToMaxCapacity", # accepts SetForecastCapacityToMaxCapacity, SetMaxCapacityToForecastCapacity, SetMaxCapacityAboveForecastCapacity
          predictive_scaling_max_capacity_buffer: 1,
          predictive_scaling_mode: "ForecastAndScale", # accepts ForecastAndScale, ForecastOnly
          scaling_policy_update_behavior: "KeepExternalPolicies", # accepts KeepExternalPolicies, ReplaceExternalPolicies
          disable_dynamic_scaling: false,
        },
      ],
    }

@!attribute [rw] scaling_plan_name

The name of the scaling plan.
@return [String]

@!attribute [rw] scaling_plan_version

The version number of the scaling plan. The only valid value is `1`.
Currently, you cannot have multiple scaling plan versions.
@return [Integer]

@!attribute [rw] application_source

A CloudFormation stack or set of tags.

For more information, see [ApplicationSource][1] in the *AWS Auto
Scaling API Reference*.

[1]: https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ApplicationSource.html
@return [Types::ApplicationSource]

@!attribute [rw] scaling_instructions

The scaling instructions.

For more information, see [ScalingInstruction][1] in the *AWS Auto
Scaling API Reference*.

[1]: https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html
@return [Array<Types::ScalingInstruction>]

@see docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/UpdateScalingPlanRequest AWS API Documentation

Constants

SENSITIVE