mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
parent
861779bb6e
commit
d21a0287a2
1 changed files with 3 additions and 13 deletions
|
@ -118,8 +118,7 @@ import hashlib
|
|||
try:
|
||||
import boto
|
||||
except ImportError:
|
||||
print "failed=True msg='boto required for this module'"
|
||||
sys.exit(1)
|
||||
module.fail_json(msg="boto required for this module")
|
||||
|
||||
def key_check(module, s3, bucket, obj):
|
||||
try:
|
||||
|
@ -140,7 +139,6 @@ def keysum(module, s3, bucket, obj):
|
|||
etag_multipart = md5_remote.find('-')!=-1 #Check for multipart, etag is not md5
|
||||
if etag_multipart is True:
|
||||
module.fail_json(msg="Files uploaded with multipart of s3 are not supported with checksum, unable to compute checksum.")
|
||||
sys.exit(0)
|
||||
return md5_remote
|
||||
|
||||
def bucket_check(module, s3, bucket):
|
||||
|
@ -195,7 +193,6 @@ def upload_file_check(src):
|
|||
file_exists is False
|
||||
if os.path.isdir(src):
|
||||
module.fail_json(msg="Specifying a directory is not a valid source for upload.", failed=True)
|
||||
sys.exit(0)
|
||||
return file_exists
|
||||
|
||||
def path_check(path):
|
||||
|
@ -211,7 +208,6 @@ def upload_s3file(module, s3, bucket, obj, src, expiry):
|
|||
key.set_contents_from_filename(src)
|
||||
url = key.generate_url(expiry)
|
||||
module.exit_json(msg="PUT operation complete", url=url, changed=True)
|
||||
sys.exit(0)
|
||||
except s3.provider.storage_copy_error, e:
|
||||
module.fail_json(msg= str(e))
|
||||
|
||||
|
@ -221,7 +217,6 @@ def download_s3file(module, s3, bucket, obj, dest):
|
|||
key = bucket.lookup(obj)
|
||||
key.get_contents_to_filename(dest)
|
||||
module.exit_json(msg="GET operation complete", changed=True)
|
||||
sys.exit(0)
|
||||
except s3.provider.storage_copy_error, e:
|
||||
module.fail_json(msg= str(e))
|
||||
|
||||
|
@ -231,7 +226,6 @@ def download_s3str(module, s3, bucket, obj):
|
|||
key = bucket.lookup(obj)
|
||||
contents = key.get_contents_as_string()
|
||||
module.exit_json(msg="GET operation complete", contents=contents, changed=True)
|
||||
sys.exit(0)
|
||||
except s3.provider.storage_copy_error, e:
|
||||
module.fail_json(msg= str(e))
|
||||
|
||||
|
@ -241,7 +235,6 @@ def get_download_url(module, s3, bucket, obj, expiry, changed=True):
|
|||
key = bucket.lookup(obj)
|
||||
url = key.generate_url(expiry)
|
||||
module.exit_json(msg="Download url:", url=url, expiry=expiry, changed=changed)
|
||||
sys.exit(0)
|
||||
except s3.provider.storage_response_error, e:
|
||||
module.fail_json(msg= str(e))
|
||||
|
||||
|
@ -312,13 +305,11 @@ def main():
|
|||
bucketrtn = bucket_check(module, s3, bucket)
|
||||
if bucketrtn is False:
|
||||
module.fail_json(msg="Target bucket cannot be found", failed=True)
|
||||
sys.exit(0)
|
||||
|
||||
# Next, we check to see if the key in the bucket exists. If it exists, it also returns key_matches md5sum check.
|
||||
keyrtn = key_check(module, s3, bucket, obj)
|
||||
if keyrtn is False:
|
||||
module.fail_json(msg="Target key cannot be found", failed=True)
|
||||
sys.exit(0)
|
||||
|
||||
# If the destination path doesn't exist, no need to md5um etag check, so just download.
|
||||
pathrtn = path_check(dest)
|
||||
|
@ -367,7 +358,6 @@ def main():
|
|||
pathrtn = path_check(src)
|
||||
if pathrtn is False:
|
||||
module.fail_json(msg="Local object for PUT does not exist", failed=True)
|
||||
sys.exit(0)
|
||||
|
||||
# Lets check to see if bucket exists to get ground truth.
|
||||
bucketrtn = bucket_check(module, s3, bucket)
|
||||
|
@ -452,7 +442,6 @@ def main():
|
|||
module.fail_json(msg="Key %s does not exist."%obj, failed=True)
|
||||
else:
|
||||
module.fail_json(msg="Bucket and Object parameters must be set", failed=True)
|
||||
sys.exit(0)
|
||||
|
||||
if mode == 'getstr':
|
||||
if bucket and obj:
|
||||
|
@ -466,7 +455,8 @@ def main():
|
|||
else:
|
||||
module.fail_json(msg="Key %s does not exist."%obj, failed=True)
|
||||
|
||||
sys.exit(0)
|
||||
module.exit_json(failed=False)
|
||||
|
||||
|
||||
# this is magic, see lib/ansible/module_common.py
|
||||
#<<INCLUDE_ANSIBLE_MODULE_COMMON>>
|
||||
|
|
Loading…
Reference in a new issue