mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Added support for specifying zone for gce dynamic inventory (#20938)
This commit is contained in:
parent
7a3b6ca37c
commit
67dc8c146e
2 changed files with 9 additions and 5 deletions
|
@ -44,6 +44,7 @@ libcloud_secrets =
|
||||||
gce_service_account_email_address =
|
gce_service_account_email_address =
|
||||||
gce_service_account_pem_file_path =
|
gce_service_account_pem_file_path =
|
||||||
gce_project_id =
|
gce_project_id =
|
||||||
|
gce_zone =
|
||||||
|
|
||||||
# Filter inventory based on on state. Leave undefined to return instances regardless of state.
|
# Filter inventory based on on state. Leave undefined to return instances regardless of state.
|
||||||
# example: Uncomment to only return inventory in the running or provisioning state
|
# example: Uncomment to only return inventory in the running or provisioning state
|
||||||
|
|
|
@ -217,6 +217,7 @@ class GceInventory(object):
|
||||||
'gce_service_account_email_address': '',
|
'gce_service_account_email_address': '',
|
||||||
'gce_service_account_pem_file_path': '',
|
'gce_service_account_pem_file_path': '',
|
||||||
'gce_project_id': '',
|
'gce_project_id': '',
|
||||||
|
'gce_zone': '',
|
||||||
'libcloud_secrets': '',
|
'libcloud_secrets': '',
|
||||||
'inventory_ip_type': '',
|
'inventory_ip_type': '',
|
||||||
'cache_path': '~/.ansible/tmp',
|
'cache_path': '~/.ansible/tmp',
|
||||||
|
@ -296,13 +297,15 @@ class GceInventory(object):
|
||||||
self.config.get('gce','gce_service_account_email_address'),
|
self.config.get('gce','gce_service_account_email_address'),
|
||||||
self.config.get('gce','gce_service_account_pem_file_path')
|
self.config.get('gce','gce_service_account_pem_file_path')
|
||||||
]
|
]
|
||||||
kwargs = {'project': self.config.get('gce', 'gce_project_id')}
|
kwargs = {'project': self.config.get('gce', 'gce_project_id'),
|
||||||
|
'datacenter': self.config.get('gce', 'gce_zone')}
|
||||||
|
|
||||||
# If the appropriate environment variables are set, they override
|
# If the appropriate environment variables are set, they override
|
||||||
# other configuration; process those into our args and kwargs.
|
# other configuration; process those into our args and kwargs.
|
||||||
args[0] = os.environ.get('GCE_EMAIL', args[0])
|
args[0] = os.environ.get('GCE_EMAIL', args[0])
|
||||||
args[1] = os.environ.get('GCE_PEM_FILE_PATH', args[1])
|
args[1] = os.environ.get('GCE_PEM_FILE_PATH', args[1])
|
||||||
kwargs['project'] = os.environ.get('GCE_PROJECT', kwargs['project'])
|
kwargs['project'] = os.environ.get('GCE_PROJECT', kwargs['project'])
|
||||||
|
kwargs['datacenter'] = os.environ.get('GCE_ZONE', kwargs['datacenter'])
|
||||||
|
|
||||||
# Retrieve and return the GCE driver.
|
# Retrieve and return the GCE driver.
|
||||||
gce = get_driver(Provider.GCE)(*args, **kwargs)
|
gce = get_driver(Provider.GCE)(*args, **kwargs)
|
||||||
|
|
Loading…
Reference in a new issue