Commit graph

53 commits

Author SHA1 Message Date
Val Komarov
986d4064e9 Remove duplicate logic 2015-10-14 15:54:04 -04:00
Frank van Tol
a7667fcaf2 Update s3.py
We are copying from S3,  the bucket is the source, not the target.
2015-09-14 15:57:48 +02:00
Taneli Lepp
15f4b59619 Added option to set multiple ACLs for S3 objects. Also verifies the
selected permissions against Boto's canned ACL strings list.
2015-09-08 20:00:14 +03:00
Benno Joy
b5db274362 Merge pull request #1940 from jcowley/s3-permissions
Add support for S3 canned permissions. resolves #1939
2015-09-01 09:15:15 +05:30
Till Backhaus
39e7e05a8d Delete dead and broken code 2015-08-24 20:06:53 +02:00
Jason Cowley
8215aad3b3 Add support for S3 canned permissions. resolves #1939 2015-08-19 11:40:07 -07:00
James Cammarata
79f21c6ec9 Fix missing params to download_s3file in s3 2015-07-30 14:49:45 -04:00
James Cammarata
4c4e978360 Fixing s3 failures when bucket names contain dots 2015-07-30 13:47:01 -04:00
Brian Coca
92f32a0253 added version added to headers in s3 2015-07-28 14:50:39 -04:00
Brian Coca
4b78b5597f Merge pull request #160 from acaire/s3-headers
S3 headers
2015-07-28 14:48:51 -04:00
Feanil Patel
22461e335a If overwrite is set, download eagerly.
If the we are going to overwrite the file anyway,
there is no need to do any checksums locally or
grab the remote etag.
2015-07-24 10:44:05 -04:00
khassen
5f2b365faa Use the common/shared MD5 function. 2015-07-23 13:58:43 -07:00
ayush
3f7313cc43 Updated doc strings so each character isn't considered a line 2015-07-20 17:05:10 -07:00
Apoorva Kulkarni
c0e4c50eeb s3 module: Add missing version tag to "encrypt" parameter 2015-07-10 14:56:34 -07:00
Ash Caire
3ccf2e8a86 add headers param to s3 uploads 2015-06-30 23:04:15 +10:00
Toshio Kuratomi
406402bb26 Merge pull request #332 from proby/add-s3-list
Add support for listing keys in a specific S3 bucket
2015-06-30 04:58:58 -07:00
Patrick Roby
e90d02c35c iterate through all keys in a more pythonic manner 2015-06-25 10:37:17 -07:00
Patrick Roby
8ba96aaf4b update documentation, adding new params 2015-06-25 10:36:07 -07:00
Toshio Kuratomi
d824a7a9f5 Merge pull request #255 from SDFE/s3_connect_params
Use aws connect calls that allow boto profile use
2015-06-25 08:23:15 -07:00
Patrick Roby
00322c43fc Add support for listing keys in a specific S3 bucket
Includes support for specifying a prefix, marker, and/or max_keys. Returns a list of key names (as strings).
2015-06-24 12:18:23 -07:00
Greg DeKoenigsberg
28a869a030 Updating cloud modules with proper github author information 2015-06-15 14:41:22 -04:00
Tyler Cross
de617bb3ae Get specific object version with S3 module.
- allow specifying version for mode=get and mode=getstr
- when version specified doesn't exist give an error message that indicates so
2015-06-15 07:43:29 -04:00
Brian Coca
acfa1b4c39 Merge pull request #1464 from qrtt1/devel
Prevent s3 module getting the memory-error from uploading or downloading a large file
2015-06-12 13:53:50 -04:00
Bruce Pennypacker
51bc602f42 Added delobj command to delete an object within a bucket 2015-06-11 13:43:15 +00:00
Ching Yi, Chan
1517ae8ab2 Refactoring for easier to read 2015-06-05 23:29:11 +08:00
Ching Yi, Chan
ed5ea7e921 Prevent memory-error from a large file 2015-06-04 14:28:57 +08:00
tedder
b138411671 feature pull request: catch and retry recoverable errors
boto can throw SSLError when timeouts occur (among other SSL errors). Catch these so proper JSON can be returned, and also add the ability to retry the operation.

There's an open issue in boto for this: https://github.com/boto/boto/issues/2409

Here's a sample stacktrace that inspired me to work on this. I'm on 1.7, but there's no meaningful differences in the 1.8 release that would affect this. I've added line breaks to the trace for readability.

    failed to parse: Traceback (most recent call last):
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 2031, in <module> main()
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 353, in main download_s3file(module, s3, bucket, obj, dest)
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 234, in download_s3file key.get_contents_to_filename(dest)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1665, in get_contents_to_filename response_headers=response_headers)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1603, in get_contents_to_file response_headers=response_headers)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1435, in get_file query_args=None)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1488, in _get_file_internal for bytes in self:
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 368, in next data = self.resp.read(self.BufferSize)
      File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 416, in read return httplib.HTTPResponse.read(self, amt)
      File "/usr/lib/python2.7/httplib.py", line 567, in read s = self.fp.read(amt)
      File "/usr/lib/python2.7/socket.py", line 380, in read data = self._sock.recv(left)
      File "/usr/lib/python2.7/ssl.py", line 341, in recv return self.read(buflen)
      File "/usr/lib/python2.7/ssl.py", line 260, in read return self._sslobj.read(len) ssl.SSLError: The read operation timed out
