contrib(inventory): fix Scaleway inventory used w/env variable token (#35701)
In order to authenticate with the Scaleway API for the contrib dynamic inventory Scaleway the environment variable SCALEWAY_TOKEN was read only if a value was set in the configuration .ini file. This PR fixes that allowing to read only the environment variable without needing to set a token in the configuration file. Closes #35693
This commit is contained in:
parent
0de810fdf7
commit
ccdc93ab59
2 changed files with 10 additions and 2 deletions
|
@ -14,6 +14,9 @@ regions = par1
|
|||
# in order to generate inventory output.
|
||||
#
|
||||
[auth]
|
||||
# Token to authenticate with Scaleway's API.
|
||||
# If not defined will read the SCALEWAY_TOKEN environment variable
|
||||
#
|
||||
api_token = mysecrettoken
|
||||
|
||||
|
||||
|
|
|
@ -152,8 +152,13 @@ def generate_inv_from_api(config):
|
|||
try:
|
||||
inventory['all'] = copy.deepcopy(EMPTY_GROUP)
|
||||
|
||||
auth_token = env_or_param(
|
||||
'SCALEWAY_TOKEN', config.get('auth', 'api_token'))
|
||||
if config.has_option('auth', 'api_token'):
|
||||
auth_token = config.get('auth', 'api_token')
|
||||
auth_token = env_or_param('SCALEWAY_TOKEN', param=auth_token)
|
||||
if auth_token is None:
|
||||
sys.stderr.write('ERROR: missing authentication token for Scaleway API')
|
||||
sys.exit(1)
|
||||
|
||||
if config.has_option('compute', 'regions'):
|
||||
regions = config.get('compute', 'regions')
|
||||
if regions == 'all':
|
||||
|
|
Loading…
Reference in a new issue