Ilya Kalinin
259b05dd8e
[cloud] Add stack_filters option to EC2 inventory script
9 years ago
Matt Martz
5942de603d
Legacy pep8 clean fixes for contrib and hacking ( #21081 )
9 years ago
Matt Clay
e401b4e424
PEP 8 fix.
9 years ago
Naoya Nakazawa
31db1bcd34
ec2.py support region auto ( #15427 )
9 years ago
Will Thames
d6ea400efb
Improve boto profile handling for EC2 inventory ( #20280 )
...
Ensure command line profile argument and AWS_PROFILE environment variable
overrides config file
Remove unnecessary `lambda` function
Fix cache file path construction to be more pythonic (and windows-ready)
9 years ago
Matt Clay
cb76200c7d
PEP 8 E111 & E114 cleanup. ( #20838 )
9 years ago
Matt Clay
d0d1158c5e
PEP 8 cleanup. ( #20789 )
...
* PEP 8 E703 cleanup.
* PEP 8 E701 cleanup.
* PEP 8 E711 cleanup.
* PEP 8 W191 and E101 cleanup.
9 years ago
Matthew Wedgwood
3ab388f6dd
Add account ID grouping and attribute to ease multi-account management
9 years ago
Carlos E. Garcia
0b8011436d
minor spelling changes
9 years ago
Tony Kinsley
73da2663a3
Resolves #18312 python3 support for ec2.py
9 years ago
Khushil Dep
08db04ccb6
Changes as per @abadger
9 years ago
Khushil Dep
054e640fba
Add enumeration of block devices to ec2_block_devices
9 years ago
Ryan S. Brown
0783c172d7
Paginate DB cluster responses in AWS RDS dynamic inventory
9 years ago
Ryan S. Brown
59e499f8f0
Respect profiles & credentials for boto3 inventory
...
Using boto3 directly wasn't properly using profiles set in the `ec2.ini`
file, this change uses the `module_utils` boto3_conn instead.
10 years ago
Tom Paine
418f91d0e2
Fail softly when boto3 is not installed
...
Updated as per @ryansb comments. The EC2 inventory script will now fail
with a useful message when boto3 is not installed and the user is trying
to read RDS cluster information.
10 years ago
Tom Paine
bb5a1f7440
Add RDS cluster info to EC2 dynamic inventory
...
Add db_clusters to the ec2 inventory. Show tags. Only show clusters
matching tags in the `.ini`. Set `include_rds_clusters = True` option to
enable RDS cluster inventory collection.
Example inventory output:
```
{
"db_clusters": {
"ryansb-cluster-test": {
"AllocatedStorage": 1,
"AvailabilityZones": [
"us-west-2a",
"us-west-2b",
"us-west-2c"
],
"BackupRetentionPeriod": 1,
"DBClusterIdentifier": "ryansb-cluster-test",
"DBClusterMembers": [
{
"DBClusterParameterGroupStatus": "in-sync",
"DBInstanceIdentifier": "ryansb-test",
"IsClusterWriter": true,
"PromotionTier": 1
},
{
"DBClusterParameterGroupStatus": "in-sync",
"DBInstanceIdentifier": "ryansb-test-us-west-2b",
"IsClusterWriter": false,
"PromotionTier": 1
}
],
"DBClusterParameterGroup": "default.aurora5.6",
"DBSubnetGroup": "default",
"DatabaseName": "mydb",
"DbClusterResourceId": "cluster-OB6H7JQURFKFD4BYNHG5HSRLBA",
"Endpoint": "ryansb-cluster-test.cluster-c9ntgaejgqln.us-west-2.rds.amazonaws.com",
"Engine": "aurora",
"EngineVersion": "5.6.10a",
"MasterUsername": "admin",
"Port": 3306,
"PreferredBackupWindow": "06:09-06:39",
"PreferredMaintenanceWindow": "mon:11:22-mon:11:52",
"ReadReplicaIdentifiers": [],
"Status": "available",
"StorageEncrypted": false,
"VpcSecurityGroups": [
{
"Status": "active",
"VpcSecurityGroupId": "sg-47eaea20"
}
]
}
},
"rds": [
"ryansb_test_c9ntgaejgqln_us_west_2_rds_amazonaws_com",
"ryansb_test_us_west_2b_c9ntgaejgqln_us_west_2_rds_amazonaws_com"
],
"rds_aurora": [
"ryansb_test_c9ntgaejgqln_us_west_2_rds_amazonaws_com",
"ryansb_test_us_west_2b_c9ntgaejgqln_us_west_2_rds_amazonaws_com"
],
"rds_parameter_group_default_aurora5_6": [
"ryansb_test_c9ntgaejgqln_us_west_2_rds_amazonaws_com",
"ryansb_test_us_west_2b_c9ntgaejgqln_us_west_2_rds_amazonaws_com"
],
"ryansb-test": [
"ryansb_test_c9ntgaejgqln_us_west_2_rds_amazonaws_com"
],
"ryansb-test-us-west-2b": [
"ryansb_test_us_west_2b_c9ntgaejgqln_us_west_2_rds_amazonaws_com"
],
"type_db_r3_large": [
"ryansb_test_c9ntgaejgqln_us_west_2_rds_amazonaws_com",
"ryansb_test_us_west_2b_c9ntgaejgqln_us_west_2_rds_amazonaws_com"
],
"us-west-2": [
"ryansb_test_c9ntgaejgqln_us_west_2_rds_amazonaws_com",
"ryansb_test_us_west_2b_c9ntgaejgqln_us_west_2_rds_amazonaws_com"
],
"us-west-2a": [
"ryansb_test_c9ntgaejgqln_us_west_2_rds_amazonaws_com"
],
"us-west-2b": [
"ryansb_test_us_west_2b_c9ntgaejgqln_us_west_2_rds_amazonaws_com"
],
"vpc_id_vpc_3ca34459": [
"ryansb_test_c9ntgaejgqln_us_west_2_rds_amazonaws_com",
"ryansb_test_us_west_2b_c9ntgaejgqln_us_west_2_rds_amazonaws_com"
]
}
```
10 years ago
bqbn
3498b840c9
Fixes #16095 : Maximumly 199 filter values ( #16184 )
...
When making calls to AWS EC2 api with DescribeTags actiion and if the
number of filter values is greater than or equal to 200, it results in
400 bad request reply and the error message is:
"Error connecting to AWS backend.\n The maximum number of filter values specified on a single call is 200".
The change is so that we call get_all_tags with maximum 199 filter
values one at a time until all are consumed.
10 years ago
Adam Chainz
064ed63843
Fix ec2 inventory for potentially inconsistent data ( #12642 )
10 years ago
Victor Costan
8d3da09eae
contrib/inventory/ec2.py can read AWS credentials from ec2.ini ( #15378 )
10 years ago
Jorge Nerín
3a3e69f830
Fix substituting dots for underscores when using ips ( #15578 )
...
ec2.py was substituting the dots on ip addresses when not using hostnames like:
"ec2": [
"10_10_1_1",
now it's:
"ec2": [
"10.10.1.1",
10 years ago
Owen Tuz
3b8d753121
Avoid cache conflicts when using multiple AWS accounts
10 years ago
James Cammarata
c9da48d5ba
Merge branch 'destination_format' of https://github.com/a13m/ansible into a13m-destination_format
10 years ago
Brian Coca
e1ee2ed5a5
Merge pull request #13550 from KrzysiekJ/connect_to_region-wrap
...
Use wrapped connect_to_region everywhere in ec2.py
10 years ago
Brian Coca
eceabec71f
page rds instances
...
fix #14861
10 years ago
Abhijit Menon-Sen
ad0e707f97
Merge pull request #7395 from hkariti/ec2_hostname_variable
...
Add hostname_variable to ec2 inventory script
10 years ago
Hagai Kariti
8a17da299f
Clean up lines with only whitespaces in ec2.py
10 years ago
Hagai Kariti
53756af546
Added hostname_variable to ec2 inventory
10 years ago
Abhijit Menon-Sen
f0af07a5f4
Merge pull request #14761 from enbritely/fix-ec2-inventory
...
Fix AWS EC2 inventory script instance_filters read
10 years ago
Joe
21ba6e9ce8
Do not use name `tag` for intance filter
10 years ago
Joe
5975296770
Fix AWS EC2 external inventory script config read
...
EC2 inventory scripts reads configuration from an INI file. The `instance_filters` option controls which EC2 instances are retrieved for inventory. Filling this option and running the inventory script with Python 3 crashes with the following error:
```python
Traceback (most recent call last):
File "./contrib/inventory/ec2.py", line 1328, in <module>
Ec2Inventory()
File "./contrib/inventory/ec2.py", line 163, in __init__
self.read_settings()
File "./contrib/inventory/ec2.py", line 393, in read_settings
for instance_filter in config.get('ec2', 'instance_filters', '').split(','):
TypeError: get() takes 3 positional arguments but 4 were given
```
The problem is the last parameter of config.get() call, because `fallback` keyword argument is not specified.
The fix handles epmpty `instance_filers` in case of Python 2&3
10 years ago
Brian Coca
37eac4592e
added back --profile to keep backwards compat
...
this was broken by #12548
10 years ago
Krzysztof Jurewicz
73160e65e5
Use wrapped connect_to_region everywhere in ec2.py
10 years ago
Abhijit Menon-Sen
e6a9b2cae5
Add an expand_csv_tags setting to ec2.ini
...
If enabled, this will convert tags of the form "a,b,c" to a list and use
the results to create additional inventory groups.
This is based on PR #8676 by nickpeck (but not a straight rebase—both
the code and the nomenclature have been changed here).
Closes #8676
10 years ago
Brian Coca
b2a9111b22
reversed the logic on new setting to control - replacment in groups as
...
it was wrong
fixes #13122
10 years ago
Matthew Jones
faeccb4e61
Fix ec2 infinitely nested groups
...
The ec2 inventory module will incorrectly place parent groups as child
groups of themselves, this fixes that.
10 years ago
Brian Coca
2b8633cec0
Merge pull request #12855 from bcoca/ec2_inv_dash_group
...
make - replacement in group names optional
10 years ago
Brian Coca
aac20aa076
removed unused exception vars
10 years ago
Brian Coca
07d584c0a7
make - replacement in group names optional
10 years ago
Will Thames
b0133d9c8f
Move connection handling failure to connect_to_aws
...
Make use of better error handling mechanism
10 years ago
Jameel Al-Aziz
57754b5a71
Fix security_token typo in ec2 inventory
10 years ago
Jameel Al-Aziz
e7890e66f3
Combine ansible/ansible#5987 and ansible/ansible#8582
...
Fixes merge conflicts and standardizes option naming
10 years ago
Jeff '2 bits' Bachtel
8c11ea5666
Add an ec2 inventory option "boto_profile" that allows
...
the use of boto profiles for separating credentials as
specified in
http://boto.readthedocs.org/en/latest/boto_config_tut.html
10 years ago
willthames
9c967dd054
Allow ec2 inventory to use a boto profile
...
This allows the EC2 inventory plugin to be used with
the same configuration against different EC2 accounts
Profile can be passed using --profile variable or using
EC2_PROFILE environment variable e.g.
```
EC2_PROFILE=prod ansible-playbook -i ec2.py playbook.yml
```
Added documentation on profiles to EC2 dynamic inventory doc
Only tries to use profiles if --profile argument is given
or EC2_PROFILE is set to maintain compatibility will boto < 2.24.
Works around a minor bug in boto where if you try and use
a security token with a profile it fails (boto/boto#2100 )
10 years ago
Toshio Kuratomi
c1039de70c
Compatibility with six-1.3.0
10 years ago
Brian Coca
b8336f222d
Merge pull request #11560 from oscarhealth/devel
...
ability to specify any combination of EC2 instance states to return
11 years ago
Brian Coca
d75b4cd190
Merge pull request #11006 from alexlo03/ec2_inventory_clear_errors
...
explain source of EC2 inventory error
11 years ago
Andy Grimm
009d0a4bb4
Flexible tag-based naming for ec2 hosts
...
Introduces destination_format and destination_format_tags
to allow the construction of host names based on one or
more ec2 tags and a python format string.
11 years ago
Andrew Hamilton
7f45c9edf7
Have ec2.py expand tilde and vars when looking up the EC2_INI_PATH env variable
11 years ago
Alex Lo
7092021d81
simplify variable names
11 years ago
Alex Lo
17b94cf139
generalize error context reporting, add elasticache explanations
11 years ago