2015-06-01 16:09:20 -07:00
Benno Joy
4e206e3790 Fixes issue 1197 for s3 module, where the file gets downloaded even if checksums match 2015-06-01 15:52:39 -07:00
billwanjohi
40eef6c3ec s3 put: add support for server-side encryption
- added 'encrypt' boolean option
- reordered module options alphanumerically
2015-05-27 16:00:01 +00:00
Toshio Kuratomi
5f9592248a Minor fixups found during review of #582 2015-05-27 07:03:29 -07:00
Toshio Kuratomi
dcc04f9505 Merge branch 's3_retry' of https://github.com/stansonhealth/ansible-modules-core into stansonhealth-s3_retry
Conflicts:
	cloud/amazon/s3.py
2015-05-27 06:55:33 -07:00
Benno Joy
ed62de6d3c Fixes issue 1197 for s3 module, where the file gets downloaded even if checksums match 2015-05-14 09:03:50 +05:30
Brian Coca
0e23dd6c55 avoid exception when boto is not available 2015-04-24 11:03:36 -04:00
Dan Abel
c5f5dfd8a0 use aws connect calls that allow boto profile use 2015-04-02 10:51:18 +01:00
steenzout
d960dc1584 issue #994: use HAS_BOTO to determine if import was successful:
- removed import of sys module.
- HAS_BOTO constant to check if import was successful.
- trigger a failure when import fails.
- removed unnecessary imports.
2015-04-01 17:31:10 -06:00
Mick Bass
7de97864be clean rebase of https://github.com/ansible/ansible-modules-core/pull/1024 on a new branch 2015-03-29 21:56:44 -06:00
Brian Coca
8c80900fef removed requirements/boto as it broke documentation as it is duplicated in shared aws fragements 2015-03-29 17:08:08 -04:00
Brian Coca
feb5144c71 Merge pull request #1021 from defionscode/s3_conn
allow boto profile use with s3
2015-03-29 10:08:54 -04:00
Kohei YOSHIDA
8ab812c242 support secure connection on fakes3 2015-03-28 23:31:53 +09:00
Jonathan Davila
611165a77e allow boto profile use with s3 2015-03-28 10:17:12 -04:00
Mick Bass
64a2077787 Add support for AWS Security Token Service (temporary credentials) to all AWS cloud modules. 2015-03-26 22:44:56 -06:00
Brian Coca
e5ed49d6c7 added patch to workaround some s3 connection faliures 2015-03-26 11:23:32 -04:00
Brian Coca
6570d48657 refactrored connection exception handling, added check to see if we actually get a connection before proceeding
Fixes #964
2015-03-25 21:40:13 -04:00
Alex Rowley
7d6cd3baaa cloud/amazon/s3: update documentation
update description to show that module can do more than just put files into s3
2015-03-13 21:08:30 +00:00
Toshio Kuratomi
974075277d Also don't fail if files are different and overwrite is false for uploads (this mimics copy and template).
Related to #489
2015-03-11 08:59:38 -07:00
Toshio Kuratomi
47c6dae9f3 Merge pull request #490 from pgehres/devel
Issue #489: s3 should not fail on checksum mismtach when overwrite=no
2015-03-11 08:22:23 -07:00
Michael Laccetti
5e7605475d Moving the import to the top of the file and getting rid of the redundancy
I sure do wish I knew where the whitespace change was coming from, though. Frustrating.
2015-03-02 20:12:54 -05:00
Michael Laccetti
60e2e43f00 Change s3 to use connect_to_region
* Allows us to use Ansible/s3 for GovCloud when accessing a pre-existing bucket
2015-02-25 08:46:13 -05:00
tedder
c5fe40661d feature pull request: catch and retry recoverable errors
boto can throw SSLError when timeouts occur (among other SSL errors). Catch these so proper JSON can be returned, and also add the ability to retry the operation.

There's an open issue in boto for this: https://github.com/boto/boto/issues/2409

Here's a sample stacktrace that inspired me to work on this. I'm on 1.7, but there's no meaningful differences in the 1.8 release that would affect this. I've added line breaks to the trace for readability.

    failed to parse: Traceback (most recent call last):
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 2031, in <module> main()
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 353, in main download_s3file(module, s3, bucket, obj, dest)
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 234, in download_s3file key.get_contents_to_filename(dest)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1665, in get_contents_to_filename response_headers=response_headers)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1603, in get_contents_to_file response_headers=response_headers)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1435, in get_file query_args=None)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1488, in _get_file_internal for bytes in self:
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 368, in next data = self.resp.read(self.BufferSize)
      File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 416, in read return httplib.HTTPResponse.read(self, amt)
      File "/usr/lib/python2.7/httplib.py", line 567, in read s = self.fp.read(amt)
      File "/usr/lib/python2.7/socket.py", line 380, in read data = self._sock.recv(left)
      File "/usr/lib/python2.7/ssl.py", line 341, in recv return self.read(buflen)
      File "/usr/lib/python2.7/ssl.py", line 260, in read return self._sslobj.read(len) ssl.SSLError: The read operation timed out
2014-12-29 17:19:12 -08:00
Peter Gehres
05ca85a172 Issue #489: s3 should not fail on checksum mismtach when overwrite=no 2014-12-10 10:50:16 -08:00