set_instance_protection

AutoScaling.Client.set_instance_protection(**kwargs)

Updates the instance protection settings of the specified instances. This operation cannot be called on instances in a warm pool.

For more information about preventing instances that are part of an Auto Scaling group from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide .

If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling group, the call fails.

See also: AWS API Documentation

Request Syntax

response = client.set_instance_protection(
    InstanceIds=[
        'string',
    ],
    AutoScalingGroupName='string',
    ProtectedFromScaleIn=True|False
)
Parameters
  • InstanceIds (list) --

    [REQUIRED]

    One or more instance IDs. You can specify up to 50 instances.

    • (string) --
  • AutoScalingGroupName (string) --

    [REQUIRED]

    The name of the Auto Scaling group.

  • ProtectedFromScaleIn (boolean) --

    [REQUIRED]

    Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.

Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

  • AutoScaling.Client.exceptions.LimitExceededFault
  • AutoScaling.Client.exceptions.ResourceContentionFault

Examples

This example enables instance protection for the specified instance.

response = client.set_instance_protection(
    AutoScalingGroupName='my-auto-scaling-group',
    InstanceIds=[
        'i-93633f9b',
    ],
    ProtectedFromScaleIn=True,
)

print(response)

Expected Output:

{
    'ResponseMetadata': {
        '...': '...',
    },
}

This example disables instance protection for the specified instance.

response = client.set_instance_protection(
    AutoScalingGroupName='my-auto-scaling-group',
    InstanceIds=[
        'i-93633f9b',
    ],
    ProtectedFromScaleIn=False,
)

print(response)

Expected Output:

{
    'ResponseMetadata': {
        '...': '...',
    },
}