set_load_based_auto_scaling

OpsWorks.Client.set_load_based_auto_scaling(**kwargs)

Specify the load-based auto scaling configuration for a specified layer. For more information, see Managing Load with Time-based and Load-based Instances.

Note

To use load-based auto scaling, you must create a set of load-based auto scaling instances. Load-based auto scaling operates only on the instances from that set, so you must ensure that you have created enough instances to handle the maximum anticipated load.

Required Permissions : To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

See also: AWS API Documentation

Request Syntax

response = client.set_load_based_auto_scaling(
    LayerId='string',
    Enable=True|False,
    UpScaling={
        'InstanceCount': 123,
        'ThresholdsWaitTime': 123,
        'IgnoreMetricsTime': 123,
        'CpuThreshold': 123.0,
        'MemoryThreshold': 123.0,
        'LoadThreshold': 123.0,
        'Alarms': [
            'string',
        ]
    },
    DownScaling={
        'InstanceCount': 123,
        'ThresholdsWaitTime': 123,
        'IgnoreMetricsTime': 123,
        'CpuThreshold': 123.0,
        'MemoryThreshold': 123.0,
        'LoadThreshold': 123.0,
        'Alarms': [
            'string',
        ]
    }
)
Parameters
  • LayerId (string) --

    [REQUIRED]

    The layer ID.

  • Enable (boolean) -- Enables load-based auto scaling for the layer.
  • UpScaling (dict) --

    An AutoScalingThresholds object with the upscaling threshold configuration. If the load exceeds these thresholds for a specified amount of time, AWS OpsWorks Stacks starts a specified number of instances.

    • InstanceCount (integer) --

      The number of instances to add or remove when the load exceeds a threshold.

    • ThresholdsWaitTime (integer) --

      The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.

    • IgnoreMetricsTime (integer) --

      The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks Stacks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. IgnoreMetricsTime allows you to direct AWS OpsWorks Stacks to suppress scaling events long enough to get the new instances online.

    • CpuThreshold (float) --

      The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.

    • MemoryThreshold (float) --

      The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.

    • LoadThreshold (float) --

      The load threshold. A value of -1 disables the threshold. For more information about how load is computed, see Load (computing).

    • Alarms (list) --

      Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.

      Note

      To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms . You can either have AWS OpsWorks Stacks update the role for you when you first use this feature or you can edit the role manually. For more information, see Allowing AWS OpsWorks Stacks to Act on Your Behalf.

      • (string) --
  • DownScaling (dict) --

    An AutoScalingThresholds object with the downscaling threshold configuration. If the load falls below these thresholds for a specified amount of time, AWS OpsWorks Stacks stops a specified number of instances.

    • InstanceCount (integer) --

      The number of instances to add or remove when the load exceeds a threshold.

    • ThresholdsWaitTime (integer) --

      The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.

    • IgnoreMetricsTime (integer) --

      The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks Stacks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. IgnoreMetricsTime allows you to direct AWS OpsWorks Stacks to suppress scaling events long enough to get the new instances online.

    • CpuThreshold (float) --

      The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.

    • MemoryThreshold (float) --

      The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.

    • LoadThreshold (float) --

      The load threshold. A value of -1 disables the threshold. For more information about how load is computed, see Load (computing).

    • Alarms (list) --

      Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.

      Note

      To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms . You can either have AWS OpsWorks Stacks update the role for you when you first use this feature or you can edit the role manually. For more information, see Allowing AWS OpsWorks Stacks to Act on Your Behalf.

      • (string) --
Returns

None

Exceptions

  • OpsWorks.Client.exceptions.ValidationException
  • OpsWorks.Client.exceptions.ResourceNotFoundException