[ec2 contrib script] Add ability to filter EC2 instances via shell environment (#39034)
This commit is contained in:
parent
8d84039aa8
commit
e0893aacc5
1 changed files with 9 additions and 2 deletions
|
@ -32,6 +32,13 @@ the AWS_PROFILE variable:
|
||||||
|
|
||||||
For more details, see: http://docs.pythonboto.org/en/latest/boto_config_tut.html
|
For more details, see: http://docs.pythonboto.org/en/latest/boto_config_tut.html
|
||||||
|
|
||||||
|
You can filter for specific EC2 instances by creating an environment variable
|
||||||
|
named EC2_INSTANCE_FILTERS, which has the same format as the instance_filters
|
||||||
|
entry documented in ec2.ini. For example, to find all hosts whose name begins
|
||||||
|
with 'webserver', one might use:
|
||||||
|
|
||||||
|
export EC2_INSTANCE_FILTERS='tag:Name=webserver*'
|
||||||
|
|
||||||
When run against a specific host, this script returns the following variables:
|
When run against a specific host, this script returns the following variables:
|
||||||
- ec2_ami_launch_index
|
- ec2_ami_launch_index
|
||||||
- ec2_architecture
|
- ec2_architecture
|
||||||
|
@ -494,8 +501,8 @@ class Ec2Inventory(object):
|
||||||
# Instance filters (see boto and EC2 API docs). Ignore invalid filters.
|
# Instance filters (see boto and EC2 API docs). Ignore invalid filters.
|
||||||
self.ec2_instance_filters = []
|
self.ec2_instance_filters = []
|
||||||
|
|
||||||
if config.has_option('ec2', 'instance_filters'):
|
if config.has_option('ec2', 'instance_filters') or 'EC2_INSTANCE_FILTERS' in os.environ:
|
||||||
filters = config.get('ec2', 'instance_filters')
|
filters = os.getenv('EC2_INSTANCE_FILTERS', config.get('ec2', 'instance_filters') if config.has_option('ec2', 'instance_filters') else '')
|
||||||
|
|
||||||
if self.stack_filters and '&' in filters:
|
if self.stack_filters and '&' in filters:
|
||||||
self.fail_with_error("AND filters along with stack_filter enabled is not supported.\n")
|
self.fail_with_error("AND filters along with stack_filter enabled is not supported.\n")
|
||||||
|
|
Loading…
Reference in a new issue