Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ystoneman/78954e762023fa8486ae7ae406d977d6 to your computer and use it in GitHub Desktop.
Save ystoneman/78954e762023fa8486ae7ae406d977d6 to your computer and use it in GitHub Desktop.
Enable or disable EC2 instance "Termination Protection" via AWS CLI (shell)
# Loop through all EC2 instances (except spot and terminated) and enable termination protection
for I in $(aws ec2 describe-instances --query 'Reservations[*].Instances[?(InstanceLifecycle!=`spot` && InstanceState!=terminated)].[InstanceId]' --output text); do aws ec2 modify-instance-attribute --disable-api-termination --instance-id $I; done
# Loop through all EC2 instances (except spot and terminated) and disable termination protection
for I in $(aws ec2 describe-instances --query 'Reservations[*].Instances[?(InstanceLifecycle!=`spot` && InstanceState!=terminated)].[InstanceId]' --output text);
do aws ec2 modify-instance-attribute --no-disable-api-termination --instance-id $I;
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment