Skip to content

Commit

Permalink
AWS S3: fix method call for fakes3 S3 backend (ansible#33085)
Browse files Browse the repository at this point in the history
* AWS S3: fix method call for fakes3 S3 backend

Fixes ansible#33083

Signed-off-by: Marc-Aurèle Brothier <[email protected]>

* Auto append port based on proto

Signed-off-by: Marc-Aurèle Brothier <[email protected]>
  • Loading branch information
marcaurele authored and s-hertel committed Nov 21, 2017
1 parent 07bb768 commit bd5dc01
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions lib/ansible/modules/cloud/amazon/aws_s3.py
Original file line number Diff line number Diff line change
Expand Up @@ -555,15 +555,19 @@ def get_s3_connection(module, aws_connect_kwargs, location, rgw, s3_url):
rgw = urlparse(s3_url)
params = dict(module=module, conn_type='client', resource='s3', use_ssl=rgw.scheme == 'https', region=location, endpoint=s3_url, **aws_connect_kwargs)
elif is_fakes3(s3_url):
for kw in ['is_secure', 'host', 'port'] and list(aws_connect_kwargs.keys()):
del aws_connect_kwargs[kw]
fakes3 = urlparse(s3_url)
port = fakes3.port
if fakes3.scheme == 'fakes3s':
protocol = "https"
if port is None:
port = 443
else:
protocol = "http"
params = dict(service_name='s3', endpoint_url="%s://%s:%s" % (protocol, fakes3.hostname, to_text(fakes3.port)),
use_ssl=fakes3.scheme == 'fakes3s', region_name=None, **aws_connect_kwargs)
if port is None:
port = 80
params = dict(module=module, conn_type='client', resource='s3', region=location,
endpoint="%s://%s:%s" % (protocol, fakes3.hostname, to_text(port)),
use_ssl=fakes3.scheme == 'fakes3s', **aws_connect_kwargs)
elif is_walrus(s3_url):
walrus = urlparse(s3_url).hostname
params = dict(module=module, conn_type='client', resource='s3', region=location, endpoint=walrus, **aws_connect_kwargs)
Expand Down

0 comments on commit bd5dc01

Please sign in to comment.