mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
[AWS] Add Ansible Version to botocore user agent string (#39993)
Pull `config` out if it was provided to boto3_conn and add the useragent string
This commit is contained in:
parent
677fe1076d
commit
dda7d9e704
3 changed files with 22 additions and 9 deletions
1
lib/ansible/module_utils/ansible_release.py
Symbolic link
1
lib/ansible/module_utils/ansible_release.py
Symbolic link
|
@ -0,0 +1 @@
|
|||
../release.py
|
|
@ -29,6 +29,7 @@
|
|||
import os
|
||||
import re
|
||||
|
||||
from ansible.module_utils.ansible_release import __version__
|
||||
from ansible.module_utils._text import to_native, to_text
|
||||
from ansible.module_utils.cloud import CloudRetry
|
||||
from ansible.module_utils.six import string_types, binary_type, text_type
|
||||
|
@ -126,15 +127,24 @@ def _boto3_conn(conn_type=None, resource=None, region=None, endpoint=None, **par
|
|||
'the conn_type parameter in the boto3_conn function '
|
||||
'call')
|
||||
|
||||
if conn_type == 'resource':
|
||||
resource = boto3.session.Session(profile_name=profile).resource(resource, region_name=region, endpoint_url=endpoint, **params)
|
||||
return resource
|
||||
elif conn_type == 'client':
|
||||
client = boto3.session.Session(profile_name=profile).client(resource, region_name=region, endpoint_url=endpoint, **params)
|
||||
return client
|
||||
if params.get('config'):
|
||||
config = params.pop('config')
|
||||
config.user_agent_extra = 'Ansible/{0}'.format(__version__)
|
||||
else:
|
||||
client = boto3.session.Session(profile_name=profile).client(resource, region_name=region, endpoint_url=endpoint, **params)
|
||||
resource = boto3.session.Session(profile_name=profile).resource(resource, region_name=region, endpoint_url=endpoint, **params)
|
||||
config = botocore.config.Config(
|
||||
user_agent_extra='Ansible/{0}'.format(__version__),
|
||||
)
|
||||
session = boto3.session.Session(
|
||||
profile_name=profile,
|
||||
)
|
||||
|
||||
if conn_type == 'resource':
|
||||
return session.resource(resource, config=config, region_name=region, endpoint_url=endpoint, **params)
|
||||
elif conn_type == 'client':
|
||||
return session.client(resource, config=config, region_name=region, endpoint_url=endpoint, **params)
|
||||
else:
|
||||
client = session.client(resource, region_name=region, endpoint_url=endpoint, **params)
|
||||
resource = session.resource(resource, region_name=region, endpoint_url=endpoint, **params)
|
||||
return client, resource
|
||||
|
||||
|
||||
|
|
|
@ -319,7 +319,9 @@ def walk_test_targets(path=None, module_path=None, extensions=None, prefix=None,
|
|||
file_path = os.path.join(root, file_name)
|
||||
|
||||
if os.path.islink(file_path):
|
||||
continue
|
||||
# special case to allow a symlink of ansible_release.py -> ../release.py
|
||||
if file_path != 'lib/ansible/module_utils/ansible_release.py':
|
||||
continue
|
||||
|
||||
yield TestTarget(file_path, module_path, prefix, path)
|
||||
|
||||
|
|
Loading…
Reference in a new issue