actionASG

detach_random_instances

Detaches one or more random instances from an autoscaling group

Activity as code

Below are the details and signature of the activity Python module.

Typeaction
Modulechaosaws.asg.actions
Namedetach_random_instances
Returnmapping

Usage

JSON

{
  "name": "detach-random-instances",
  "type": "action",
  "provider": {
    "type": "python",
    "module": "chaosaws.asg.actions",
    "func": "detach_random_instances"
  }
}

YAML

name: detach-random-instances
provider:
  func: detach_random_instances
  module: chaosaws.asg.actions
  type: python
type: action

Arguments

NameTypeDefaultRequiredTitleDescription
asg_nameslistnullNoASG NamesOne or many ASG names as a JSON encoded list
tagslistnullNoASG TagsList of AWS tags for to identify ASG by tags instead of by names
instance_countintegernullNoNumber of Instances to DeatchThe amount of instances to detach, or set the percentage below
instance_percentintegernullNoPercentage of Instances to DeatchThe percentage of instances to detach, or set the number above
decrement_capacitybooleanfalseNoDecrease CapacityWhether to decrease the capacity of the ASG by the amount that was detached

One of:

One of:

decrement_capacity: boolean value to determine if the desired capacity of the autoscaling group should be decreased

tags are expected as a list of dictionary objects:

[
    {'Key': 'TagKey1', 'Value': 'TagValue1'},
    {'Key': 'TagKey2', 'Value': 'TagValue2'},
    ...
]

Signature

def detach_random_instances(
        asg_names: List[str] = None,
        tags: List[dict] = None,
        instance_count: int = None,
        instance_percent: int = None,
        decrement_capacity: bool = False,
        configuration: Dict[str, Dict[str, str]] = None,
        secrets: Dict[str, Dict[str, str]] = None) -> Dict[str, Any]:
    pass