voxy/bluecanary

View on GitHub
bluecanary/scripts/update_tags/update_ec2_tags.py

Summary

Maintainability
C
7 hrs
Test Coverage
import click

from bluecanary.tags import set_ec2_tags
from bluecanary.managers import AWSCredentialsManager, TagsManager
from bluecanary.utilities import preserve_credentials_state


@preserve_credentials_state
def update_ec2_tags(verbose=0):
    if verbose:
        click.echo('Updating EC2 tags\n')

    for group in TagsManager.get_groups_by_type('EC2'):
        AWSCredentialsManager.load_saved_environment_state()
        if group.get('AWSProfile'):
            AWSCredentialsManager.load_aws_profile(group['AWSProfile'])

        set_ec2_tags(instance_ids=group.get('Resources'),
                     tag_key=group.get('TagKey'),
                     tag_value=group.get('TagValue'),
                     verbose=verbose)