AutoScaling / Client / set_instance_protection

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, see Use 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': {
        '...': '...',
    },
}