def ec2_list(aws_config=None, filter_term=None): """ @type aws_config: Config @type filter_term: unicode """ ec2_client = get_client(client_type='ec2', config=aws_config) instances_req = ec2_client.describe_instances() reservations = instances_req.get('Reservations') all_instances = list() for reservation in reservations: for instance in reservation.get('Instances'): if instance.get('Tags') and filter_term and filter_term not in get_tag_value(name='Name', tags=instance.get('Tags')): continue all_instances.append(instance) if all_instances: output_ec2_list(instances=all_instances) exit('No ec2 instances found.')
def ec2_list(aws_config=None, filter_term=None): """ @type aws_config: Config @type filter_term: unicode """ ec2_client = get_client(client_type='ec2', config=aws_config) instances_req = ec2_client.describe_instances() reservations = instances_req.get('Reservations') all_instances = list() for reservation in reservations: for instance in reservation.get('Instances'): if instance.get( 'Tags' ) and filter_term and filter_term not in get_tag_value( name='Name', tags=instance.get('Tags')): continue all_instances.append(instance) if all_instances: output_ec2_list(instances=all_instances) exit('No ec2 instances found.')
def test_ec2_list_output(ec2_instances): with pytest.raises(SystemExit): print(ec2_instances) assert output_ec2_list(instances=ec2_instances)